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.
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.
\[p_{i}^{tmsr}(t) = p_{i}(t_0) * \dfrac{s_i(t)}{s_i(t_0)}\]
where:
We define the “Technology Market Share Ratio” as:
\[\dfrac{s_i(t)}{s_i(t_0)}\]
\[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:
We define the “Sector Market Share Percentage” as:
\[\dfrac{s_i(t)-s_i(t_0)}{S(t_0)}\]
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.
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: 217 × 28
#> id_loan id_direct_loanta… name_direct_loan… id_intermediate… name_intermedia…
#> <chr> <chr> <chr> <chr> <chr>
#> 1 L6 C304 Yukon Developmen… <NA> <NA>
#> 2 L13 C297 Yuba City Cogene… <NA> <NA>
#> 3 L20 C287 Ytl Powerseraya … <NA> <NA>
#> 4 L21 C286 Ytl Power Intern… <NA> <NA>
#> 5 L22 C285 Ytl Corp Bhd <NA> <NA>
#> 6 L23 C283 Ypic Internation… <NA> <NA>
#> 7 L24 C282 Ypfb Corporacion <NA> <NA>
#> 8 L25 C281 Ypf Sa <NA> <NA>
#> 9 L26 C280 Ypf Energia Elec… <NA> <NA>
#> 10 L27 C278 Younicos Ag <NA> <NA>
#> # … with 207 more rows, and 23 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>, …
# portfolio level targets
scenario <- r2dii.data::scenario_demo_2020
regions <- r2dii.data::region_isos_demo
matched %>% target_market_share(ald, scenario, regions)
#> # A tibble: 2,334 × 8
#> sector technology year region scenario_source metric production
#> <chr> <chr> <int> <chr> <chr> <chr> <dbl>
#> 1 automotive electric 2020 global demo_2020 projected 324592.
#> 2 automotive electric 2020 global demo_2020 target_cps 324592.
#> 3 automotive electric 2020 global demo_2020 target_sds 324592.
#> 4 automotive electric 2020 global demo_2020 target_sps 324592.
#> 5 automotive electric 2021 global demo_2020 projected 339656.
#> 6 automotive electric 2021 global demo_2020 target_cps 329191.
#> 7 automotive electric 2021 global demo_2020 target_sds 352505.
#> 8 automotive electric 2021 global demo_2020 target_sps 330435.
#> 9 automotive electric 2022 global demo_2020 projected 354720.
#> 10 automotive electric 2022 global demo_2020 target_cps 333693.
#> # … with 2,324 more rows, and 1 more variable: technology_share <dbl>
matched %>% target_market_share(ald, 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: 32,946 × 9
#> sector technology year region scenario_source name_ald metric production
#> <chr> <chr> <int> <chr> <chr> <chr> <chr> <dbl>
#> 1 automotive electric 2020 global demo_2020 toyota … proje… 324592.
#> 2 automotive electric 2020 global demo_2020 toyota … targe… 324592.
#> 3 automotive electric 2020 global demo_2020 toyota … targe… 324592.
#> 4 automotive electric 2020 global demo_2020 toyota … targe… 324592.
#> 5 automotive electric 2021 global demo_2020 toyota … proje… 339656.
#> 6 automotive electric 2021 global demo_2020 toyota … targe… 329191.
#> 7 automotive electric 2021 global demo_2020 toyota … targe… 352505.
#> 8 automotive electric 2021 global demo_2020 toyota … targe… 330435.
#> 9 automotive electric 2022 global demo_2020 toyota … proje… 354720.
#> 10 automotive electric 2022 global demo_2020 toyota … targe… 333693.
#> # … with 32,936 more rows, and 1 more variable: technology_share <dbl>