Set up development, staging, and production with dual execution
When everyone develops against production because there is no separate environment to test in.
- Environment
Platform
73 RecipesRecipes you can run on a local DuckDB file, at no cost and in no queue. The shortest way to see what the work feels like before it touches a shared platform.
When everyone develops against production because there is no separate environment to test in.
When one model is hundreds of lines long and nobody dares touch it.
A dbt model is correct but a full refresh is too slow or too expensive to run routinely.
When a definition changed and months of history need recomputing, but a full refresh would take all weekend.
When a scheduled SQL script is the real production logic and nobody can prove a rebuild would match it.
When the connector bill changed shape, or the connector has been broken with a pending fix for weeks.
When a materialized view refreshes on a schedule nobody wrote down and downstream reports assume that cadence.
When a transformation only exists as a notebook someone runs by hand before the numbers go out.
When a Spark notebook is the only thing that lands a source into bronze and nobody can run it unattended.
When a scalar SQL function is called from a dozen models and lives outside version control.
When a script is about to be written to pull the same API every night and nobody has decided what happens when a field changes.
When someone is about to write a Python script to copy a database table by hand.
When a folder of files lands on a schedule and nobody checks whether a file is missing before the build runs.
When the spreadsheet everyone depends on moved a column again and nothing downstream noticed until it broke.
When a fact table is too big to rebuild from scratch and has to be incremental from the first version.
When a customer's segment changes and the history rewrites itself instead of tracking the change.
When stakeholders notice yesterday's data before the data engineer does.
When revenue is defined six different ways across six dashboards and nobody can say which one is right.
When the only scheduler for a DuckDB or MotherDuck project is a cron entry on someone's laptop.
When month-end stalls every period because the GL doesn't tie to the AR and AP subledgers.
When the close pack is rebuilt by hand in a spreadsheet every period.
When the aging report is rebuilt by hand each month and never reconciles to the ledger.
When AP can't say how much sits past terms without pulling a manual extract from the ledger.
When AP paid a duplicate invoice and only found out after the payment run cleared.
When the budget lives in a spreadsheet and variance analysis is a monthly copy-paste exercise.
When contracts, invoices, and recognized revenue live in three systems and the deferred-revenue roll-forward doesn't tie.
When HR, finance, and the board deck each report a different headcount for the same date.
When leadership asks whether attrition is rising and where, and the answer takes a week to produce.
When payroll expense in the GL doesn't match the payroll register and nobody can say why by how much.
When a pay-equity review is due and compensation data can't leave HR unmasked.
When pipeline coverage changes every time someone re-runs the CRM report because history isn't kept.
When sales, finance, and the bank each report a different number for the same quarter's business.
When comp plans are calculated in spreadsheets and a payout dispute surfaces after the fact.
When on-hand quantity disagrees between the warehouse system and the ERP and nobody notices until the annual count.
When customers complain about late deliveries but OTIF differs depending on who computes it.
When procurement can't answer how much the company spends with a vendor across entities without a manual pull.
When the cloud bill grew sharply month over month and nobody can attribute the increase to a team or product.
When a SaaS renewal is due in weeks and nobody knows how many of the paid seats are actually used.
When support reports SLA compliance from a vendor dashboard nobody on the data team trusts or can reproduce.
When the same customer appears three different ways across systems and mail bounces on half the addresses.
When three source systems each carry their own customer id and every report double-counts the same person.
When category roll-ups never agree because the ERP, the e-commerce platform and the marketing catalog each keep their own hierarchy.
When revenue by customer is split across a dozen subsidiaries and nobody sees the group total.
When "what's our churn rate" gets three different answers depending on who is asked.
When segmentation runs in an analyst's notebook and nobody else can rerun it.
When the acquisition-payback conversation lacks an LTV figure anyone trusts.
When a customer who opted out of email still gets a marketing send from a different system.
When product analytics can't be reproduced outside the vendor's own dashboard.
When marketing and sales each have a spreadsheet proving their own channel drove the same revenue.
When reports mix currencies because each source system stored whatever rate it had on hand.
When week boundaries differ between two reports because each model computes its own calendar logic.
When sell-through and days-of-supply are recomputed in a spreadsheet from three separate exports every week.
When trade spend is the second-largest cost line and nobody can say what any promotion actually paid back.
When roll-rates get rebuilt every quarter from a query nobody on the current team owns.
When the monitoring vendor wants governed features and the team hand-writes them with no tests behind them.
When actuarial rebuilds the triangles from a fresh claims extract every quarter.
When revenue cycle can't see denial rates by payer without a manual claim-by-claim match.
When every department applies a different exclusion list before reporting the readmission rate.
When enrollment against target lives in a slide deck that gets updated by hand from EDC exports.
When OEE comes from a spreadsheet a shift supervisor fills in by hand.
When metered and billed consumption diverge and nobody can say how much of the gap is unbilled energy.
When call-detail files arrive daily and a missing or short file goes unnoticed until someone downstream complains.
When net revenue retention depends on which spreadsheet happens to be open when the board asks.
When revenue management pulls occupancy and RevPAR nightly and the numbers don't match finance's month-end figures.
When awards, obligations, and spend are tracked in separate spreadsheets that never reconcile to each other.
When operations can't say which vehicles are underused without a manual pull against the trip log.
When on-time percent by lane gets recalculated with a different tolerance every time someone asks.
When a pull request changes dbt models and nobody wants to merge it on faith.
When the bill jumped sharply and nobody can name which model caused it.
When the warehouse is changing and the dbt project has to follow it.
When a macro's SQL is written for one dialect and silently produces wrong results on the other.
When a scheduled job needs to run on a new platform without anyone renegotiating what it is supposed to do.
When two platforms are running the same logic in parallel and nobody has proven they agree.