ESG Scores for M&A Targets

Hi,

How do I match my M&A deals screen with the targets ESG score? I would like to know the targets' ESG scores one year before the M&A deal (e.g. deal done in 2018, score for 2017).

I have done a screen of M&A deals made between 2010-2019 and need the targets ESG scores. However I cannot find an effective and quick way to do this.

Best Answer

  • Hi @hanken1,


    I wrote up an example file for you, you may find it attached. Sheet1 replicates your screen search similarly to how one may code it in python as per this article. Sheet2 uses the PermIDs in Sheet1 to give ESG data where available. I only used some ESG metrics as an example, but you can use any relevant one.

    To open the file, please rename it from 'ESG from Screener.txt' to 'ESG from Screener.xlsx'.


    ESG from Screener.txt


    This Excel Workbook's Sheet1 has the following code in cell A1:

    =TR("SCREEN(U(IN(DEALS)/*UNV:DEALSMNA*/), IN(TR.MnANationHQ,""FI""), BETWEEN(TR.MnARankDate,20100101,20190101)/*dt:Date*/, IN(TR.MnAPubStatus,""P""), CURN=USD)","TR.MnASDCDealNumber;TR.MnAAnnDate;TR.MnARankDate;TR.MnARankValueIncNetDebt(Scale=6);TR.M"&"nATarget;TR.MnATargetPermId;TR.MnATargetMacroInd;TR.MnATargetMidInd;TR.MnATargetNation;TR.MnAAcquiror;TR.MnAAcquirorPermId;TR.MnAAcquirorMacroInd;TR.MnAAcquirorMidInd;TR.MnAAcquirorNation;TR.MnATargetFinAdvisor(Concat='|');TR.MnAAcquirorFinAdvisor(Co"&"ncat='|');TR.MNADealId","CH=Fd")


    And the following in Sheet2's cell B1:

    =TR(Sheet1!F2:F192,"TR.RIC, TR.CommonName, TR.TRESGScore, TR.TRESGScore.date, TR.TRESGCScoreGrade, TR.TRESGCScoreGrade.date","Period=FY0 Frq=FY SDate=0 EDate=-4 CH=Fd RH=IN;fperiod",C2)

Answers

  • Hi @hanken1,


    You may search for historical ESG data such as 'TR.TRESGScore', 'TR.TRESGCScoreGrade', 'TR.AnalyticEnvControv', or 'TR.EnvMaterialsSourcing' among others (that you can find in the Data Item Browser - a good overview of which can be found here).

    This kind of search can be done for any chosen company; you may specify the company in question via its 'PermID' - which can be found in your M&A deals screen.


    Would you mind telling us where you are trying to collect such information? In Python? Excel?

    If in Python, you may want to use the Eikon Excel's Screener add-in (an example of which can be found here) to find the code needed to collect the data found in your M&A deals screen and then try the following as an example of how to collect the data you are looking for in CodeBook (a good overview of which can be found here):


    import refinitiv.dataplatform.eikon as ek
    ek.set_app_key('DEFAULT_CODE_BOOK_APP_KEY')

    test = ek.get_data("SCREEN(U(IN(DEALS)/*UNV:DEALSMNA*/), BETWEEN(TR.MnAAnnDate,20201217,20201218)/*dt:Date*/, IN(TR.MnAPubStatus,""P""), IN(TR.MnATargetRegionAndSubRegion,""WE"",""NM""), CURN=USD)",
                       ["TR.MnASDCDealNumber;TR.MnAAnnDate;TR.MnARankDate;TR.MnATarget;TR.MnATargetPermId;TR.MnATargetMacroInd;TR.MnATargetMidInd;TR.MnATargetNation;TR.MnAAcquiror;TR.MnAAcquirorPermId;TR.MnAAcquirorMacroInd;TR.MnAAcquirorMidInd;TR.MnAAcquirorNation;TR.MnATargetFinAdvisor(Concat='|');TR.MNADealId;TR.MnATargetRegionAndSubRegion(Concat='|')"])

    Companies = [str(i) for i in test[0]["Target PermID"]]
    Fields = ['TR.RIC',
              'TR.CommonName',
              'TR.HeadquartersCountry',
              'TR.TRBCEconomicSector',
              'TR.TRESGScore',
              'TR.TRESGScore.date',
              'TR.TRESGCScoreGrade',
              'TR.TRESGCScoreGrade.date',
              'TR.AnalyticEnvControv',
              'TR.AnalyticEnvControv.date',
              'TR.EnvMaterialsSourcing',
              'TR.EnvMaterialsSourcing.date']

    df, err = ek.get_data(instruments = Companies,
                          fields = Fields,
                          parameters = {'SDate' : '0',
                                        'EDate' : '-2',
                                        'Period' : 'FY0',
                                        'Frq' : 'FY'})

    df


    Note that - as per this example, not all companies have historical ESG data. The code above ought to return such data where available.

  • Hi,


    Thank you for the answer. I am using Excel so do you have any idea how to do it there? @jonathan.legrand