Emissions Projections¶
Project future emissions trajectories for equity assets using historical data or reduction targets.
Endpoint¶
Authentication¶
Required. Include your API key in the X-API-Key header.
Overview¶
The emissions projections endpoint forecasts future emissions trajectories based on either historical patterns or defined reduction targets. The API supports:
- Asset types: Equity only
- Two projection methods: Monte Carlo simulation or linear glide path to targets
- Multi-year forecasting: Project emissions across multiple future years
- Batch processing: Submit multiple entities in a single request
Request Structure¶
See Data Models for complete documentation of entity_info, emissions, and financials fields.
Method 1: Monte Carlo (Historical Forecasting)¶
Use historical emissions data to forecast future trajectories using Monte Carlo simulation.
Requirements: - At least 3 years of historical emissions data per scope
Example Request¶
[
{
"entity_info": {
"identifier": "TECH",
"name": "TechCorp Inc",
"asset_type": "equity",
"country": "United States",
"industry_classification_system": "rbics",
"industry": "Technology",
"sector": "Software & Services"
},
"data": [
{
"year": 2023,
"emissions": {
"scope1": 25000,
"scope2": 15000,
"scope3": 60000
}
},
{
"year": 2022,
"emissions": {
"scope1": 23000,
"scope2": 14000,
"scope3": 55000
}
},
{
"year": 2021,
"emissions": {
"scope1": 22000,
"scope2": 14000,
"scope3": 59000
}
}
],
"projection_years": [2024, 2025, 2026, 2027, 2028, 2029, 2030],
"method": "monte_carlo"
}
]
Method 2: Linear Glide Path (Target-Based)¶
Project emissions based on defined reduction targets using a linear pathway from baseline to target.
Requirements: - One or more reduction targets - Historical emissions data for one or more years
Notes: - You can provide multiple years of emissions data - The API will use the year closest to each target's baseline_year - If your target baseline is 2020 but you only have 2023 data, the API will use 2023 - This flexibility is helpful when you have multiple targets with different baseline years
Scope-specific behavior: - Scopes with targets: Returns linear glide path from baseline to target - Scopes without targets: Returns linear emissions trajectory based on historical trend - Scopes with no emissions or targets: Omitted from response entirely
Example Request¶
[
{
"entity_info": {
"name": "Manufacturing Corp",
"asset_type": "equity",
"country": "United States",
"industry_classification_system": "rbics",
"industry": "Manufacturing",
"sector": "Industrial"
},
"data": [
{
"year": 2023,
"emissions": {
"scope1": 100000,
"scope2": 60000,
"scope3": 250000
}
},
{
"year": 2022,
"emissions": {
"scope1": 105000,
"scope2": 62000,
"scope3": 260000
}
},
{
"year": 2021,
"emissions": {
"scope1": 110000,
"scope2": 65000,
"scope3": 270000
}
}
],
"targets": [
{
"target_scope": "scope1",
"reduction_percentage": 50,
"target_year": 2030,
"baseline_year": 2023
},
{
"target_scope": "scope2",
"reduction_percentage": 60,
"target_year": 2030,
"baseline_year": 2023
},
{
"target_scope": "scope3",
"reduction_percentage": 40,
"target_year": 2050,
"baseline_year": 2023
}
],
"projection_years": [2025, 2030, 2040, 2050],
"method": "linear_glide_path"
}
]
Method 3: Combined Methods¶
You can request both Monte Carlo and linear glide path projections simultaneously by providing both sufficient historical data (3+ years) and targets.
Example Request¶
[
{
"entity_info": {
"name": "Energy Company",
"asset_type": "equity",
"country": "United States",
"industry_classification_system": "rbics",
"industry": "Energy",
"sector": "Oil & Gas"
},
"data": [
{
"year": 2023,
"emissions": {
"scope1": 500000,
"scope2": 300000,
"scope3": 1000000
}
},
{
"year": 2022,
"emissions": {
"scope1": 520000,
"scope2": 310000,
"scope3": 1050000
}
},
{
"year": 2021,
"emissions": {
"scope1": 540000,
"scope2": 320000,
"scope3": 1100000
}
}
],
"targets": [
{
"target_scope": "scope1",
"reduction_percentage": 50,
"target_year": 2030,
"baseline_year": 2023
},
{
"target_scope": "scope1",
"reduction_percentage": 50,
"target_year": 2050,
"baseline_year": 2023
},
{
"target_scope": "scope2",
"reduction_percentage": 60,
"target_year": 2030,
"baseline_year": 2023
},
{
"target_scope": "scope3",
"reduction_percentage": 40,
"target_year": 2050,
"baseline_year": 2022
}
],
"projection_years": [2025, 2030, 2035, 2040, 2050],
"method": ["monte_carlo", "linear_glide_path"]
}
]
Combined Response¶
When both methods are requested, the response includes projections from each method:
{
"results": [
{
"entity_info": {
"name": "Energy Company",
"asset_type": "equity",
"country": "United States",
"industry_classification_system": "rbics",
"industry": "Energy",
"sector": "Oil & Gas"
},
"data": [
{
"method": "monte_carlo",
"projections": [
{
"year": "2025",
"emissions": {
"scope1": 510000,
"scope1_std": 28000,
"scope2": 305000,
"scope2_std": 18000,
"scope3": 980000,
"scope3_std": 65000
}
},
{
"year": "2030",
"emissions": {
"scope1": 480000,
"scope1_std": 35000,
"scope2": 290000,
"scope2_std": 22000,
"scope3": 950000,
"scope3_std": 75000
}
},
{
"year": "2035",
"emissions": {
"scope1": 465000,
"scope1_std": 42000,
"scope2": 280000,
"scope2_std": 26000,
"scope3": 925000,
"scope3_std": 85000
}
},
{
"year": "2040",
"emissions": {
"scope1": 450000,
"scope1_std": 48000,
"scope2": 270000,
"scope2_std": 30000,
"scope3": 900000,
"scope3_std": 95000
}
},
{
"year": "2050",
"emissions": {
"scope1": 420000,
"scope1_std": 58000,
"scope2": 250000,
"scope2_std": 38000,
"scope3": 850000,
"scope3_std": 110000
}
}
]
},
{
"method": "linear_glide_path",
"projections": [
{
"year": "2025",
"emissions": {
"scope1": 375000,
"scope2": 225000,
"scope3": 750000
}
},
{
"year": "2030",
"emissions": {
"scope1": 250000,
"scope2": 150000,
"scope3": 500000
}
},
{
"year": "2035",
"emissions": {
"scope1": 187500,
"scope2": 112500,
"scope3": 450000
}
},
{
"year": "2040",
"emissions": {
"scope1": 125000,
"scope2": 75000,
"scope3": 400000
}
},
{
"year": "2050",
"emissions": {
"scope1": 50000,
"scope2": 30000,
"scope3": 300000
}
}
]
}
]
}
]
}
Notes: - Monte Carlo projections show probabilistic forecasts based on historical trends - Linear glide path projections show the pathway needed to meet stated targets - Comparing both methods helps assess the feasibility of targets against historical performance
Endpoint-Specific Fields¶
method (Required)¶
String or array indicating which projection method(s) to use. You can request a single method or both methods simultaneously.
Available Methods:
| Method ID | Description | Data Requirements |
|---|---|---|
monte_carlo |
Monte Carlo simulation for probabilistic forecasting | At least 3 years of emissions history per scope |
linear_glide_path |
Linear reduction from baseline to target | Targets array |
Notes: - When both methods are requested, the response will include projections from each method - Both methods can use the same historical data if sufficient years are provided
projection_years (Required)¶
Array of integer years for which to project emissions.
Requirements: - Years must be in the future (later than the most recent historical year provided) - Typical forecast horizons range from 5-10 years for Monte Carlo - For linear glide path, should include target years and intermediate milestones
Example:
targets (Required for linear_glide_path only)¶
Array of emissions reduction targets. Each target specifies the scope, reduction percentage, target year, and baseline year.
Target Object Fields:
| Field | Type | Required | Description |
|---|---|---|---|
target_scope |
string | Yes | Emissions scope: "scope1", "scope2", "scope3", or "total" |
reduction_percentage |
number | Yes | Percentage reduction target (0-100) |
target_year |
integer | Yes | Year to achieve the target |
baseline_year |
integer | Yes | Baseline year for calculating reductions |
Example:
"targets": [
{
"target_scope": "scope1",
"reduction_percentage": 50,
"target_year": 2030,
"baseline_year": 2023
},
{
"target_scope": "total",
"reduction_percentage": 90,
"target_year": 2050,
"baseline_year": 2023
}
]
Notes:
- Multiple targets can be specified for different scopes
- 100% reduction represents net-zero for that scope
- The baseline_year doesn't need to exactly match a provided data year - the API will use the closest available year
- This flexibility is helpful when targets use different baseline years (e.g., 2019, 2020, 2022) but you only have data for 2023
- Target years should be included in projection_years
Response Format¶
Success Response (200 OK)¶
The response structure varies slightly by method:
Monte Carlo Response¶
{
"results": [
{
"entity_info": {
"name": "TechCorp Inc",
"asset_type": "equity",
"country": "United States",
"industry_classification_system": "rbics",
"industry": "Technology",
"sector": "Software & Services"
},
"data": [
{
"method": "monte_carlo",
"projections": [
{
"year": "2030",
"emissions": {
"scope1": 26000,
"scope1_std": 2200,
"scope2": 16000,
"scope2_std": 1400,
"scope3": 62000,
"scope3_std": 5500
}
},
{
"year": "2035",
"emissions": {
"scope1": 27500,
"scope1_std": 2300,
"scope2": 17000,
"scope2_std": 1900,
"scope3": 65000,
"scope3_std": 7000
}
}
]
}
]
}
]
}
Monte Carlo Response Fields:
- scope1, scope2, scope3: Mean projected emissions
- scope1_std, scope2_std, scope3_std: Standard deviation showing uncertainty range
Linear Glide Path Response¶
{
"results": [
{
"entity_info": {
"name": "Manufacturing Corp",
"asset_type": "equity",
"country": "United States",
"industry_classification_system": "rbics",
"industry": "Manufacturing",
"sector": "Industrial"
},
"data": [
{
"method": "linear_glide_path",
"projections": [
{
"year": "2025",
"emissions": {
"scope1": 92500,
"scope2": 55000,
"scope3": 240000
}
},
{
"year": "2030",
"emissions": {
"scope1": 50000,
"scope2": 24000,
"scope3": 150000
}
}
]
}
]
}
]
}