Skip to content

Budgets that forecast from their own spend

The CostReveal team, , 4 minute read

A budget is only as useful as its forecast. An alert on the 28th that a team has passed its limit is a record, not a warning. The forecast is what gives a team time to act, and it is also where most budget tools quietly cut a corner. This post is about how CostReveal forecasts a budget, why every forecast says how it was made, and why a budget never blocks anything.

The corner most tools cut

The easy way to forecast a team's month is to forecast the whole account, then give the team its share. If the team spent 30 percent of the account so far, it gets 30 percent of the account's forecast.

That answer is wrong whenever teams move differently, which is most of the time. When another team's spend surges, every team's forecast rises with it, and a team whose own spend is flat gets a warning it did nothing to earn. People learn to ignore budget alerts quickly, and an alert that fires for someone else's spend teaches them fastest.

Each budget from its own days

CostReveal forecasts every budget from its own spend, day by day:

  • A project, provider or service is read from the bills.
  • A team, feature, customer or user is read from what Explore attributes to it each day, including what usage data and allocation rules allocated to it.
  • A saved view, such as the payments team's spend on EC2 in one account, is read from what Explore shows for that view each day.

So a team's forecast follows the team's own spend, however the rest of the project moves. That works because CostReveal keeps who each cost is for by the day it was used, not as a share of a month worked out later.

The method, stated beside the number

Every forecast states its method beside it. Each provider starts from its own last complete day, since every provider reports a day late or later, and a day is complete once a later day has been billed. Each day left in the month is then estimated at its weekday's average over the four weeks before, because spend often runs lower at weekends. With under two weeks of history, the last seven days' average is used instead.

There is no forecast before three complete days of the month. A projection that cannot be supported is not shown. Month by month shows what the budget's scope spent in each of the last twelve months, so a limit can be set from history rather than hope.

An alert, then a decision

A budget raises three alerts, each once a month:

  • Warning, when spend passes the warning threshold, 80 percent by default.
  • Passed, when it passes the limit.
  • Forecast, when the month is forecast to pass the limit while it is not yet passed.

They go to the email addresses chosen for each kind of alert, and to a Slack channel. Changing a budget's limit lets it alert again against the new limit. In the first five days of a month, the month before is checked too, as late charges land.

A budget never blocks anything. Switching off a feature your customers use is a decision for a person, not a threshold. CostReveal reads bills after the fact, and does not sit in the path of your traffic.

One currency, no conversion

Each budget is a monthly limit in one currency, and only spend billed in that currency counts. CostReveal never converts between currencies for a budget, so an exchange rate cannot push a team over its limit.

Who sets them

Everyone who can see a project's costs can see its budgets and alerts. Owners, admins and billing members create, change and delete budgets and choose who is alerted, and every change is recorded in the audit log. A saved view a budget measures cannot be deleted from under it.

Frequently asked questions

Why is there no forecast early in the month? Before three complete days there is too little to project from, so CostReveal shows none rather than a guess.

Does another team's surge change my team's forecast? No. A team's forecast is read from the team's own spend, day by day.

Can a budget cover a saved view? Yes. A budget can measure any saved view, such as one team's spend on one service in one account.

Will a budget stop my spend? No. Budgets alert; people decide.

How often am I alerted? Each budget's warning, passed and forecast alerts are raised once a month.

Where do alerts go? To the email addresses chosen for each kind of alert, and to one Slack channel.

Keep reading