{
  "_id": "6addf29f80bb7a3cbf50b406",
  "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-25 12:02:58 UTC",
    "User": "root"
  },
  "Author": "Dimitrios Geromichalos [aut, cre], RiskDataScience GmbH [cph]",
  "Maintainer": "Dimitrios Geromichalos <riskdatascience@web.de>",
  "Repository": "https://rds0001.r-universe.dev",
  "Date/Publication": "2026-10-24 11:17:45 UTC",
  "RemoteUrl": "https://github.com/cran/esgcalc",
  "RemoteRef": "HEAD",
  "RemoteSha": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
  "_user": "rds0001",
  "_type": "src",
  "_file": "esgcalc_0.2.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/d2e2c39f17a069884fa2dd0a128e7f5e38e482bcd751dcbcd738581fc4ad5f2c",
  "_filesize": 885015,
  "_sha256": "d2e2c39f17a069884fa2dd0a128e7f5e38e482bcd751dcbcd738581fc4ad5f2c",
  "_expires": "2027-02-02T12:14:21.000Z",
  "_created": "2026-10-25T12:02:58.000Z",
  "_published": "2026-10-25T12:14:23.605Z",
  "_upstream": "https://github.com/cran/esgcalc",
  "_status": "success",
  "_maintainer": {
    "name": "Dimitrios Geromichalos",
    "email": "riskdatascience@web.de",
    "login": "rds0001",
    "description": "",
    "uuid": 64261139
  },
  "_jobs": [
    {
      "job": 121163102004,
      "time": 116,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12598456683"
    },
    {
      "job": 121163102030,
      "time": 109,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12597947637"
    },
    {
      "job": 121163101976,
      "time": 124,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12597833506"
    },
    {
      "job": 121163101978,
      "time": 117,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12598477881"
    },
    {
      "job": 121162166751,
      "time": 257,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12598400867"
    },
    {
      "job": 121163102025,
      "time": 96,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12598680552"
    },
    {
      "job": 121163102066,
      "time": 76,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12598495991"
    },
    {
      "job": 121163102021,
      "time": 89,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12597962674"
    },
    {
      "job": 121163102016,
      "time": 103,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12598376114"
    }
  ],
  "_buildurl": "https://github.com/r-universe/rds0001/actions/runs/40191106187",
  "_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": true,
  "_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": 64261139,
    "type": "user",
    "name": "RiskDataScience",
    "followers": 0
  },
  "_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"
  ],
  "_realowner": "rds0001",
  "_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": [
    "rds0001"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.0",
      "date": "2026-10-25T12:04:41.000Z",
      "distro": "resolute",
      "commit": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
      "fileid": "https://r2.ropensci.org/d0c9bcd5a32ca939e33cd22f7cba98c177db69aeb4d5f65d5d7ece9c738c644a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rds0001/actions/runs/40191106187"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.2.0",
      "date": "2026-10-25T12:04:29.000Z",
      "distro": "resolute",
      "commit": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
      "fileid": "https://r2.ropensci.org/ac338951f7389c8f0182fc8c5bc6872529ceb57f6ab629b020090b3ffa146b71",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rds0001/actions/runs/40191106187"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.0",
      "date": "2026-10-25T12:09:35.000Z",
      "commit": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
      "fileid": "https://r2.ropensci.org/18c1ca3f60c40fcdd20b50143b3e3e2cddb52ad2b61e79fb97c326bda9741b50",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rds0001/actions/runs/40191106187"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.2.0",
      "date": "2026-10-25T12:13:29.000Z",
      "commit": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
      "fileid": "https://r2.ropensci.org/bbd4e773680c202a2cc20c2ae039806389c276bad3b6f4c797ee6a8ce102988c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rds0001/actions/runs/40191106187"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.0",
      "date": "2026-10-25T12:04:48.000Z",
      "commit": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
      "fileid": "https://r2.ropensci.org/f0130817ffb4f657fee9b6f713f434c6f475b067d0758d827f571594092e3925",
      "status": "success",
      "buildurl": "https://github.com/r-universe/rds0001/actions/runs/40191106187"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-10-25T12:03:53.000Z",
      "commit": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
      "fileid": "https://r2.ropensci.org/f736e520551d5b5b291da8492912cbc4c938ec7f99710e48b6d83748505a3623",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rds0001/actions/runs/40191106187"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-10-25T12:03:58.000Z",
      "commit": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
      "fileid": "https://r2.ropensci.org/64c060b1f62b0ff11c0e9cb6858ab94faea333277f65ab59655b489befc2ad2b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rds0001/actions/runs/40191106187"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-10-25T12:03:59.000Z",
      "commit": "0deec54f6a1a10110e4f28e5699bcd5a8ea49555",
      "fileid": "https://r2.ropensci.org/a60306774f587bf70cf3e940be2e12c6135da2d9837545e67b057686b3a85635",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/rds0001/actions/runs/40191106187"
    }
  ]
}