Budgets

Know you are going over while you can still do something

A budget that only tells you it was exceeded is a report, not a control. Xplorr tracks spend against each budget as the period runs and projects where it lands at month end, so a budget on pace to overshoot is marked as projected over days or weeks before it actually is.

Xplorr budgets page showing $107,200.00 of total budget across 6 budgets, $89,708.94 spent this period at 83.7 percent, and 5 budgets over or projected over, with per budget progress bars, remaining amounts, month end projections and alert thresholds.

Inputs

Where the Budgets numbers come from

Xplorr reads your accounts with read only credentials and never writes to your infrastructure. These are the sources behind this screen.

Daily synced cost
Spend to date comes from the billing data Xplorr syncs each day across AWS, Azure and GCP, so a budget reflects charges rather than an estimate of them.
The scope you set
A budget is bound to an account, a provider or the whole organisation, and only the cost inside that scope counts against it.
Spend trajectory in the current period
The rate spend is accumulating during the period, which is what the month end projection is built from.

Method

How the Budgets numbers are worked out

No black box. If a figure is an estimate or an apportionment rather than a billed line, the page says so.

  1. Spend accumulates against the scope in real periods

    Each budget tracks what has been spent so far in its period and what is left, rather than comparing a whole month after the fact.

  2. A projection is run for period end

    Current trajectory is carried forward to a month end figure. This is the number that turns a budget from a record into a warning, because it can exceed the limit while actual spend is still under it.

  3. Over and projected over are different states

    A budget already exceeded and a budget on pace to be exceeded are marked separately. Collapsing them would either cause false alarm or remove the early warning entirely.

  4. Thresholds fire as the period runs

    Alert thresholds are configured per budget and fire when crossed, so the notification arrives at the point of crossing rather than in a monthly summary.

  5. Only complete days feed the projection

    Billing data for today is partial, and a day only counts as complete once the provider has stopped revising it, which normally means anything up to yesterday. The projection takes the spend across the complete days of the period, divides it by that number of days and carries the rate to period end. On the first day of a period nothing is complete yet, so the projection is left blank rather than extrapolated from a few hours of data.

  6. The projection is a flat daily rate, not a model

    It assumes the rest of the period looks like the complete days so far. It does not know about a weekday and weekend pattern, a launch planned for the 20th, or an annual charge that lands mid period, so a budget over lumpy spend reads high or low until those days are behind it.

  7. A tag scope only counts what the provider tagged

    Scoping a budget to a tag matches the cost rows that carry that tag on the bill. Spend the provider never tagged, and charges that arrive with no resource level tags at all, fall outside the budget rather than into it. Scoping by account or by provider avoids that entirely.

In the console

What is on the Budgets screen

  • Total budget across all budgets and total spent this period with its percentage
  • A count of budgets over or projected over
  • Progress bar per budget with the amount remaining
  • Month end projection for each budget
  • Alert thresholds configured per budget
  • Scope per budget, whether an account, a provider or the organisation

Common questions about Budgets

Can a budget span more than one cloud?
Yes. A budget can be scoped to the whole organisation, which is the case native provider budgets cannot cover, since each of them only sees its own cloud.
What does projected over mean?
That current spend is still within the budget but the rate it is accumulating puts it over the limit by period end. It is the state worth acting on, because the period is not finished yet.
Where do budget alerts go?
By email to the organization admins who have budget alerts turned on, and to Slack, either the channel the Xplorr bot posts to or the incoming webhook set in Settings. Microsoft Teams is in development.
How soon after creating a budget is it useful?
Spend to date is there as soon as the first sync lands, which pulls the last 30 days, and a budget counts the whole period it sits in rather than starting from the day you created it. The projection needs at least one complete day inside the current period, and the projected overrun alert waits for five complete days before it will send anything, so a budget created on the 1st of a month cannot raise that alert until around the 6th.
How often are thresholds checked?
Once a day, a few hours after the nightly cost sync, against the data that sync landed. A budget crossing 80 percent is a next morning notification rather than a within the hour one. Each threshold notifies once per period, and changing the amount, period, currency, scope or the threshold list resets that state so the new thresholds can fire again.
Can budgets in different currencies be added up?
Each budget is evaluated in its own currency, converting each cost row at the European Central Bank reference rate for the date of the charge. The totals across the top of the page only add up when every budget shares one currency. When they do not, the page shows the per budget figures and no combined total, rather than summing amounts that are not comparable.

Background reading

Missing budget alerts is one of the 5 signs your cloud bill is about to spike, along with the other patterns a budget catches before the invoice does.

For a team spending grant money, the FinOps tool for startups page puts budgets next to credit run out alerts.

How this compares

See this on your own accounts

Connect a cloud account with read only credentials and the first sync pulls your last 30 days, so this screen fills with your numbers instead of the demo workspace. Free during beta.