{
  "_id": "6adc967aad718eea59ecd3a0",
  "Package": "esgcalc",
  "Type": "Package",
  "Title": "Offline Environmental, Social and Governance Calculations",
  "Version": "0.2.0",
  "Authors@R": "c(person(\"Dimitrios\", \"Geromichalos\",\nemail = \"riskdatascience@web.de\", role = c(\"aut\", \"cre\")),\nperson(\"RiskDataScience GmbH\", role = \"cph\"))",
  "Description": "Native, deterministic calculations for selected\nenvironmental, social and governance metrics. Provides granular\ntaxonomy criteria, non-financial taxonomy indicators, principal\nadverse impact components, portfolio calculations and\nconfigurable performance ratings. Versioned local resources,\nexplicit assumptions and structured results support\nreproducible offline use. Does not determine legal\napplicability or provide a complete regulatory reporting\nsystem. Selected methods reference EU Regulations 2020/852,\n2022/1288 and 2023/2772; exact editions and provision locators\nare supplied in the bundled source contracts. For background on\nthe taxonomy framework, see the European Commission\n<https://finance.ec.europa.eu/sustainable-finance/tools-and-standards/eu-taxonomy-sustainable-activities_en>.",
  "License": "GPL (>= 3)",
  "Copyright": "RiskDataScience GmbH",
  "Encoding": "UTF-8",
  "VignetteBuilder": "knitr",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-24 11:25:56 UTC",
    "User": "root"
  },
  "Author": "Dimitrios Geromichalos [aut, cre], RiskDataScience GmbH [cph]",
  "Maintainer": "Dimitrios Geromichalos <riskdatascience@web.de>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-10-24 11:17:45 UTC",
  "RemoteUrl": "https://github.com/cran/esgcalc",
  "RemoteRef": "HEAD",
  "RemoteSha": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
  "_user": "cran",
  "_type": "src",
  "_file": "esgcalc_0.2.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/04c7a6cf376b9dc08affd1a565b804165ab1da48ed9652cb5a3556e155a6378a",
  "_filesize": 885015,
  "_sha256": "04c7a6cf376b9dc08affd1a565b804165ab1da48ed9652cb5a3556e155a6378a",
  "_expires": "2027-02-01T11:28:56.000Z",
  "_created": "2026-10-24T11:25:56.000Z",
  "_published": "2026-10-24T11:28:58.015Z",
  "_upstream": "https://github.com/cran/esgcalc",
  "_status": "success",
  "_maintainer": {
    "name": "Dimitrios Geromichalos",
    "email": "riskdatascience@web.de",
    "login": "rds0001",
    "description": "",
    "uuid": 64261139
  },
  "_jobs": [
    {
      "job": 120860269325,
      "time": 140,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12558542639"
    },
    {
      "job": 120860269298,
      "time": 123,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12559090613"
    },
    {
      "job": 120859652197,
      "time": 189,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12558786315"
    },
    {
      "job": 120860269333,
      "time": 89,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12558362092"
    },
    {
      "job": 120860269302,
      "time": 103,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12559150199"
    },
    {
      "job": 120860269246,
      "time": 99,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12559050669"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/40089663019",
  "_commit": {
    "id": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
    "author": "Dimitrios Geromichalos <riskdatascience@web.de>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 0.2.0\n",
    "time": 1792840665
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "digest",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-43",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "0.2.0",
      "date": "2026-10-24"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "rds0001",
      "count": 1,
      "uuid": 64261139
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 634,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/esgcalc"
  },
  "_searchresults": 0,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/esgcalc.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.2.0",
      "date": "2026-10-24"
    }
  ],
  "_exports": [
    "aggregate_ghg_inventory",
    "aggregate_issuer_positions",
    "aggregate_pai_observations",
    "aggregate_pai_portfolio",
    "allocate_multi_objective_contributions",
    "apply_rating_limits",
    "board_metrics",
    "calculate_pai_indicator",
    "check_quantitative_criterion",
    "combine_taxonomy_assessments",
    "convert_currency",
    "diversity_metrics",
    "emissions_from_activity",
    "energy_metrics",
    "esg_context",
    "explain_rating",
    "export_resources",
    "financed_emissions",
    "ghg_intensity",
    "health_safety_metrics",
    "list_resources",
    "load_local_data",
    "load_profile",
    "load_reference_data",
    "metric_change",
    "normalize_indicator",
    "overall_rating",
    "pay_gap",
    "pillar_scores",
    "portfolio_concentration",
    "portfolio_coverage",
    "portfolio_exposure",
    "portfolio_rating_summary",
    "position_weights",
    "rate_company",
    "rating_sensitivity",
    "reconcile_kpi_allocations",
    "taxonomy_capex",
    "taxonomy_opex",
    "taxonomy_turnover",
    "validate_activity_assessment",
    "validate_governance_findings",
    "validate_inputs",
    "validate_pai_inputs",
    "validate_rating_model",
    "waste_resource_metrics",
    "water_metrics",
    "workforce_metrics"
  ],
  "_help": [
    {
      "page": "esgcalc-package",
      "title": "Offline Environmental, Social and Governance Calculations",
      "topics": [
        "esgcalc-package",
        "esgcalc"
      ]
    },
    {
      "page": "aggregate_ghg_inventory",
      "title": "Aggregate the declared scopes; market/location alternatives are never added",
      "topics": [
        "aggregate_ghg_inventory"
      ]
    },
    {
      "page": "aggregate_issuer_positions",
      "title": "Aggregate position values while requiring consistent duplicated issuer attributes",
      "topics": [
        "aggregate_issuer_positions"
      ]
    },
    {
      "page": "aggregate_pai_observations",
      "title": "Mean of complete quarter-end observations, or explicitly selected additional observations",
      "topics": [
        "aggregate_pai_observations"
      ]
    },
    {
      "page": "aggregate_pai_portfolio",
      "title": "Calculate selected PAI components on one unchanged portfolio universe",
      "topics": [
        "aggregate_pai_portfolio"
      ]
    },
    {
      "page": "allocate_multi_objective_contributions",
      "title": "Allocate disjoint slices once in total; each slice may contribute to multiple goals",
      "topics": [
        "allocate_multi_objective_contributions"
      ]
    },
    {
      "page": "apply_rating_limits",
      "title": "Apply most restrictive triggered cap; unknown required findings suppress the score",
      "topics": [
        "apply_rating_limits"
      ]
    },
    {
      "page": "board_metrics",
      "title": "Female representation uses all board members, including declared other/unknown gender",
      "topics": [
        "board_metrics"
      ]
    },
    {
      "page": "calculate_pai_indicator",
      "title": "Calculate an enumerated Table 1 component; averaging conventions must be explicitly selected",
      "topics": [
        "calculate_pai_indicator"
      ]
    },
    {
      "page": "check_quantitative_criterion",
      "title": "Compute a selected clause from the edition-pinned numerical criterion catalog",
      "topics": [
        "check_quantitative_criterion"
      ]
    },
    {
      "page": "combine_taxonomy_assessments",
      "title": "Combine explicitly sourced assessments for six goals; never infer missing evidence",
      "topics": [
        "combine_taxonomy_assessments"
      ]
    },
    {
      "page": "convert_currency",
      "title": "Use explicit target-currency units per one source-currency unit; never fetch or invert",
      "topics": [
        "convert_currency"
      ]
    },
    {
      "page": "diversity_metrics",
      "title": "Compute disjoint category shares including an explicit unknown category where needed",
      "topics": [
        "diversity_metrics"
      ]
    },
    {
      "page": "emissions_from_activity",
      "title": "Multiply explicit activity quantities by sourced factors, output tonnes CO2e",
      "topics": [
        "emissions_from_activity"
      ]
    },
    {
      "page": "energy_metrics",
      "title": "Separate consumption/production and compute high-impact-sector revenue intensity",
      "topics": [
        "energy_metrics"
      ]
    },
    {
      "page": "esg_context",
      "title": "Declare an explicit calculation context",
      "topics": [
        "esg_context"
      ]
    },
    {
      "page": "esgcalc-contracts",
      "title": "Structured input schemas and numerical method contracts",
      "topics": [
        "esgcalc-contracts"
      ]
    },
    {
      "page": "esgcalc-resources",
      "title": "Versioned offline catalogs and fictional example data",
      "topics": [
        "esgcalc-resources"
      ]
    },
    {
      "page": "explain_rating",
      "title": "Return stored rating contributions and reasons, without inventing narrative conclusions",
      "topics": [
        "explain_rating"
      ]
    },
    {
      "page": "export_resources",
      "title": "Export selected resources to an explicit local directory; never overwrite existing files",
      "topics": [
        "export_resources"
      ]
    },
    {
      "page": "financed_emissions",
      "title": "Declared listed-equity/listed-company-bond attribution using positive EVIC and sourced emissions",
      "topics": [
        "financed_emissions"
      ]
    },
    {
      "page": "ghg_intensity",
      "title": "Divide tonnes CO2e by an explicitly named positive physical/economic basis",
      "topics": [
        "ghg_intensity"
      ]
    },
    {
      "page": "health_safety_metrics",
      "title": "Accident frequency, separately classified fatalities, days lost and coverage",
      "topics": [
        "health_safety_metrics"
      ]
    },
    {
      "page": "list_resources",
      "title": "List packaged resource names and checksums, without any remote registry",
      "topics": [
        "list_resources"
      ]
    },
    {
      "page": "load_local_data",
      "title": "Read UTF-8 JSON or CSV; CSV fields stay strings, with no guessed units or types",
      "topics": [
        "load_local_data"
      ]
    },
    {
      "page": "load_profile",
      "title": "Return an explicitly requested profile; never infer legal applicability",
      "topics": [
        "load_profile"
      ]
    },
    {
      "page": "load_reference_data",
      "title": "Read and integrity-check a packaged JSON reference resource",
      "topics": [
        "load_reference_data"
      ]
    },
    {
      "page": "metric_change",
      "title": "Calculate change only on a declared comparable boundary/method; negative bases have no relative rate",
      "topics": [
        "metric_change"
      ]
    },
    {
      "page": "normalize_indicator",
      "title": "Interpolate an explicit model scale; reject incompatible units and out-of-domain inputs",
      "topics": [
        "normalize_indicator"
      ]
    },
    {
      "page": "overall_rating",
      "title": "Combine E/S/G pillar records, check coverage, then apply caps and class thresholds",
      "topics": [
        "overall_rating"
      ]
    },
    {
      "page": "pay_gap",
      "title": "Unadjusted pay gap (male minus female)/male, in percentage points; signed",
      "topics": [
        "pay_gap"
      ]
    },
    {
      "page": "pillar_scores",
      "title": "Weight normalized indicator scores; report coverage separately and enforce minima",
      "topics": [
        "pillar_scores"
      ]
    },
    {
      "page": "portfolio_concentration",
      "title": "Herfindahl index and largest group weight for nonnegative exposures",
      "topics": [
        "portfolio_concentration"
      ]
    },
    {
      "page": "portfolio_coverage",
      "title": "Amount-weighted nonmissing field coverage with numerator/denominator retained",
      "topics": [
        "portfolio_coverage"
      ]
    },
    {
      "page": "portfolio_exposure",
      "title": "Known positive exposure and unknown share; incomplete data do not become false",
      "topics": [
        "portfolio_exposure"
      ]
    },
    {
      "page": "portfolio_rating_summary",
      "title": "Value-weight compatible company scores; report classes and unrated exposure separately",
      "topics": [
        "portfolio_rating_summary"
      ]
    },
    {
      "page": "position_weights",
      "title": "Long-only weights over the entire declared portfolio; no missing-position deletion",
      "topics": [
        "position_weights"
      ]
    },
    {
      "page": "print.esg_result",
      "title": "Print a structured calculation result",
      "topics": [
        "print.esg_result"
      ]
    },
    {
      "page": "rate_company",
      "title": "Rate dated sourced observations with coverage, provenance, contributions and binding caps",
      "topics": [
        "rate_company"
      ]
    },
    {
      "page": "rating_sensitivity",
      "title": "Recalculate explicit indicator-weight scenarios; preserve original model and observations",
      "topics": [
        "rating_sensitivity"
      ]
    },
    {
      "page": "reconcile_kpi_allocations",
      "title": "Reconcile disjoint allocation fractions against original amount IDs",
      "topics": [
        "reconcile_kpi_allocations"
      ]
    },
    {
      "page": "taxonomy_capex",
      "title": "Compute CapEx KPI with accounting exclusions, plan and individual-measure routes",
      "topics": [
        "taxonomy_capex"
      ]
    },
    {
      "page": "taxonomy_opex",
      "title": "Compute OpEx KPI, excluding capitalised/double-counted expenditure",
      "topics": [
        "taxonomy_opex"
      ]
    },
    {
      "page": "taxonomy_turnover",
      "title": "Compute nonfinancial turnover KPI from net-revenue rows and explicit assessments",
      "topics": [
        "taxonomy_turnover"
      ]
    },
    {
      "page": "validate_activity_assessment",
      "title": "Validate distinct activities and their assessment inputs without classifying NACE codes",
      "topics": [
        "validate_activity_assessment"
      ]
    },
    {
      "page": "validate_governance_findings",
      "title": "Check provenance/status of structured findings, without investigating their truth",
      "topics": [
        "validate_governance_findings"
      ]
    },
    {
      "page": "validate_inputs",
      "title": "Validate explicit nested table schemas, types, enums, units, bounds and unique IDs",
      "topics": [
        "validate_inputs"
      ]
    },
    {
      "page": "validate_pai_inputs",
      "title": "Check an indicator's declared universe, consistent issuer data and required typed fields",
      "topics": [
        "validate_pai_inputs"
      ]
    },
    {
      "page": "validate_rating_model",
      "title": "Validate bounded piecewise scales, complete pillars, weights, classes and caps",
      "topics": [
        "validate_rating_model"
      ]
    },
    {
      "page": "waste_resource_metrics",
      "title": "Separate waste destinations/hazardous totals and secondary material input shares",
      "topics": [
        "waste_resource_metrics"
      ]
    },
    {
      "page": "water_metrics",
      "title": "Common-boundary consumption, risk-area consumption, storage and revenue intensity",
      "topics": [
        "water_metrics"
      ]
    },
    {
      "page": "workforce_metrics",
      "title": "Aggregate disjoint workforce groups in headcount and FTE separately",
      "topics": [
        "workforce_metrics"
      ]
    }
  ],
  "_rundeps": [
    "digest",
    "jsonlite"
  ],
  "_vignettes": [
    {
      "source": "offline-workflow.Rmd",
      "filename": "offline-workflow.html",
      "title": "An offline ESG calculation workflow",
      "author": "Dr. Dimitrios Geromichalos",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Start with a small calculation",
        "Declare an edition and reporting boundary",
        "Derive a company rating from raw observations",
        "Trace inputs and reproduce results",
        "Inspect the complete contracts"
      ],
      "created": "2026-10-24 11:17:45",
      "modified": "2026-10-24 11:17:45",
      "commits": 1
    }
  ],
  "_score": 2,
  "_indexed": true,
  "_nocasepkg": "esgcalc",
  "_universes": [
    "cran",
    "rds0001"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.0",
      "date": "2026-10-24T11:27:54.000Z",
      "distro": "resolute",
      "commit": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
      "fileid": "https://r2.ropensci.org/1a082f77ba2557b12d4f2c6ac90813db4964fda646a5d58f9fa88aa81881f0c2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40089663019"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.2.0",
      "date": "2026-10-24T11:27:39.000Z",
      "distro": "resolute",
      "commit": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
      "fileid": "https://r2.ropensci.org/d4d8312c8273c4985bff2c6ed5583b7e05c722977796d735cd6fb2a9cc9361d7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40089663019"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.0",
      "date": "2026-10-24T11:27:43.000Z",
      "commit": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
      "fileid": "https://r2.ropensci.org/1cfdfa2fef4372a4102f9f5ec3e2e7c830108b0d6ca3435f3c85e3d1bc39feb7",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40089663019"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-10-24T11:27:02.000Z",
      "commit": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
      "fileid": "https://r2.ropensci.org/557c5b9b0973f51e4b9552435e85eb964032d77e7b65606f325717f8e7f030f6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40089663019"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-10-24T11:26:57.000Z",
      "commit": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
      "fileid": "https://r2.ropensci.org/8b58b86791e044355b2cb1d0f89be6bc6a8fadcb7dffa582c1ab6762bc87c3a8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/40089663019"
    }
  ]
}