Appearance
Forecast
Six months out, by project and by team, with confidence. Two surfaces over the same model: a chart that overlays the last six months of actuals with the next six months of forecast, and a table you can flip between project and team views.
How the forecast is built
The model is per-person. Every engineer's monthly token rate is derived from their last 90 days of telemetry. That rate is then attributed forward across their project allocations from the workforce model, summed back up to project, team, and org level.
Three confidence levels — LOW, MEDIUM, HIGH — based on:
- How stable the engineer's usage has been across the 90-day window.
- How far forward the project allocation actually runs (forecasting cost for a project that ends next month is more reliable than one that runs all year).
- Whether the project has had any actual cost in the last 30 days to anchor against.
The full model — confidence inputs, smoothing, edge cases — is documented in the AI usage API reference.
The chart
A line chart spanning a 12-month window: 6 months of actual cost (solid line) plus 6 months of forecast (dashed line). The forecast line re-anchors at the seam — the last actual month — so the two lines visually connect at "today".
Hover any point for the exact value. The Y-axis is in your reporting currency (set on the org).
The table
Below the chart, a toggle between By project and By team.
By project
| Column | What it is |
|---|---|
| Project | Project name with one-line rationale ("Q3 staffing of 4 engineers at 0.8 FTE…") |
| Window | Project start date to end date (or — for open-ended) |
| Staffing | Headcount and total FTE on the project |
| Input tokens | Estimated monthly input-token rate |
| Output tokens | Estimated monthly output-token rate |
| Monthly cost | Estimated monthly cost in the project's currency |
| Actual 30d | Actual cost over the last 30 days, for sanity-check |
| Confidence | LOW / MEDIUM / HIGH pill |
A refresh icon at the end of each row recomputes that single project's forecast on demand. The header carries a Refresh all button that does the same for every project on the org.
By team
Same shape, but the granularity is teams instead of projects. The columns drop the Window and Project and gain Team and member count.
When to refresh
Forecasts auto-refresh on a schedule, but you'll want a manual refresh after:
- A material allocation change in Workforce → Allocations.
- A provider price change.
- A clear shift in usage pattern (e.g. a team adopted Claude Code and your last 90 days don't reflect that).
The toast that comes back tells you how many forecasts were recomputed.
Confidence — what to trust
HIGH means the rate is stable and the project window is well within the 90-day inference horizon. Plan against it.
MEDIUM is the typical case. Use it for direction, not for exact billing.
LOW means either the engineer's usage is volatile or the project window stretches beyond what the model can confidently extrapolate. Treat as an order-of-magnitude check.
Empty state
If the org has no allocations or no captured telemetry yet, the table shows an empty state asking you to wire up the Flowstate Agent or check the Usage providers configuration.