News

Merger & Acquisition in Africa and South Africa

Image
Image
Africa is still the next big market for multinationals, even in the face of global economic uncertainty and political and regulatory issues. Economic growth continues due to the growing investment in private equity and the untapped markets provided by Africa’s growing middle class and Fintech and telecoms are still likely to be growth areas on the continent.

In the South African merger and acquisitions (M&A) space, an increase in share for share transactions is evidence of constraints on growth and a shortage of cash flow. The South African market is still somewhat depressed and current M&A activity is more focused on internal restructurings, consolidation and business rescue, as it waits for positive investor confidence post elections to translate into real gains. There has also been an increase in private equity and venture capital transactions rather than traditional M&A in the local market.

Following a decade of economic weakness, there were at least some recent positive signs that the South African economy has begun to regain lost ground and some of the issues that have constrained investment and confidence have begun to lift. The country should, all else being equal, be well poised to see an increase in M&A activity locally due to increased investor optimism. However, a slowdown in international M&A with a resultant slow-down of foreign direct investment (FDI) into Africa will mitigate these positive trends.

In the medium term, however, it is still likely that the remainder of the continent will provide better opportunities for foreign direct investment than South Africa does.

FDI in 2018 in South Africa were predominantly devoted to mining, petroleum refinery, food processing, information and communications technologies, and renewable energy, and the expectations is that this trend will continue.

China will still play a major part in investments in South Africa. Last year China committed to ZAR193 billion in new investments in the country. One of the biggest Chinese investments in South Africa was the recently-opened US$840 million (ZAR11 billion) BAIC vehicle plant at the Coega harbour.

Ninety-three economic and trade cooperation agreements between South African and Chinese entrepreneurs have been signed at a ceremony in Cape Town this June. According to the department of trade and industry the deals are worth in excess of ZAR27 billion.

Saudi Arabia said it would invest US$10 billion – specifically in the energy sector, including building refineries, petrochemicals and renewable energy. Among the companies that announced they would pump new money into South Africa, was Mercedes Benz, which said it would invest R10 billion.

Major deals in the pipeline that could significantly boost M&A in African deal flows, includes the Kenya NIC- CBA Merger and the South32- South Africa Energy Coal Sale.

Kenya’s NIC Bank will merge with the country’s biggest privately-owned bank, Commercial Bank of Africa (CBA), to create the third-biggest bank in the region.

In late 2017 South32 announced its intention to sell off its coal division with the aim of transforming the shareholding of the company in accordance with its commitment to economic transformation. In January South32 announced that it would be considering bids for South Africa Energy Coal by end of June 2019.

Another deal is UK-based Anglo African Agriculture, which has announced plans to acquire the entire issued share capital of a number of companies within Kenyan marine and port logistics firm, Comarco Group after it signed conditional share purchase agreements in June 2019. The consideration will be Ksh 3 billion (US$30 million).

Fintech and telecoms will continue to be a big driver in Africa as digitalisation transforms traditional banks, enables new entrants into the industry, cryptocurrencies disrupt established systems, as well as the development of new financing solutions for small and medium sized enterprises. Digitalisation in the agricultural sectors also provides exciting opportunities as developments in technology give new opportunities to modernise and optimise agriculture.

Error while rendering the view [Custom Container] Please, make sure the rendering is configured properly or contact your administrator.

  • System.Web.HttpUnhandledException (0x80004005): An unhandled exception occurred. ---> Sitecore.ContentSearch.Exceptions.IndexNotFoundException: Index (EMPTY) was not found
  • at Sitecore.ContentSearch.ContentSearchManager.GetIndex(String name)
  • at Sitecore.ContentSearch.Client.Pipelines.ParseDataSource.GetDataSourceItemByQuery.CreateSearchContext(ParseDataSourceArgs args)
  • at Sitecore.ContentSearch.Client.Pipelines.ParseDataSource.GetDataSourceItemByQuery.Process(ParseDataSourceArgs args)
  • at (Object , Object )
  • at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, Boolean failIfNotExists)
  • at Sitecore.Pipelines.ParseDataSource.ParseDataSourcePipeline.Run(BaseCorePipelineManager pipelineManager, Database database, String dataSource, Item relativeRootItem)
  • at Sitecore.Mvc.Data.ItemLocator.GetItemsFromDataSource(String dataSource, Item relativeRootItem)
  • at Sitecore.Mvc.Presentation.Rendering.GetStaticItem()
  • at Sitecore.Mvc.Presentation.Rendering.get_StaticItem()
  • at Sitecore.Mvc.Presentation.Rendering.get_Item()
  • at Sitecore.Mvc.Pipelines.Response.GetRenderer.GetItemRenderer.GetItemToRender(Rendering rendering, GetRendererArgs args)
  • at Sitecore.Mvc.Pipelines.Response.GetRenderer.GetItemRenderer.GetRenderer(Rendering rendering, GetRendererArgs args)
  • at Sitecore.Mvc.Pipelines.Response.GetRenderer.GetItemRenderer.Process(GetRendererArgs args)
  • at (Object , Object )
  • at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
  • at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
  • at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs,TResult](String pipelineName, TArgs args, Func`2 resultGetter)
  • at Sitecore.Mvc.Presentation.Rendering.GetRenderer()
  • at Sitecore.Mvc.Presentation.Rendering.get_Renderer()
  • at Sitecore.Mvc.Presentation.Rendering.ToString()
  • at Sitecore.Mvc.Pipelines.Response.RenderRendering.InitializeProfiling.StartProfiling(RenderRenderingArgs args)
  • at Sitecore.Mvc.Pipelines.Response.RenderRendering.InitializeProfiling.Process(RenderRenderingArgs args)
  • at (Object , Object )
  • at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
  • at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
  • at Sitecore.Mvc.Pipelines.Response.RenderPlaceholder.PerformRendering.Render(String placeholderName, TextWriter writer, RenderPlaceholderArgs args)
  • at (Object , Object )
  • at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
  • at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
  • at Sitecore.Mvc.Helpers.SitecoreHelper.RenderPlaceholderCore(String placeholderName, TextWriter writer)
  • at Sitecore.Mvc.Helpers.SitecoreHelper.Placeholder(String placeholderName)
  • at ASP._Page_Views_Container_CustomContainer_cshtml.Execute() in c:\home\site\wwwroot\Views\Container\CustomContainer.cshtml:line 18
  • at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
  • at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
  • at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
  • at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
  • at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
  • at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
  • at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
  • at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
  • at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
  • at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.ShowErrorMessage(ExceptionContext exceptionContext, ExceptionArgs args)
  • at Sitecore.Mvc.Pipelines.MvcEvents.Exception.ShowAspNetErrorMessage.Process(ExceptionArgs args)
  • at (Object , Object )
  • at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain, Boolean failIfNotExists)
  • at Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args, String pipelineDomain)
  • at Sitecore.Mvc.Pipelines.PipelineService.RunPipeline[TArgs](String pipelineName, TArgs args)
  • at Sitecore.Mvc.Filters.PipelineBasedRequestFilter.OnException(ExceptionContext exceptionContext)
  • at System.Web.Mvc.ControllerActionInvoker.InvokeExceptionFilters(ControllerContext controllerContext, IList`1 filters, Exception exception)
  • at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
  • at System.Web.Mvc.Controller.ExecuteCore()
  • at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
  • at Sitecore.Mvc.Controllers.ControllerRunner.ExecuteController(Controller controller)
  • at Sitecore.Mvc.Controllers.ControllerRunner.Execute(TextWriter writer)
  • at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Render(Renderer renderer, TextWriter writer, RenderRenderingArgs args)
  • at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Process(RenderRenderingArgs args)
  • at HL.Foundation.ExceptionHandling.ExceptionHandlining.GetExceptionSafeViewRenderer.Process(RenderRenderingArgs args)

View more insights and analysis

Register now to receive personalized content and more!