BigQuery cost by dbt model, package and team
Label BigQuery jobs with dbt metadata and allocate processing and storage costs to models, packages and owners.
Runs in
Claude · Slack
First optimization recommendation
The next day
ROI
Pays for itself with the first recommendation you act on
Which dbt models cost the most in BigQuery last month, and how often do they run?

Top dbt model: fct_events_daily, €2,900/month, fully refreshed 24 times a day. Making it incremental on event_date would scan about 3% of the data per run.
Analytics engineers decide what to refactor.
Playbook
What the agent does
From what Costory notices to what you decide. Costory suggests the next step in conversation, and you decide whether to go ahead.
Costory notices
A dbt model's cost jumps or a new expensive model appears.
Costory investigates
01
Label jobs
dbt adds model and package labels to BigQuery jobs.
02
Allocate
Processing and storage cost by model, package and team.
03
Dashboard
The BigQuery cost attribution template.
04
Optimize
Claude ranks models by cost and suggests fixes.
Where you see it
Claude
You decide
Analytics engineers decide what to refactor.
Why it matters
BigQuery bills by project. Data teams need to know which dbt models drive cost before they can fix them.
Who it’s for
Analytics engineers, data platform teams
Where it runs
Claude · Slack
What you get
What lands in front of your team
Model-level cost
Know which models matter.
Owned
By package and team.
Concrete fixes
Partitioning and incremental suggestions.
Sources and assistants
What it connects
Data sources
Example prompts
Or drive it yourself
Fix
Suggest optimizations for the 5 most expensive dbt models, such as partitioning, incremental builds or schedule changes.
FAQ
Questions about this playbook
Which platforms are supported?
Snowflake, BigQuery, Datadog, Confluent, Aiven, Elastic Cloud, ClickHouse, Cloudflare and more, plus any FOCUS-formatted billing data in BigQuery.
How long does this playbook take to set up?
Connecting your billing data and the Costory MCP takes under 30 minutes with Terraform or CloudFormation. The playbook itself takes minutes: pick the scope, the trigger and the Slack channel. The first billing data lands the next day, and the agent starts from there.
Can we adjust what the agent does?
Yes. You choose the trigger, the scope (team, service, environment), the channel and the format, and you can pause or change it at any time.
Does Costory change anything in our cloud accounts?
No. Costory reads billing exports and the metrics you connect, and has no write access to your cloud. Actions it takes create Costory objects only: alerts, reports, dashboards and events. Your team stays in control of every change.
Step-by-step guide in the Costory docs
Related playbooks
Run these alongside it
Costory notices
A warehouse's idle share or top query cost rises.
Snowflake warehouse review: sizing, idle time and expensive queries
Use warehouse and query history from Snowflake account usage to find oversized warehouses, idle credits and the queries that cost the most.
See the playbook
Costory notices
A bucket keeps growing in an expensive class with little access.
Storage class and tiering recommendations for S3 and Cloud Storage
Find buckets in expensive storage classes, check access patterns, and get lifecycle and tiering suggestions per owner.
See the playbook
Costory notices
Daily, as Snowflake usage refreshes.
Snowflake cost by warehouse, team and workload
Allocate Snowflake credits to teams and workloads using warehouses and query history, next to your cloud bill.
See the playbook

Put this playbook on call
Included in every plan, from €250/month. 30-day free trial: connect in under 30 minutes, get your first optimization recommendation the next day.
First optimization recommendation
The next day
ROI
Pays for itself with the first recommendation you act on
Setup
About 30 minutes
Data residency
EU
Access
Read-only on your cloud
