[ad_1]
This story features EAGERS AUTOMOTIVE LIMITED. For more info SHARE ANALYSIS: APE
Brokers discuss the longer term strategy for Eagers Automotive and the impacts of shorter term vehicle supply issues.
-Adjustments to the Eagers Automotive portfolio
-Supply chain impacts upon vehicle availability
-The importance of scale
-Potential growth drivers
By Mark Woodruff
Some recent portfolio repositioning by car retail group Eagers Automotive ((APE)) has led to further broker commentary around overall strategy and shorter term vehicle supply issues.
The company intends to purchase the WFM Motors Canberra dealerships and properties for $205m in a deal estimated by Morgans to be 3% accretive for net earnings. The transaction is thought to provide an instant presence and scale in the Canberra market.
Last month, the Bill Buckle dealerships were sold for $92m, in-line with the company’s evolving preference for larger dealership sites that offer improved efficiencies, Ord Minnett commented at the time.
The broker now points to the longer term strategic impact of the WFM Motors transaction, such as creating a true national footprint. It’s felt this strategy was illustrated by the recent agreement with BYD Electric Vehicles (still subject to finalisation) to sell cars around Australia via Eagers Automotive dealerships.
Recycling capital from the Bill Buckle transaction allows for greater market consolidation opportunities and the expansion of easyauto123 (used cars) into the ACT, points out UBS.
After the proposed WFM Motors transaction, four brokers within the FNArena database have updated their research and retained their respective rating and target price for Eagers Automotive.
It appears the bigger picture at present for Eagers is access to new vehicles. Supply remains highly constrained and industry commentary points to this persisting through 2022, points out Morgans.
New vehicle supply
The key to near term earnings, says Credit Suisse, is the supply of new vehicles to the Australian market. It’s felt the main hitch to supply was the shortage of semi-conductors, even before the Russia/Ukraine crisis further impacted upon the supply chain.
Now the broker sees even greater risk to the supply chain from China’s ongoing zero-covid policy and the associated rolling lockdowns that impact upon manufacturing. While Taiwan and Korea are other notable manufacturers, given the starting point is an overall shortage, disruption to any of the regions is thought to create further problems.
In the absence of greater clarity around such risks, Credit Suisse retains its Neutral rating and 12-month price target of $14.60.
Looking at the supply shortage from another angle, UBS suggests the company’s strong order book and limited inventories should combine to support elevated profit margins through 2022. The broker retains its Buy rating and $18.35 target.
Morgans agrees with Credit Suisse that vehicle supply is a major swing factor for FY22. Nonetheless, the broker also believes supply dynamics will support higher gross profit margins for even longer than UBS forecast, to include FY23.
The importance of scale
Industry dynamics will support scale operators longer term, suggests Morgans.
While margins may normalise in the medium-term, the impact may be offset by further consolidation, explains the analyst.
In the case of Eagers, balance sheet strength, ongoing efficiencies and delivery of the used car strategy should also help stave off margin compression.
Outlook
The ongoing rationalisation of the company’s property portfolio, the earnings uplift as easyauto123 matures and further acquisition opportunities present growth drivers for Eagers Automotive, according to UBS.
Bell Potter expects the next potential share price catalyst will be a trading update at the company’s AGM in mid-May. The broker, not one of the seven updated daily in the FNArena database, retains its Buy rating and increases its target price to $17.25 from $16.75.
FNArena’s database has six broker ratings with five Buy ratings and one Hold rating and a consensus target price of $17.32, which suggests 22.5% upside to the last share price.
Find out why FNArena subscribers like the service so much: “Your Feedback (Thank You)” – Warning this story contains unashamedly positive feedback on the service provided.
FNArena is proud about its track record and past achievements: Ten Years On
Click to view our Glossary of Financial Terms
var fn_do_fb_login; var fn_check_login_state; var fn_get_fb_login_button; var fn_remove_fb_loading_btn; var fn_status_change_callback;
jQuery(document).ready(function(e){
window.fbAsyncInit = function() FB.init( appId : '2003222569780759', // dev version: 500318794096450 cookie : true, // Enable cookies to allow the server to access the session. xfbml : true, // Parse social plugins on this webpage. version : 'v4.0' // Use this Graph API version for this call. );
//check if all fb elements done rendering //========== fn_get_fb_login_button();
FB.Event.subscribe('xfbml.render', function(response) fn_remove_fb_loading_btn(); ); //==========
FB.getLoginStatus(function(response) // Called after the JS SDK has been initialized.
var fb_r = response;
if (fb_r && fb_r.status === 'connected')
get_detail_data(fb_r.authResponse.userID); // Returns the login status.
// logout function // FB.logout(function(response) // console.log('do logout'); // );
); ;
(function(d, s, id) var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); (document, 'script', 'facebook-jssdk'));
//fb functionality //======================================================= fn_check_login_state = function check_login_state() // Called when a person is finished with the Login Button.
//everytime event login triggered, reset the form fn_reset_form();
FB.getLoginStatus(function(response)
var status_change_callback = fn_status_change_callback(response);
if (status_change_callback)
FB.api('/me', function(response)
console.log(response);
);
);
//new function to do fb login - since might need a separate function //between checking and login fn_do_fb_login = function do_fb_login() { // Called when a person is finished with the Login Button.
//everytime event login triggered, reset the form fn_reset_form();
FB.getLoginStatus(function(response)
e('.form_loading').show();
var status_change_callback = fn_status_change_callback(response);
if (status_change_callback)
FB.api('/me', function(response)
console.log(response); set_detail_data_to_form_and_submit(response.id);
);
else
FB.login(function(fb_l_r)
if (fb_l_r.authResponse && fb_l_r.status == 'connected')
console.log(fb_l_r.authResponse.userID); set_detail_data_to_form_and_submit(fb_l_r.authResponse.userID);
else e('.form_loading').hide();
);
);
}
fn_status_change_callback = function status_change_callback(response) // Called with the results from FB.getLoginStatus().
var check_status;
console.log('status_change_callback'); console.log(response); // The current login status of the person.
if (response.status === 'connected') // Logged into your webpage and Facebook.
get_detail_data(response.id); check_status = true;
else // Not logged into your webpage or we are unable to tell.
console.log('facebook is not logged in'); check_status = false;
return check_status;
function get_detail_data(fb_id)
FB.api( '/'+fb_id+'/', fields: 'id,first_name,last_name,email', function (fb_r)
var fb_data_json = JSON.stringify(fb_r);
if (fb_r && !fb_r.error)
e('#fb_data').html(fb_data_json);
);
//it's kinda silly, but since fb is an async, cannot use passing parameter on a function like jquery //so instead put it on FB.api function set_detail_data_to_form_and_submit(fb_id)
e('.form_loading').show();
FB.api( '/'+fb_id+'/', fields: 'id,first_name,last_name,email', function (fb_r)
var fb_data_json = JSON.stringify(fb_r);
if (fb_r && !fb_r.error)
var fb_id = fb_r.id; var fb_firstname = fb_r.first_name; var fb_lastname = fb_r.last_name; var fb_email = fb_r.email;
e('.sns_facebook').val(1); e('.sns_facebook_id').val(fb_id);
e('#fb_data').html(fb_data_json); do_submit_form();
//no form_loading hide - we gonna lock the form IF it's success
else
e('.form_loading').hide();
);
fn_get_fb_login_button = function get_fb_login_button()
var html="
'+ ' '; e('.fb_button_placeholder').html(html);fn_remove_fb_loading_btn = function remove_fb_loading_btn()
e('.fb_loading_btn').hide(); e('.fb_login_wrapper').show();
fn_reset_form = function reset_form()
e('.sns_facebook').val(''); e('.sns_facebook_id').val(''); e('.form_loading').hide();
function do_submit_form()
var the_form = e('.formLogin:visible');
if (the_form.length)
var target_form = the_form[0]; target_form.submit();
else
console.log('form not exist');
//=======================================================
//initialize fn_reset_form();
});
[ad_2]
Source link