Skip to main content
Sanity Check

August 16, 2023 · 1 min read · 214 words

SC 014 — The Good, The Bad, and The Ugly: dbt Updates

Analyzes dbt Labs' pricing and technical changes through a three-lens framework. The Bad: second price increase in under a year (per-seat doubled from $50 to $100, now adding usage-based pricing at…

Kitchen analytics doodle

Summary

Analyzes dbt Labs’ pricing and technical changes through a three-lens framework. The Bad: second price increase in under a year (per-seat doubled from $50 to $100, now adding usage-based pricing at $0.01 per successful model beyond 15K). The Good: teams can control costs via Slim CI workflows and smart scheduling — only run tables on schedule, refresh views only when queries change. The Ugly: dbt’s stateless, idempotent design works for beginners but reveals limitations at scale; state management via manifest comparison is powerful but complex.

Key Arguments

  • Pricing changes are manageable, not catastrophic — existing customers get a year to adapt
  • Cost control is a technical skill: dbt run -s state:modified config.materialized:table config.materialized:incremental
  • Slim CI + “defer to self” in production prevents unnecessary view rebuilds
  • State management is the frontier — understanding manifests, --state flag, and dbt clone separates junior from senior practitioners
  • Despite frustrations, value delivered exceeds costs

Writing Style Notes

The Good/Bad/Ugly framework is Western-movie fun but the analysis is measured. Not reactionary about pricing — acknowledges frustration then offers practical solutions. The closing sentiment (value > cost) shows loyalty without sycophancy.

Connections

  • index — part of the Sanity Check body of work