CostWatch can now tell you if you're on track to blow your AWS budget
The thing that gets you isn't the day your AWS bill spikes — it's the day you open the billing console and realize you've been running hot all month.
CostWatch's new forecast endpoint solves that. For any connected account, it now returns:
- MTD spend — what you've actually spent so far this month
- Daily run rate — your average daily spend (MTD ÷ days elapsed)
- Projected end-of-month — run rate × days in month
- Status —
on_track,at_risk(≥90% of budget), orover_budget
If you've set a monthly budget, the status field tells you immediately where you stand.
How it works
There's no AI here. It's arithmetic on Cost Explorer daily data:
daily_run_rate = mtd_spend / days_elapsed
projected_eom = daily_run_rate × days_in_month
Budget gates:
on_track— projected < 90% of budget (or no budget set)at_risk— projected ≥ 90% of budgetover_budget— MTD already exceeds budget
GET /account/123456789012/forecast
{
"account_alias": "prod",
"mtd_spend": 183.42,
"daily_run_rate": 18.34,
"projected_eom": 550.20,
"days_elapsed": 10,
"days_remaining": 20,
"days_in_month": 30,
"budget": 500.0,
"status": "at_risk",
"month": "June 2026"
}
Why this is a paid feature
Free users get the weekly digest. Solo and Team plan users get the forecast — because the "am I going to overspend this month?" question is what converts a curious engineer into a paying customer.
You hit your HN front page, your EC2 bill spikes for a week, you open CostWatch and see "status": "at_risk". That's the moment.
The forecast endpoint stacks on the existing budget endpoint (PUT /account/{account_id}/budget). Set a budget, get a forecast. If you haven't set a budget, the endpoint still works — status is always on_track without a reference point, which is honest.
CostWatch isn't deployed yet — no domain, no production environment. That's next.