The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
The library accepts structured observations and explicit external assessments. Its 47 functions implement selected numerical contracts. They do not decide which laws apply to a company or investigate the supplied evidence. All data in this example are fictional and loaded from the installed package.
pay_gap(20, 18)
#> <esg_result> SOC-003 [ OK ] percent
#> [1] 10
pay_gap(0, 18)$status
#> [1] "NOT_APPLICABLE"
tryCatch(pay_gap(Inf, 18), esg_error = function(e) e$code)
#> [1] "INVALID_NUMBER"The gap is signed percent, with male gross hourly pay as denominator. A zero denominator is not applicable; a missing observation stays missing. Invalid numbers produce an esg_error condition, not a fabricated result.
ctx <- esg_context(profile_id = "eu-taxonomy-2026-v1", as_of = "2026-09-30")
criterion <- check_quantitative_criterion("building_new_ped",
list(ped = 90, nzeb_threshold = 100, unit = "kWh/m2/year"), context = ctx)
criterion$assessment
#> [1] "MET"
criterion$details$remaining_conditions
#> [1] "Activity classification, named qualitative evidence, other SC clauses, DNSH and minimum safeguards remain separate requirements"The selected numerical clause passes at this boundary. Full activity alignment still requires substantial contribution, other screening conditions, DNSH and minimum safeguards. The criterion catalog specifies 23 supported clauses and their edition locators. Unsupported clauses are rejected explicitly.
source(system.file("examples", "realistic_pipeline.R", package = "esgcalc"))
cases <- load_reference_data("synthetic_realistic_cases.json")$value$cases
company <- calculate_company(cases[[1]])
company$energy$value$renewable_fraction
#> [1] 0.35
company$kpis$turnover$value
#> [1] 0.65
company$rating$value
#> $score
#> [1] 68.44543
#>
#> $class
#> [1] "B"
company$rating$details$coverage
#> [1] 1The example derives emissions, energy, water, waste, workforce, safety, pay and governance metrics, then composes taxonomy KPIs and a six-indicator E/S/G rating. The reference model is a normative performance model: its scales, weights, coverage gates and caps are explicit choices. It is not an empirical agency rating. Incomplete or stale observations can suppress a pillar and the overall rating; the implementation does not reward missing data.
explanation <- explain_rating(company$rating)
explanation$value$details$pillar_contributions
#> $E
#> [1] 20
#>
#> $S
#> [1] 25.52876
#>
#> $G
#> [1] 22.91667
explanation$value$details$triggered
#> list()company$rating$function_id
#> [1] "RATE-006"
company$rating$profile_id
#> [1] "esgcalc-methods-v1"
company$rating$mode
#> [1] "SCENARIO"
company$rating$source_ids
#> [1] "ESGCALC_REFERENCE_MODEL_V1"
substr(company$rating$input_hash, 1, 16)
#> [1] "d4e5541ae382b150"Input and model hashes are deterministic within R. The R and Python JSON numeric renderings can differ, so hash equality is not a cross-language numerical acceptance criterion. Resource hashes, however, are identical because the reference JSON files are copied byte for byte from Python.
help("esgcalc-contracts") documents row schemas and numerical conventions. The installed doc directory contains TAXONOMY_CRITERIA.md, RATING.md, METHOD_ISSUES.md and the synthetic casebook. In particular, PAI 18 requires an explicit interpretation for post-2020 PED inputs; reversing the literal reference comparison is an explicitly labelled scenario.
The package has no runtime network access or Python dependency. Local JSON and CSV readers require explicit schemas for conversion; exports target a caller-selected local directory and refuse to overwrite existing files.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.