Skip to content

Commit

Permalink
Update scorecard to use new SBTi calculations (#346)
Browse files Browse the repository at this point in the history
* Update English scorecard to new SBTi calculations

* Update DE and FR scorecard with English text

* Document

* Fix documentation
  • Loading branch information
MonikaFu authored Jul 2, 2024
1 parent 9269eae commit 14575e1
Show file tree
Hide file tree
Showing 9 changed files with 88 additions and 37 deletions.
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Description: This package contains plotting functions and a
License: MIT + file LICENSE
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.1
RoxygenNote: 7.3.2
Depends:
R (>= 2.10)
LazyData: true
Expand Down
3 changes: 3 additions & 0 deletions R/render_executive_summary.R
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#' @param exec_summary_dir Character single, valid filepath to a directory that contains the template, e.g. `system.file("extdata", "PA2022CH_en_exec_summary", package = "pacta.executive.summary")`
#' @param survey_dir Character single, valid filepath to a directory that contains the survey files for the user
#' @param score_card_dir Character single, valid filepath to a directory that contains score card files for the user
#' @param analysis_inputs_dir Character single, valid filepath to a PACTA analysis results directory that contains the SBTi data merged with financial data in the COP case
#' @param file_name Character single, valid filename of the Rmd template file, e.g. "template.Rmd"
#' @param investor_name Character single string specifying the investor name
#' @param portfolio_name Character single string specifying the portfolio name
Expand All @@ -25,6 +26,7 @@ render_executive_summary <- function(data,
exec_summary_dir,
survey_dir,
score_card_dir,
analysis_inputs_dir,
file_name = "template.Rmd",
investor_name,
portfolio_name,
Expand All @@ -42,6 +44,7 @@ render_executive_summary <- function(data,
params = list(
survey_dir = survey_dir,
score_card_dir = score_card_dir,
analysis_inputs_dir = analysis_inputs_dir,
language = language,
investor_name = investor_name,
portfolio_name = portfolio_name,
Expand Down
37 changes: 26 additions & 11 deletions inst/extdata/PA2024CH_de_exec_summary/scorecard.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -185,44 +185,59 @@ Dieser Score zeigt die geschätzte Gesamtausrichtung der PACTA-Sektoren (ohne Ze
\subsection{Verifizierte Bekenntnisse zu Netto-Null}
Immer mehr Unternehmen bekennen sich freiwillig zu Netto-Null Emissionszielen und formulieren Zwischenziele. Die Wirksamkeit solcher Bekenntnisse hängt davon ab, ob die Zwischenziele glaubwürdig, wissenschaftlich fundiert und transparent sind. Die folgenden Informationen beruhen auf Angaben der SBTi \textbf{\href{https://sciencebasedtargets.org/companies-taking-action}{(link)}}.
Companies are increasingly committing voluntarily to transitioning to net zero and setting interim targets. The effectiveness of such commitments depends on whether interim emissions reduction targets applied are credible, science-based, transparent, and supported by credible action to cut emissions. The following information is based on information from SBTi \textbf{\href{https://sciencebasedtargets.org/companies-taking-action}{(link)}}.
```

```{r sbti_net_zero_commitments}
fin_data_net_zero_targets <- readr::read_csv(
file.path(score_card_dir, "fin_data_net_zero_targets.csv"),
file.path(analysis_inputs_dir, "fin_data_net_zero_targets.csv"),
col_types = readr::cols_only(
isin = "c",
asset_type = "c",
factset_entity_id = "c"
factset_entity_id = "c",
has_net_zero_commitment = "l"
)
)
peer_group_share_net_zero <- readr::read_csv(
file.path(score_card_dir, "peer_group_share_net_zero.csv"),
peers_net_zero_commitment <- readr::read_csv(
file.path(score_card_dir, "peers_sbti_results.csv"),
col_types = readr::cols_only(
investor_name = "c",
portfolio_name = "c",
share_net_zero = "n"
company_share_net_zero = "d",
exposure_share_net_zero = "d"
)
)
data_prep_net_zero_commitments <- prep_net_zero_commitments(
data_net_zero_commitments <- prep_net_zero_commitments(
total_portfolio = total_portfolio,
peer_group = peer_group,
net_zero_targets = fin_data_net_zero_targets,
peer_group_share_net_zero = peer_group_share_net_zero
fin_data_net_zero_targets = fin_data_net_zero_targets,
peers_net_zero_commitment = peers_net_zero_commitment
)
portfolio_company_share_net_zero <- data_net_zero_commitments %>%
filter(.data$name == "company_share_net_zero") %>%
pull(.data$this_portfolio)
peers_company_share_net_zero <- data_net_zero_commitments %>%
filter(.data$name == "company_share_net_zero") %>%
pull(.data$peergroup)
portfolio_exposure_share_net_zero <- data_net_zero_commitments %>%
filter(.data$name == "exposure_share_net_zero") %>%
pull(.data$this_portfolio)
peers_exposure_share_net_zero <- data_net_zero_commitments %>%
filter(.data$name == "exposure_share_net_zero") %>%
pull(.data$peergroup)
```

```{=latex}
\begin{itemize}
\item Anteil Portfolio-Unternehmen mit verifizierten Bekenntnissen zu Netto-Null und glaubwürdigen Zwischenzielen: \textbf{`r round(data_prep_net_zero_commitments %>% dplyr::filter(.data$portfolio_name == "this_portfolio") %>% dplyr::pull("share_net_zero") * 100, 1)` \%}
\item Proportion of portfolio subject to public commitments to net zero and verified credible interim targets: \textbf{`r paste0(round(portfolio_exposure_share_net_zero * 100))` \% (Peers average: `r paste0(round(peers_exposure_share_net_zero * 100))` \%)}
\item Durchschnittlicher Anteil der Unternehmen in Peer-Portfolios mit verifizierten Bekenntnissen zu Netto-Null und glaubwürdigen Zwischenzielen: \textbf{`r round(data_prep_net_zero_commitments %>% dplyr::filter(.data$portfolio_name == peer_group) %>% dplyr::pull("share_net_zero") * 100, 1)` \%}
\item Share of companies in portfolio with verified commitments to net-zero and credible interim targets (as provided in the 2022 Swiss scorecard): \textbf{`r paste0(round(portfolio_company_share_net_zero * 100))` \% (Peers average: `r paste0(round(peers_company_share_net_zero * 100))` \%)}
\end{itemize}
```

Expand Down
1 change: 1 addition & 0 deletions inst/extdata/PA2024CH_de_exec_summary/template.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ always_allow_html: true
params:
survey_dir: NULL
score_card_dir: NULL
analysis_inputs_dir: NULL
language: EN
investor_name: investor
portfolio_name: portfolio
Expand Down
38 changes: 26 additions & 12 deletions inst/extdata/PA2024CH_en_exec_summary/scorecard.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -182,47 +182,61 @@ This score represents the estimated aggregate alignment of the PACTA sectors (ex

```{=latex}
\begin{multicols}{2}
%TODO: update depending on decision wrt SBTi
\subsection{Verified Commitments to Net-Zero}
Companies are increasingly making voluntary commitments to transition to net-zero and set interim targets. The effectiveness of such commitments depends on whether interim targets are credible, science-based, and transparent. The following information is based on information from \href{https://sciencebasedtargets.org/companies-taking-action}{SBTi}.
Companies are increasingly committing voluntarily to transitioning to net zero and setting interim targets. The effectiveness of such commitments depends on whether interim emissions reduction targets applied are credible, science-based, transparent, and supported by credible action to cut emissions. The following information is based on information from SBTi \textbf{\href{https://sciencebasedtargets.org/companies-taking-action}{(link)}}.
```

```{r sbti_net_zero_commitments}
fin_data_net_zero_targets <- readr::read_csv(
file.path(score_card_dir, "fin_data_net_zero_targets.csv"),
file.path(analysis_inputs_dir, "fin_data_net_zero_targets.csv"),
col_types = readr::cols_only(
isin = "c",
asset_type = "c",
factset_entity_id = "c"
factset_entity_id = "c",
has_net_zero_commitment = "l"
)
)
peer_group_share_net_zero <- readr::read_csv(
file.path(score_card_dir, "peer_group_share_net_zero.csv"),
peers_net_zero_commitment <- readr::read_csv(
file.path(score_card_dir, "peers_sbti_results.csv"),
col_types = readr::cols_only(
investor_name = "c",
portfolio_name = "c",
share_net_zero = "n"
company_share_net_zero = "d",
exposure_share_net_zero = "d"
)
)
data_prep_net_zero_commitments <- prep_net_zero_commitments(
data_net_zero_commitments <- prep_net_zero_commitments(
total_portfolio = total_portfolio,
peer_group = peer_group,
net_zero_targets = fin_data_net_zero_targets,
peer_group_share_net_zero = peer_group_share_net_zero
fin_data_net_zero_targets = fin_data_net_zero_targets,
peers_net_zero_commitment = peers_net_zero_commitment
)
portfolio_company_share_net_zero <- data_net_zero_commitments %>%
filter(.data$name == "company_share_net_zero") %>%
pull(.data$this_portfolio)
peers_company_share_net_zero <- data_net_zero_commitments %>%
filter(.data$name == "company_share_net_zero") %>%
pull(.data$peergroup)
portfolio_exposure_share_net_zero <- data_net_zero_commitments %>%
filter(.data$name == "exposure_share_net_zero") %>%
pull(.data$this_portfolio)
peers_exposure_share_net_zero <- data_net_zero_commitments %>%
filter(.data$name == "exposure_share_net_zero") %>%
pull(.data$peergroup)
```

```{=latex}
\begin{itemize}
\item Share of companies in portfolio with verified commitments to net-zero and credible near term targets: \textbf{`r round(data_prep_net_zero_commitments %>% dplyr::filter(.data$portfolio_name == "this_portfolio") %>% dplyr::pull("share_net_zero") * 100, 1)` \%}
\item Proportion of portfolio subject to public commitments to net zero and verified credible interim targets: \textbf{`r paste0(round(portfolio_exposure_share_net_zero * 100))` \% (Peers average: `r paste0(round(peers_exposure_share_net_zero * 100))` \%)}
\item Average share of companies in peer portfolios with verified commitments to net-zero and credible interim targets: \textbf{`r round(data_prep_net_zero_commitments %>% dplyr::filter(.data$portfolio_name == peer_group) %>% dplyr::pull("share_net_zero") * 100, 1)` \%}
\item Share of companies in portfolio with verified commitments to net-zero and credible interim targets (as provided in the 2022 Swiss scorecard): \textbf{`r paste0(round(portfolio_company_share_net_zero * 100))` \% (Peers average: `r paste0(round(peers_company_share_net_zero * 100))` \%)}
\end{itemize}
```

Expand Down
1 change: 1 addition & 0 deletions inst/extdata/PA2024CH_en_exec_summary/template.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ always_allow_html: true
params:
survey_dir: NULL
score_card_dir: NULL
analysis_inputs_dir: NULL
language: EN
investor_name: investor
portfolio_name: portfolio
Expand Down
39 changes: 26 additions & 13 deletions inst/extdata/PA2024CH_fr_exec_summary/scorecard.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -184,46 +184,59 @@ Ce score représente l'alignement agrégé estimé des secteurs PACTA (hors cime
\subsection{Engagements vérifiés en faveur du net zéro}
Un nombre croissant d’entreprises s’engage volontairement à atteindre zéro émissions nettes et formulent des objectifs intermédiaires pour y parvenir. L’efficacité de ces engagements dépend de la crédibilité, du fondement scientifique et de la transparence des objectifs intermédiaires. Les informations suivantes sont basées sur les informations émanant de SBTi \textbf{\href{https://sciencebasedtargets.org/companies-taking-action}{(lien)}}.
Companies are increasingly committing voluntarily to transitioning to net zero and setting interim targets. The effectiveness of such commitments depends on whether interim emissions reduction targets applied are credible, science-based, transparent, and supported by credible action to cut emissions. The following information is based on information from SBTi \textbf{\href{https://sciencebasedtargets.org/companies-taking-action}{(link)}}.
```

```{r sbti_net_zero_commitments}
fin_data_net_zero_targets <- readr::read_csv(
file.path(score_card_dir, "fin_data_net_zero_targets.csv"),
file.path(analysis_inputs_dir, "fin_data_net_zero_targets.csv"),
col_types = readr::cols_only(
isin = "c",
asset_type = "c",
factset_entity_id = "c"
factset_entity_id = "c",
has_net_zero_commitment = "l"
)
)
peer_group_share_net_zero <- readr::read_csv(
file.path(score_card_dir, "peer_group_share_net_zero.csv"),
peers_net_zero_commitment <- readr::read_csv(
file.path(score_card_dir, "peers_sbti_results.csv"),
col_types = readr::cols_only(
investor_name = "c",
portfolio_name = "c",
share_net_zero = "n"
company_share_net_zero = "d",
exposure_share_net_zero = "d"
)
)
data_prep_net_zero_commitments <- prep_net_zero_commitments(
data_net_zero_commitments <- prep_net_zero_commitments(
total_portfolio = total_portfolio,
peer_group = peer_group,
net_zero_targets = fin_data_net_zero_targets,
peer_group_share_net_zero = peer_group_share_net_zero
fin_data_net_zero_targets = fin_data_net_zero_targets,
peers_net_zero_commitment = peers_net_zero_commitment
)
portfolio_company_share_net_zero <- data_net_zero_commitments %>%
filter(.data$name == "company_share_net_zero") %>%
pull(.data$this_portfolio)
peers_company_share_net_zero <- data_net_zero_commitments %>%
filter(.data$name == "company_share_net_zero") %>%
pull(.data$peergroup)
portfolio_exposure_share_net_zero <- data_net_zero_commitments %>%
filter(.data$name == "exposure_share_net_zero") %>%
pull(.data$this_portfolio)
peers_exposure_share_net_zero <- data_net_zero_commitments %>%
filter(.data$name == "exposure_share_net_zero") %>%
pull(.data$peergroup)
```

```{=latex}
\begin{itemize}
\item Proportion of portfolio subject to public commitments to net zero and verified credible interim targets: \textbf{`r paste0(round(portfolio_exposure_share_net_zero * 100))` \% (Peers average: `r paste0(round(peers_exposure_share_net_zero * 100))` \%)}
\item Part des entreprises du portefeuille ayant pris des engagements vérifiés pour atteindre le \guillemetleft net zéro\guillemetright \ et pour la fixation d’objectifs intermédiaires crédibles: \textbf{`r round(data_prep_net_zero_commitments %>% dplyr::filter(.data$portfolio_name == "this_portfolio") %>% dplyr::pull("share_net_zero") * 100, 1)` \%}
\item Part moyenne des entreprises dans les portefeuilles de pairs ayant des engagements vérifiés envers le net zéro et des objectifs intermédiaires crédibles: \textbf{`r round(data_prep_net_zero_commitments %>% dplyr::filter(.data$portfolio_name == peer_group) %>% dplyr::pull("share_net_zero") * 100, 1)` \%}
\item Share of companies in portfolio with verified commitments to net-zero and credible interim targets (as provided in the 2022 Swiss scorecard): \textbf{`r paste0(round(portfolio_company_share_net_zero * 100))` \% (Peers average: `r paste0(round(peers_company_share_net_zero * 100))` \%)}
\end{itemize}
```

Expand Down
1 change: 1 addition & 0 deletions inst/extdata/PA2024CH_fr_exec_summary/template.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ always_allow_html: true
params:
survey_dir: NULL
score_card_dir: NULL
analysis_inputs_dir: NULL
language: EN
investor_name: investor
portfolio_name: portfolio
Expand Down
3 changes: 3 additions & 0 deletions man/render_executive_summary.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 14575e1

Please sign in to comment.