A weekly AI spend report should fit on one screen and tell the people who own AI features what they spent last week, how that compares with the week before, which features moved and why, whether the month is on budget, and what someone needs to follow up. Send it on the same day every week, use your own feature names rather than provider project IDs, and give spend you can't map yet a row of its own.
Why send AI spend reports weekly
Daily numbers are noisy. Weekends dip, batch jobs land on one day, and a single heavy customer can move the total. Sent to a group every day, each wobble looks like news. Monthly reports are too slow. A change that starts on the 3rd has been running for four weeks before anyone reads about it.
A week evens out the daily noise and still leaves most of the month to act. It also matches how teams plan, so "Document Intake rose 64% last week" can come up in Monday's stand-up. Keep the daily chart for whoever is investigating.
What to include in a weekly AI spend report
Total spend and the change
Start with one line: last week's total, the week before, and the change in dollars and percent. Follow it with a sentence naming the biggest mover. For Halden, the fictional company in the template below, that's "Spend was $4,198, up 12% on the week before, mostly from Document Intake." If nothing material changed, say so.
Spend by feature, with an owner for each
Providers group spend by project, API key and model, which gives you rows like proj_8fA2…, backend-prod or a model ID. Readers think in features: the support assistant, the document pipeline, the sales email drafter. Each row needs the feature, its owner, last week, the week before and the change.
That translation needs a mapping from projects and keys to features, kept somewhere other than one engineer's memory. If your OpenAI setup wasn't built with this in mind, start with how to organize OpenAI projects and keys. Spend you can't map goes in its own Unmapped row. Leave it out and the rows stop adding up to the total, and new keys go unnoticed.
What changed, with the evidence
Take the one to three biggest movers and explain each in a couple of sentences: what changed, and what the data shows. Good evidence is specific, such as a new key, a model switch, or request volume rising while cost per request stays flat. Keep what you observed apart from what you infer. "Requests doubled on Monday and Tuesday" is an observation. "Probably the backfill job" is a guess, so write it as one and name who can confirm it. When you don't know yet why something moved, this step-by-step diagnosis narrows it down.
Budget pace
Show month-to-date spend against the budget, and an estimate of where the month lands. A simple projection is month-to-date spend plus the last seven days' average daily spend for each day left. For Halden on September 27, that's $14,389 plus about $600 a day for 3 days, or about $16,200 against a $20,000 budget. A seven-day average already includes a weekend, so it doesn't overstate the rest of the month the way a single busy weekday would. Label the projection as an estimate.
What needs attention
End with a short list of things someone should do, each with a name next to it: an owner to confirm a jump, a new key nobody has mapped, a feature at 80% of its monthly budget with ten days to go. If the list is empty, say so, so readers know it was checked.
A weekly AI spend report template
The figures below are for Halden, a fictional company, and match Braid's sample report. Replace them with your own.
AI spend report · Week of Sep 21–27 (Halden, fictional example)
HEADLINE
Spend was $4,198, up 12% ($452) on the week before.
Most of the increase came from Document Intake.
BY FEATURE OWNER LAST WEEK PREVIOUS CHANGE
Support Copilot Alex Morgan $1,279 $1,218 +5%
Document Intake Dana Ortiz $979 $598 +64%
Sales Draft Assistant Chris Lee $500 $505 −1%
Everything else - $1,279 $1,285 0%
Unmapped - $161 $140 +15%
Total $4,198 $3,746 +12%
WHAT CHANGED
Document Intake: daily spend was about 2.6× usual on Monday and Tuesday,
then back to normal on Wednesday. Requests rose with it while cost per
request stayed flat, so it was more calls on the same model. Dana Ortiz
traced it to a retry loop in the PDF parser, fixed and deployed Wednesday.
BUDGET PACE (estimated)
September: $14,389 spent of $20,000 through Sep 27. At last week's
average of about $600 a day, the month lands near $16,200. On track.
NEEDS ATTENTION
· Open: a new OpenAI key isn't mapped to a feature (found Fri, Sep 18).
Its spend shows as Unmapped until someone maps it.
· Document Intake: marked resolved Wednesday by Dana Ortiz.How to write it so people read it
Lead with the change and put the total right behind it, since "up 12%" is what readers remember. Keep dollars and percentages side by side. A 300% rise on a $5 line is $15 a week, and a 10% rise on a $40,000 line is $4,000.
Use the names your company already uses. If someone has to ask what a row means, rename the row. Keep what the data shows visibly separate from what you think it means. And send it on the same day every week, from the same cut-off, so each report can be compared with the last.
Where the numbers come from
For OpenAI, the raw material is cost and usage grouped by project, API key and model. You can read it in the usage dashboard or pull it with an Admin API key through the Costs and Usage APIs, which the Usage and Costs API guide walks through. The mapping to features lives in your own register. A spreadsheet works to start with, as long as someone owns it.
OpenAI's dates are in UTC, so define the reporting week in UTC as well. Recent days can still change after you first read them, so take the numbers at a fixed point after the week closes and note when you took them. Month-end reconciliation against what you actually paid is a separate job.
Common questions
Who should get a weekly AI spend report?
The owner of each AI feature, the engineering lead, and whoever approves the AI budget, often a founder or finance lead. Keep the list short enough that everyone on it has a reason to act on something in the report.
How do I project month-end AI spend?
Add month-to-date spend to the last seven days' average daily spend times the days left in the month. Label the result as an estimate, and take the final figure from the provider's cost data once the month has settled.
Should the report include token counts?
Not in the main table, which should stay in dollars. Tokens and request counts belong in the What changed section as evidence, for example to show that requests rose while cost per request held steady.
How do I report spend from more than one AI provider?
Keep one row per feature, summing its spend across providers, and keep the provider as a column in the data behind the report. The guide to tracking usage across providers covers how OpenAI, Anthropic and Gemini report cost and how to line them up.
Where Braid fits
Braid sends this report for OpenAI. It reads usage and cost with a read-only Admin API key, keeps the mapping from projects and keys to the features you name (Braid calls them Implementations), each with an owner, a team and a monthly budget, and emails the report every Monday: spend by Implementation, what changed, budget pace and what needs attention. Between reports, it flags unusual spend and budget thresholds in the app and by email.
The beta supports OpenAI API accounts today, and more provider connections are planned. The sample report shows the format with Halden's figures.