SDA Target Definition

The Sectoral Decarbonization Approach (SDA) is a method for setting corporate CO2 emissions intensity reduction targets in line with climate science. This method was developed by the Science-Based Targets Initiative (SBTI), an international initiative on science-based target setting for companies initiated by CDP, the United Nations Global Compact, the World Resources Institute (WRI), and the Worldwide Fund for Nature (WWF).

The following explains how this methodology is applied to homogeneous sectors (i.e. sectors with no technology-level scenario pathways).

The distance, $$d$$, between the company’s CO2 emissions intensity per unit production (or emissions factor) at a given base year, $$I^{Co}(t_0)$$, and the target average market intensity in 2050, $$I^{in}(t_{2050})$$ is calculated. The target intensity in 2050 is taken from a climate scenario:

$d^{Co} = I^{Co}(t_0) - I^{in}(t_{2050})$

The company’s market share parameter, $$m_y$$, is calculated. The company’s expected future activity, $$P^{Co}(t)$$ is divided by the sector’s future activity, $$P^{Sc}(t)$$ to reflect the expected forward-looking market share of the company. This is given as a ratio to the company’s base year market share, derived from its activity, $$P^{Co}(t_0)$$ divided by the sector’s activity in the same year, $$P^{Sc}(t_0)$$. In both cases the former is calculated per company, and the latter is determined from the climate scenario:

$m_y (t) = \dfrac{P^{Co}(t_0) / P^{Sc}(t_0)}{P^{Co}(t) / P^{Sc}(t)}$

It should be noted that this parameter does not capture the change in the market share of the company but rather the inverse. This is useful as it equates to a decreasing parameter when the company’s market share is increasing. This equates to larger reduction efforts when the companies market share is increasing over time.

The sector decarbonization factor, $$p_y$$, is then calculated. This variable captures the remaining effort needed from the market to meet the target in 2050, per year. Under the SDA assumptions the CO2 intensity for all companies in a sector converge in 2050. Thus, 100% of the expected decarbonization efforts are still to be met at the base year and 0% should be left at 2050. $$p_y$$ is defined as:

$p_y = \frac{I^{in}(t) - I^{Sc}(t_{2050})}{I^{in}(t_0) - I^{Sc}(t_{2050})}$

where $$I^{in}(t)$$ and $$I^{Sc}(t)$$ are the average market and scenario emission intensities respectively, at time $$t$$.

The company-level emission intensity target is then defined as: $I^{Target}(t) = d^{Co} * p_{y} (t) * m_{y} (t) * I^{Sc}(t_{2050})$ ## PACTA Assumptions

The SDA applied in PACTA differs slightly from the way it is applied by the SBTI. To align the approach with the bottom-up asset-level data implemented in the PACTA analysis, we make one assumption and one adjustment.

Assumption 1. Market share stays constant ($$m_y$$ = 1)

Due to the lack of quantitative data on the expected market share changes throughout the entire time horizon up to 2050. my is set to 1 for all years. Under the SBTI method for calculating $$m_{y}$$, there will be a higher intensity reduction target in cases where the absolute pathway of the sector exceeds the scenario target. This makes sense. However, applying this at company level is counter-intuitive:

Companies that decrease their market share would be allowed to have a higher CO2-Intensity than the average market actor. While, companies that are increasing their market share are forced to do more in terms of CO2-Intensity than ones whose market share remains constant. It follows that if a company reaches the targeted CO2-Intensity it would not be allowed to increase its share in the market. This is a desirable outcome.

Under this assumption, our target calculation reduces to:

$I^{Target}(t) = d^{Co} * p_{y} (t) * I^{Sc}(t_{2050})$

Adjustment 1. Adjust base year Sector Intensity to ensure consistent scope across company and benchmark

In both the SBTI and the PACTA methodology the target emissions for the sector are taken from climate scenarios. This is a global economy top-down approach which applies an absolute emissions value in the year 2050 and then coverts this to yearly emission intensities. However, a discrepancy arises between the IEA and PACTA’s approach to calculating the global base year and start year of analysis. This is caused by PACTA using bottom-up intensity data from asset-level data. Hence to reflect this difference, a rate of change, $$g(t)$$ is taken from the average sector CO2-intensity per unit of production in a specific year, $$t$$, compared to the base year, $$t_0$$. This ensures consistency in calculating CO2 intensity targets at any given time as the average sector intensity is calculated on a rolling basis based of real asset data. Any changes in sector intensity on a year to year basis will be reflected in the company intensity reduction target.

We define this factor:

$g(t) = \frac{I^{Sc}(t)}{I^{Sc}(t_0)}$

We apply this factor to the sector intensity in the base year based on the bottom-up asset-level data, giving: $I_{PACTA}^{in}(t_{2050}) = g(t_{2050}) * I_{ALD}^{in}(t_0)$ yielding the adjusted target equation:

$I^{Target}(t) = d^{Co} * p_{y} (t) * I_{PACTA}^{in}(t_{2050})$

The difference in data universes between 2DII’s data base and the IEA’s would make it unfair to compare portfolios to scenarios on the basis that there may be assets missing in the 2DII database. So, by using 2DII’s asset level data base to calculate a new portfolio sector intensity target then comparability is restored with the scenario.

The portfolio’s carbon intensity target is obtained by the weighted sum of all of the companies’ intensities at the base year. The weight is applied as the financial exposure the bank has to those companies. This can either be calculated from debt outstanding or credit limit.

Calculating SDA Targets

To calculate SDA targets you need to use the package r2dii.analysis and a number of datasets, including a “matched” dataset (loanbook + asset-level data) that you can get with the package r2dii.match. The datasets I use here come from the package r2dii.data; they are fake but show how you should structure your own data.

• Use packages.
library(r2dii.data)
library(r2dii.match)
library(r2dii.analysis)
• Match the loanbook to asset level data.
loanbook <- r2dii.data::loanbook_demo
ald <- r2dii.data::ald_demo

matched <- match_name(loanbook, ald) %>%
# WARNING: Remember to validate the output of match_name() before prioritize()
prioritize()

matched
#> # A tibble: 267 x 27
#>    id_loan id_direct_loant… name_direct_loa… id_intermediate… name_intermedia…
#>    <chr>   <chr>            <chr>            <chr>            <chr>
#>  1 L151    C168             Shaanxi Auto     <NA>             <NA>
#>  2 L152    C169             Shandong Auto    <NA>             <NA>
#>  3 L153    C170             Shandong Kama    <NA>             <NA>
#>  4 L154    C171             Shandong Tangju… <NA>             <NA>
#>  5 L155    C173             Shanghai Automo… <NA>             <NA>
#>  6 L156    C176             Shanxi Dayun     <NA>             <NA>
#>  7 L157    C178             Shenyang Polars… <NA>             <NA>
#>  8 L158    C180             Shuanghuan Auto  <NA>             <NA>
#>  9 L159    C182             Sichuan Auto     <NA>             <NA>
#> 10 L160    C184             Singulato        <NA>             <NA>
#> # … with 257 more rows, and 22 more variables: id_ultimate_parent <chr>,
#> #   name_ultimate_parent <chr>, loan_size_outstanding <dbl>,
#> #   loan_size_outstanding_currency <chr>, loan_size_credit_limit <dbl>,
#> #   loan_size_credit_limit_currency <chr>, sector_classification_system <chr>,
#> #   sector_classification_input_type <chr>,
#> #   sector_classification_direct_loantaker <dbl>, fi_type <chr>,
#> #   flag_project_finance_loan <chr>, name_project <lgl>,
#> #   lei_direct_loantaker <lgl>, isin_direct_loantaker <lgl>, id_2dii <chr>,
#> #   level <chr>, sector <chr>, sector_ald <chr>, name <chr>, name_ald <chr>,
#> #   score <dbl>, source <chr>
• Calculate SDA targets of CO2 emissions.
co2 <- r2dii.data::co2_intensity_scenario_demo

sda_target(matched, ald, co2)
#> # A tibble: 28 x 4
#> # Groups:   sector [1]
#>    sector  year emission_factor_name               emission_factor_value
#>    <chr>  <dbl> <chr>                                              <dbl>
#>  1 cement  2020 portfolio_weighted_emission_factor                 0.664
#>  2 cement  2020 portfolio_target_emission_factor                   0.669
#>  3 cement  2020 scenario_emission_factor                           0.7
#>  4 cement  2021 portfolio_weighted_emission_factor                 0.665
#>  5 cement  2021 portfolio_target_emission_factor                   0.612
#>  6 cement  2021 scenario_emission_factor                           0.64
#>  7 cement  2022 portfolio_weighted_emission_factor                 0.666
#>  8 cement  2022 portfolio_target_emission_factor                   0.555
#>  9 cement  2022 scenario_emission_factor                           0.580
#> 10 cement  2023 portfolio_weighted_emission_factor                 0.667
#> # … with 18 more rows