Explainer · 5 min read
Do you need a data warehouse?
A data warehouse is a database built for reading, not for running the business. Your billing system, ERP and CRM are designed to record transactions quickly and safely. A warehouse is designed to answer questions across all of them at once: sales by region against target, stock against demand, cost against output.
The difference sounds technical. In practice it shows up in meetings. Without a warehouse, every report is assembled from its own extracts, so two reports on the same topic can disagree. With one, every report reads the same tables, built to the same definitions.
Signs you are ready for one
You have three or more systems that hold related numbers — say billing, inventory and a CRM — and someone combines them by hand every week or month.
Two departments regularly bring different figures for the same measure. Revenue, active customers and stock on hand are the usual suspects.
Reports slow down or lock the operational system when they run, because they query it directly during working hours.
You want history that your source systems do not keep, such as what a customer’s credit limit or a product’s price was last March.
What it is not
A warehouse is not a dashboard, and buying one does not produce insight by itself. It is the foundation the reports and forecasts sit on. It is also not necessarily expensive: for many mid-sized businesses, a well-designed Postgres or BigQuery warehouse costs less per month than a single additional software licence.
What it takes to do properly
The technology is the easy part. The real work is agreeing definitions — when an order counts as revenue, what makes a customer “active”, how returns are treated — and writing them down so every table follows them.
Then the data has to keep arriving. A warehouse fed by a manual upload once a month quickly becomes another stale spreadsheet. It needs scheduled, monitored pipelines from each source system.
When to wait
If nearly all of your data lives in one system with good built-in reporting, and nobody is stitching exports together, a warehouse can wait. Start with clear reports from that system, and revisit when a second or third source appears.
This is the kind of work our big data engineering line does.