HLDModulesFinOps
v1.2 is unreleased — see v1.1 for the current stable release.
Forecast
AWS and Azure forecast collection, schedule, API mapping, and stored forecast fields.
Forecast
The Forecast area generates forward-looking spend projections for supported AWS and Azure accounts. Forecast rows are grouped by account, region, and resource type so they can be compared with cost history and budget thresholds.
For canonical provider and resource terminology, see the Provider and Resource Reference.
Forecast Collection
| Parameter | Value |
|---|---|
| Granularity | Monthly |
| Schedule | Last day of every month |
| Forecast period | Next 12 months from the current month |
| Invocation scope | One API call per account, region, and resource type combination |
| Overwrite policy | Each monthly run fully replaces the previous 12-month forecast dataset |
Example: a run on July 31, 2025 creates a forecast window from July 1, 2025 through June 30, 2026.
Provider APIs
| Provider | Required Permission | API Source | Notes |
|---|---|---|---|
| AWS | ce:GetCostForecast | AWS Cost Explorer GetCostForecast | Requires at least 5 weeks of historical cost data for accurate forecasts. |
| Azure | Microsoft.Resources/subscriptions/locations/read, Microsoft.CostManagement/forecast/read | Azure Cost Management Forecast API | Forecast data can appear after 7 days of usage; 90+ days is recommended for reliable projections. |
References: AWS GetCostForecast and Azure Forecast API.
AWS Flow
- Enumerate account, region, and resource type combinations from normalized cost and inventory data.
- Call AWS Cost Explorer
GetCostForecastfor each combination. - Request monthly forecast data for the next 12 months.
- Store forecast amount and confidence range when returned by the provider.
- Replace existing forecast rows for that account and forecast run.
Azure Flow
- Enumerate account, region, and resource type combinations from normalized cost and inventory data.
- Read subscription locations so forecast requests use valid Azure region context.
- Call the Azure Cost Management Forecast API for each combination.
- Request monthly forecast data for the next 12 months.
- Store forecast amount and confidence range when returned by the provider.
- Replace existing forecast rows for that account and forecast run.
Stored Forecast Fields
| Field | Type | Description | Required Behavior |
|---|---|---|---|
| Provider | string | Canonical provider name, such as AWS or Azure. | Stored for every record. |
| Account ID | string | Account identifier from provider onboarding. | Stored for every record. |
| Account Name | string | Cloud account display name. | Stored when available. |
| Region | string | Forecast region. | Default to Other when unknown. |
| Resource Type | string | Canonical resource type such as AWS_EC2 or AZURE_VM. | Default to Other when unknown. |
| Cloud Cost | number | Forecasted cost in billing currency. | Skip the record if missing. |
| Cloud Cost Unit | string | Billing currency code. | Skip the record if missing. |
| Forecast Period Start | date | Start of the forecast period. | Skip the record if missing. |
| Forecast Period End | date | End of the forecast period. | Skip the record if missing. |
Forecast API Field Mapping
| MCM Field | AWS API Field | Azure API Field |
|---|---|---|
| Cloud Cost | MeanValue | Cost |
| Cloud Cost Unit | Unit | Currency |
| Forecast Period Start | TimePeriod.Start | timePeriod.from |
| Forecast Period End | TimePeriod.End | timePeriod.to |
| Account, Region, Resource Type | From request query | From request query |