Covid-19 throws cold water on Brazil’s promising year for IPOs

12 March 2020

  • Market uncertainties may delay offerings
  • ‘Mini-IPOs’ less vulnerable
  • Infrastructure, technology, education, real estate had been in focus


The global market instability generated by the outbreak of Covid-19 is likely to lead a few Brazilian companies to postpone their IPO plans and follow-on offerings, throwing a bucket of cold water on what was expected to be a stellar first half of the year for the local equity capital markets, several sources told Mergermarket.


The combination of Brazil’s record-low interest rates, the reduced availability of loans from government sources, and investors´ rush to diversify their portfolios beyond fixed income instruments helped to create a wave of local companies registering as public companies at the local Securities and Exchange Commission (CVM) in the first two months of the year.


Under Brazilian corporate law, companies planning to issue securities must register as a public company.


Now, uncertainties surrounding the widening of the Covid-19 outbreak and its impact on the global economy are forcing some of these companies to review their strategies. “IPOs will be carried out only by companies that accept a huge price discount,” noted Eduardo Boulos, partner at local law firm Cascione Pulino Boulos Advogados.


Local banks Banco Daycoval and BV, shopping mall operator Almeida Junior and sportswear store chains Track & Field make up some of the companies that are likely to postpone their IPOs, according to local press reports. Fuel distributor Petrobras Distribuidora [B3: BRDT] and meatpacker JBS [B3: JBSS3] are also likely to delay their planned follow-on offerings, according to these reports.


Marcelo Hahn, CEO of local pharmaceutical company specializing in non-retail drugs Blau Farmaceutica, told this news service in February that he was “monitoring the market and the effects of the coronavirus on stock prices” before setting a date to resume its IPO plans or mandate banks for the process.


“In a perfect storm scenario that includes the coronavirus, an oil market crisis, US presidential elections and growing political noise in Brazil, the natural reaction is panic and paralysis,” noted Fernando Alves Meira, head of M&A at local law firm Pinheiro Neto Advogados.


This makes for disappointing news to many for a year that was poised to have even greater volumes in terms of IPOs and follow-on offerings than 2019.


Brazilian companies raised about BRL 89bn (USD 19.7bn) in 2019 through a mix of IPOs and follow-on offerings, according to Rogerio Santana, Head of Client Relationships at local stock exchange B3. The figure represents a historical high with the exception of 2010, when state-controlled Oil & Gas giant Petrobras [B3: PETR4] alone raised BRL 120bn through a follow-on offering.


Santana, who spoke to this news service on 3 March, before the Covid-19 crisis worsened, said he estimated that there were between 20 and 30 Brazilian companies with potential to register as public companies at CVM in the short-term. The Brazilian bourse B2 dropped 7.6% yesterday (11 March) to 85,171 points.


Despite being in the eye of the storm, smaller companies may find it less difficult to carry on with their IPO plans catering only to local investors, said Cristiana Pereira, director at ACE Governance, a local advisory firm that helps Brazilian companies go public.


The so-called “mini-IPOs” target the local investment community, represented by domestic-focused family offices and investment funds, as well as private banks and individual investors, and are less vulnerable to outside macroeconomic variables, Pereira noted.


She cautioned, though, that such companies, which tend to seek less than BRL 500m in an IPO, and usually around BRL 200m, are not entirely protected from risks.


Priner [B3: PRNR3], a Rio de Janeiro-based provider of construction services like painting, scaffolding and thermal insulation is an example of a company that fits in the “micro-IPO” category, Pereira pointed.


On 17 February, Priner raised about BRL 200m (USD 43m) in an IPO that priced its shares at BRL 10 apiece. On 10 March, its share price closed at BRL 13.40, according to financial fillings.


Flavio Machado, head of the Center for Board Matters (CBM) for Latin/South America at E&Y, said the drivers that encouraged various Brazilians companies to register as public companies and launch IPOs at the beginning of the year remain in place. If the Brazilian government and worldwide entities manage to curb the spread of Covid-19 in the next two months or so, there will likely be more IPO candidates emerging later this year, he added.


Machado noted that the depreciation of the local currency against the US dollar should also create good opportunities for foreign investors seeking to participate in IPOs of local companies that have good business models and strong fundamentals.


In fact, Machado with E&Y said he has not received any notice on IPO withdrawals since the outbreak of COVID-19. On the other hand, he has received a few inquiries from Brazilian companies over the last few weeks wishing to get prepared for an IPO.


Asked about sectors that could register new IPOs when and if market conditions improve, Machado pointed to infrastructure, technology, education and real estate as key industries.


There were four IPOs in Brazil in 1Q20, reaching a total deal value of USD 785m, according to Dealogic. Acuris and Dealogic are owned by ION Group. The companies that went public were: construction firm Mitre Realty [B3: MTRE3], internet service provider Locaweb [B3: LWSA3], real estate developer Moura Dubeux Engenharia [B3: MDNE3] and Priner [B3: PRNR3].


by Thiago Barrozo and Max Gonzales in Sao Paulo

[formidable id=1]
<div class="frm_forms with_frm_style frm_style_formidable-style" id="frm_form_1_container" > <form enctype="multipart/form-data" method="post" class="frm-show-form frm_pro_form frm_ajax_submit " id="form_popup-form" > <div class="frm_form_fields "> <fieldset> <legend class="frm_screen_reader">MergerMarket Subscribe Popup Form</legend> <div class="frm_fields_container"> <input type="hidden" name="frm_action" value="create" /> <input type="hidden" name="form_id" value="1" /> <input type="hidden" name="frm_hide_fields_1" id="frm_hide_fields_1" value="" /> <input type="hidden" name="form_key" value="popup-form" /> <input type="hidden" name="item_meta[0]" value="" /> <input type="hidden" id="frm_submit_entry_1" name="frm_submit_entry_1" value="ac54cee024" /><input type="hidden" name="_wp_http_referer" value="/covid-19-throws-cold-water-brazils-promising-year-ipos/" /><div id="frm_field_1_container" class="frm_form_field form-field frm_required_field frm_none_container frm_first frm_half"> <label for="field_qh4icy" id="field_qh4icy_label" class="frm_primary_label">First Name <span class="frm_required" aria-hidden="true">*</span> </label> <input type="text" id="field_qh4icy" name="item_meta[1]" value="" placeholder="Enter your first name" data-reqmsg="This field cannot be blank." aria-required="true" data-invmsg="Name is invalid" aria-invalid="false" /> </div> <div id="frm_field_2_container" class="frm_form_field form-field frm_required_field frm_none_container frm_half"> <label for="field_ocfup1" id="field_ocfup1_label" class="frm_primary_label">Last Name <span class="frm_required" aria-hidden="true">*</span> </label> <input type="text" id="field_ocfup1" name="item_meta[2]" value="" placeholder="Enter your last name" data-reqmsg="This field cannot be blank." aria-required="true" data-invmsg="Last is invalid" aria-invalid="false" /> </div> <div id="frm_field_3_container" class="frm_form_field form-field frm_required_field frm_none_container ion_email accepts_business_email"> <label for="field_29yf4d" id="field_29yf4d_label" class="frm_primary_label">Email <span class="frm_required" aria-hidden="true">*</span> </label> <input type="email" id="field_29yf4d" name="item_meta[3]" value="" placeholder="Enter your business email address" data-reqmsg="This field cannot be blank." aria-required="true" data-invmsg="Please enter a valid email address" aria-invalid="false" /> </div> <div id="frm_field_4_container" class="frm_form_field form-field frm_top_container ion_company frm_hidden"> <label for="field_e6lis6" id="field_e6lis6_label" class="frm_primary_label">Company <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_e6lis6" name="item_meta[4]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_6_container" class="frm_form_field form-field frm_top_container ion_country frm_hidden frm12 frm_first"> <label for="field_otmou" id="field_otmou_label" class="frm_primary_label">Country <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_otmou" name="item_meta[6]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_7_container" class="frm_form_field form-field frm_top_container ion_utm_source frm_hidden"> <label for="field_eljps" id="field_eljps_label" class="frm_primary_label">utm_source <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_eljps" name="item_meta[7]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_8_container" class="frm_form_field form-field frm_top_container ion_utm_medium frm_hidden"> <label for="field_a8lma" id="field_a8lma_label" class="frm_primary_label">utm_medium <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_a8lma" name="item_meta[8]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_9_container" class="frm_form_field form-field frm_top_container ion_utm_campaign frm_hidden"> <label for="field_ommom" id="field_ommom_label" class="frm_primary_label">utm_campaign <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_ommom" name="item_meta[9]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_10_container" class="frm_form_field form-field frm_top_container ion_utm_content frm_hidden"> <label for="field_6kbqu" id="field_6kbqu_label" class="frm_primary_label">utm_content <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_6kbqu" name="item_meta[10]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_11_container" class="frm_form_field form-field frm_top_container ion_page_title frm_hidden"> <label for="field_fpzuk" id="field_fpzuk_label" class="frm_primary_label">Page Title <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_fpzuk" name="item_meta[11]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_12_container" class="frm_form_field form-field frm_top_container ion_page_url frm_hidden"> <label for="field_aj7hq" id="field_aj7hq_label" class="frm_primary_label">Page URL <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_aj7hq" name="item_meta[12]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_13_container" class="frm_form_field form-field frm_top_container ion_zerobouncestatus frm_hidden"> <label for="field_mrpjd" id="field_mrpjd_label" class="frm_primary_label">ZeroBounceStatus <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_mrpjd" name="item_meta[13]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_14_container" class="frm_form_field form-field frm_top_container frm_hidden ion_gftracklabel"> <label for="field_dqw7i" id="field_dqw7i_label" class="frm_primary_label">GFTrackEvent <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_dqw7i" name="item_meta[14]" value="" data-invmsg="Subject is invalid" aria-invalid="false" /> </div> <div id="frm_field_15_container" class="frm_form_field form-field frm_top_container ion_ip_address frm_hidden"> <label for="field_nzvgf" id="field_nzvgf_label" class="frm_primary_label">IP Address <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_nzvgf" name="item_meta[15]" value="" data-frmval="" data-invmsg="Text is invalid" aria-invalid="false" /> </div> <div id="frm_field_16_container" class="frm_form_field form-field frm_top_container frm_hidden ion_landing_page"> <label for="field_182c0" id="field_182c0_label" class="frm_primary_label">Landing Page <span class="frm_required" aria-hidden="true"></span> </label> <input type="text" id="field_182c0" name="item_meta[16]" value="" data-invmsg="Text is invalid" aria-invalid="false" /> </div> <input type="hidden" name="item_key" value="" /> <div class="frm_verify" aria-hidden="true"> <label for="frm_email_1"> If you are human, leave this field blank. </label> <input type="text" class="frm_verify" id="frm_email_1" name="frm_verify" value="" /> </div> <input name="frm_state" type="hidden" value="s8xfwaaizpBMz99drxmiKuSCMAW8OnK3kRg5FhimaDA=" /><div class="frm_submit"> <button class="frm_button_submit frm_final_submit" type="submit" formnovalidate="formnovalidate">Submit</button> </div></div> </fieldset> </div> </form> </div>