Finance must tell leadership what technology will cost next quarter and next year. In the cloud that number moves with every release, so forecasting is a shared job between finance and engineering.
flowchart LR H["History: 6–12 months of cost"] --> B["Baseline trend"] K["Known changes: launches, migrations, commitments"] --> F["Forecast"] B --> F F --> BU["Budgets per team or account"] BU --> AL["Alerts: actual and forecast"] AL --> V["Variance review"] V --> F %% step H: Start from allocated history, ideally amortized cost so purchases do not distort it. %% step B: A trend model (provider forecast or a simple regression) gives the baseline. %% step K: Engineering and product add what the trend cannot know: launches, migrations, decommissions. %% step F: The forecast is baseline plus drivers, with a range rather than one number. %% step BU: Budgets set the target per team, account or cost centre. %% step V: Each month, explain the variance and update the forecast — that is how accuracy improves.
Forecasting methods
| Method | How | When |
|---|---|---|
| Trend-based | Extend the last months, e.g. provider forecasts (Cost Explorer, Azure, GCP) | Stable workloads, short horizon |
| Driver-based | Cost per unit × forecast units (orders, users, GB) | Growth that follows business volume |
| Bottom-up | Each team estimates its own plans | Annual planning, big changes |
Most teams combine them: trend for the baseline, drivers for growth, bottom-up input for known projects.
Forecast accuracy
Measure variance = (actual − forecast) ÷ forecast. Many practices aim for a monthly variance within a few percent at Run maturity, and accept wider ranges at Crawl. Track it per team: the goal is that teams explain their variance, not that the number is perfect.
Budgets
- Set budgets per owner (team, account, cost centre), not just one company total.
- Alert at several points: e.g. 80% of actual, 100% of forecasted spend.
- AWS Budgets, Azure budgets and GCP budgets can notify email, chat or topics, and some can trigger budget actions (for example applying a restrictive policy) — use those carefully, mostly for sandboxes.
- A budget is a target for a conversation, not a hard stop for production.
Traps: forecasting only from the total bill (one big change hides everything else); budgets nobody owns; and using billed cost so a large upfront purchase looks like a huge overspend in one month.