Virgin Media O2 Slashes Compute Costs 30% With Stateful dbt Engine
Virgin Media O2 has cut compute costs by roughly 30% after rebuilding its dbt deployment around a stateful engine, two of its analytics engineers revealed at a dbt Summit 2026 breakout session.
Virgin Media O2 has cut compute costs by roughly 30% after rebuilding its dbt deployment around a stateful engine, two of its analytics engineers revealed at a dbt Summit 2026 breakout session.
The UK telecoms network runs a single-tenant dbt platform instance on BigQuery serving 42 million customers, supporting more than 300 dbt users across over 100 federated projects and 5,500-plus models.
The problem was statelessness. Every job in the team's UAT and production environments rebuilt from scratch, so a single-column change in one staging model could trigger a full reparse, recompile and rerun - sometimes twice. Gordon Curzon, head of analytics engineering, described watching the reload button refresh every 30 seconds while the team's largest job, the 1,400-plus-model "Nutcracker" run, completed. Mel Simpson, lead analytics engineer, said the costs went beyond compute: hours lost to context switching and rework, plus opportunity cost from analysts waiting on pipelines instead of delivering insight.
The fix was dbt v2, a ground-up rewrite of the engine in Rust, paired with dbt State, which lets dbt skip or reuse work rather than rebuilding every node. Tested against the Nutcracker job, the 1,424 models took about 1 hour 53 minutes without state and roughly 1 hour 13 minutes with it - a 35% improvement. Of those models, 1,392 reran while 32 were reused outright. BigQuery slot consumption fell from about 4,500 to 3,400 slots per hour, saving roughly $96 on a single run under on-demand pricing, a 25% reduction on that job.
Across the full migration, the team validated about 30% lower compute costs - beating its original 20% target - roughly 35% faster model run times, a 40% improvement on the largest job, about 25% less CI/CD pipeline dependency, and roughly 35% less developer time spent waiting on builds.
The migration required clearing years of technical debt: untouched models, ambiguous SQL and third-party packages not yet updated for dbt v2. Open items remain, including aligning dbt v2 with custom FinOps configurations that route jobs between BigQuery's on-demand and reservation pricing - a safeguard the team called non-negotiable before full production rollout. Next up: column-level static analysis and early experiments connecting the dbt MCP server to AI workflows that can diagnose job failures in minutes rather than hours.
Source: dbt Labs Blog
Ready to Modernize Your Business?
Get your AI automation roadmap in minutes, not months.
Analyze Your Workflows →