## TL;DR

The alert watches gross (unblended, pre-credit) spend, but reserved-instance and savings-plan credits bring the net bill well under budget, so the alert cries wolf every month. Reconfigure the budget to alert on net amortized cost (or unblended cost minus credits), which reflects what is actually paid. Alert on the bill, not the sticker price.

## Error

```text
agent's budget alert fired on gross spend  -  the reserved-instance credits made net spend fine
```

## Steps

1. Confirm the false alarm: compare the alert's gross figure against the net bill after credits. Expected: net is within budget while gross exceeds it.
2. Open the budget definition and check which cost metric it evaluates. Expected: it uses gross or unblended cost.
3. Change the budget to evaluate net amortized cost (amortized RI and savings-plan costs net of credits). Expected: the budget reflects actual spend.
4. Wait for the next evaluation cycle and verify no false alert fires. Expected: alerts fire only on genuine overruns.
5. Document the metric choice so future budgets use net cost. Expected: the runbook specifies the correct metric.

## When to use

- Budget alerts fire while the net bill is fine.
- RI and savings-plan credits distort gross spend.
- Tuning budget alert accuracy.

## When not to use

- Net spend is genuinely over budget (the alert is correct).
- There are no credits or reservations (gross equals net).
- The alert threshold itself is wrong.

## Tool compatibility

AWS Budgets, Cost Explorer (current 2026 releases).

### Variant phrasings

### budget alert false positive with ris

Alert on net amortized cost, not gross.

### gross spend over budget, net fine

The credits are working; the alert metric is wrong.

### monthly false budget alarms

Switch the budget to the net cost metric.

## Why it happens

Cloud bills have two numbers: the gross sticker price and the net after commitment credits, and they diverge as RI and savings-plan coverage grows. Budgets default to the simpler gross metric, which makes every well-covered account look over budget. Net amortized cost is the economically true number (it spreads commitment costs and nets the credits), which is why it is the right alert metric for committed accounts.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_ZF1Qpon59Ax5Wj9f6K7xLA
