The bill is a symptom
Every warehouse cost conversation we join starts in procurement and should have started in the repository. Credits are consumed by queries, and queries come from models somebody wrote. Negotiating the rate without touching the models means paying a smaller amount for the same waste.
Twelve queries, most of the spend
In every engagement so far the distribution has been brutally uneven. A handful of scheduled jobs account for the majority of compute, and they are almost never the ones people suspect.
Three patterns cause most of it:
- Full refreshes that should be incremental. A table rebuilt nightly because it was easier to write that way two years ago.
- Models nobody reads. Dashboards were deleted; the pipeline feeding them was not.
- Joins before filters. Cost scales with what you scan, not what you return.
Make cost visible per team
Nobody optimises a bill they cannot see. Tag warehouses and queries by team, publish the number monthly, and the conversation changes on its own. At one client the largest single saving came in the first week, before we wrote any code, because a team saw their own figure and switched off a job.
What good looks like
- A cost dashboard broken down by team and by model
- A budget alert that fires before month end, not after
- The ten most expensive models reviewed quarterly, like any other hotspot
Then renegotiate
Once consumption is understood and stable, the contract conversation is worth having. Doing it in the other order means committing to a volume you are about to cut in half.

Owen Mbeki
Head of Platform & MLOps


