The goal of this article is to define the market-share-approach for allocating scenario efforts and to show how to calculate the market-share target for a given scenario.
Scenario market-shares
Say that you want to study how a portfolio would perform in a specific climate scenario. How can you allocate scenario efforts to the production profile of your portfolio? You can do that in two ways – by technology, or by sector.
1. Market-share by technology
We define the market-share by technology as:
\[p_{i}^{tmsr}(t) = p_{i}(t_{0}) + p_{i}(t_{0}) * \frac{s_i(t) - s_{i}(t_0)}{s_i(t_0)}\]
We can see that this reduces to:
\[p_{i}^{tmsr}(t) = p_{i}(t_{0}) \left(1 + \frac{s_i(t) - s_{i}(t_0)}{s_i(t_0)} \right) \\ p_{i}^{tmsr}(t) = p_{i}(t_{0}) \left(1 + \frac{s_i(t)}{s_i(t_0)} -1 \right) \\ p_{i}^{tmsr}(t) = p_{i}(t_{0}) * \frac{s_i(t)}{s_i(t_0)}\]
where:
- \(s_i(t)\) is the scenario production for technology \(i\) at time \(t\),
- \(p_{i}(t_0)\) is the production allocated to the portfolio for some technology, \(i\) at time \(t_0\), and
- \(p_{i}^{tmsr}(t)\) is the portfolio-specific target production for that technology.
We define the “Technology Market Share Ratio” as:
\[\dfrac{s_i(t)}{s_i(t_0)}\] This method is used to set targets for “decreasing” (ie. brown) technologies.
2. Market-share by sector
To calculate the market-share by sector, we use the initial production of both the portfolio and scenario at the sector-level instead. \[p_{i}^{smsp}(t) = p_{i}(t_0) +P(t_0) * \left( \dfrac{s_i(t)-s_i(t_0)}{S(t_0)}\right)\] where:
- \(P_i(t_0)\) is the portfolio’s total production in the sector at \(t_0\), and
- \(S(t_0)\) is the scenario total production at \(t_0\).
We define the “Sector Market Share Percentage” as:
\[\dfrac{s_i(t)-s_i(t_0)}{S(t_0)}\] This method is used to calculate targets for “increasing” (ie. green) technologies.
How to calculate market-share targets for a given scenario
To calculate market-share targets, you need to use the package r2dii.analysis and a number of datasets. One of those datasets is 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.
- Match the loanbook to asset level data.
loanbook <- r2dii.data::loanbook_demo
abcd <- r2dii.data::abcd_demo
matched <- match_name(loanbook, abcd) %>%
# WARNING: Remember to validate the output of match_name() before prioritize()
prioritize()
matched
#> # A tibble: 177 × 28
#> id_loan id_direct_loantaker name_direct_loantaker id_intermediate_pare…¹
#> <chr> <chr> <chr> <chr>
#> 1 L6 C304 Kassulke-Kassulke NA
#> 2 L13 C297 Ladeck NA
#> 3 L20 C287 Weinhold NA
#> 4 L21 C286 Gallo Group NA
#> 5 L22 C285 Austermuhle GmbH NA
#> 6 L24 C282 Ferraro-Ferraro Group NA
#> 7 L25 C281 Lockman, Lockman and Lock… NA
#> 8 L26 C280 Ankunding, Ankunding and … NA
#> 9 L27 C278 Donati-Donati Group NA
#> 10 L28 C276 Ferraro, Ferraro e Ferrar… NA
#> # ℹ 167 more rows
#> # ℹ abbreviated name: ¹id_intermediate_parent_1
#> # ℹ 24 more variables: name_intermediate_parent_1 <chr>,
#> # 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>, …
- Calculate market-share targets for production at the portfolio level.
# portfolio level targets
scenario <- r2dii.data::scenario_demo_2020
regions <- r2dii.data::region_isos_demo
matched %>% target_market_share(abcd, scenario, regions)
#> # A tibble: 1,076 × 10
#> sector technology year region scenario_source metric production
#> <chr> <chr> <int> <chr> <chr> <chr> <dbl>
#> 1 automotive electric 2020 global demo_2020 projected 145649.
#> 2 automotive electric 2020 global demo_2020 target_cps 145649.
#> 3 automotive electric 2020 global demo_2020 target_sds 145649.
#> 4 automotive electric 2020 global demo_2020 target_sps 145649.
#> 5 automotive electric 2021 global demo_2020 projected 147480.
#> 6 automotive electric 2021 global demo_2020 target_cps 146915.
#> 7 automotive electric 2021 global demo_2020 target_sds 153332.
#> 8 automotive electric 2021 global demo_2020 target_sps 147258.
#> 9 automotive electric 2022 global demo_2020 projected 149310.
#> 10 automotive electric 2022 global demo_2020 target_cps 148155.
#> # ℹ 1,066 more rows
#> # ℹ 3 more variables: technology_share <dbl>, scope <chr>,
#> # percentage_of_initial_production_by_scope <dbl>
- Calculate market-share targets for production at the company level.
matched %>% target_market_share(abcd, scenario, regions, by_company = TRUE)
#> Warning: You've supplied `by_company = TRUE` and `weight_production = TRUE`.
#> This will result in company-level results, weighted by the portfolio
#> loan size, which is rarely useful. Did you mean to set one of these
#> arguments to `FALSE`?
#> # A tibble: 14,505 × 11
#> sector technology year region scenario_source name_abcd metric production
#> <chr> <chr> <int> <chr> <chr> <chr> <chr> <dbl>
#> 1 automoti… electric 2020 global demo_2020 Bernardi… proje… 17951.
#> 2 automoti… electric 2020 global demo_2020 Bernardi… targe… 17951.
#> 3 automoti… electric 2020 global demo_2020 Bernardi… targe… 17951.
#> 4 automoti… electric 2020 global demo_2020 Bernardi… targe… 17951.
#> 5 automoti… electric 2020 global demo_2020 Christia… proje… 11471.
#> 6 automoti… electric 2020 global demo_2020 Christia… targe… 11471.
#> 7 automoti… electric 2020 global demo_2020 Christia… targe… 11471.
#> 8 automoti… electric 2020 global demo_2020 Christia… targe… 11471.
#> 9 automoti… electric 2020 global demo_2020 Donati, … proje… 5611.
#> 10 automoti… electric 2020 global demo_2020 Donati, … targe… 5611.
#> # ℹ 14,495 more rows
#> # ℹ 3 more variables: technology_share <dbl>, scope <chr>,
#> # percentage_of_initial_production_by_scope <dbl>