Data engineering · Modelling, metrics and reporting
The same question gets the same answer everywhere
We build a shared data model where each important figure is defined once, with reporting built on top. Revenue then means the same thing in finance, in sales and in the board pack, and meetings can focus on the business rather than on whose figures are right.
Where this starts
Meetings spent arguing about whose figure is right
When two departments bring different figures for the same thing, the rest of the meeting is spent reconciling them rather than making decisions. The cause is almost never a mistake. Each report defines revenue, an active customer or margin slightly differently, and nobody can see the difference without reading every report’s logic.
What we usually find
- Three versions of revenue, each defensible and none agreed
- Business rules hidden inside individual reports
- A board pack put together by hand every month
- Reports that take days to produce and minutes to dispute
- Dashboards that nobody opens, because nobody trusts them
- New questions that take a couple of weeks to answer
Our position
A figure defined in two places will eventually give two answers. A better dashboard will not fix this. The fix is to agree the definition once, and record it in one place that every report uses.
What the work covers
Defined once, used everywhere
The data model is the less visible half of the work, and the half that matters most. Reports built on an agreed model are quick to produce and hard to dispute.
Agreeing definitions
We work with finance, sales and operations to agree what each core figure means, including the awkward exceptions. Each decision is recorded, with an owner.
Structuring data for questions
We structure the data around the way the business actually asks questions. A new report then means combining existing pieces, rather than starting a new engineering project.
A single set of definitions
Each figure is defined once in code, with version control and tests, and every report uses that definition rather than recreating it.
Reliable history
Changes to customers, products and territories are recorded over time. Last year’s figures stay as they were, rather than changing without explanation.
Reports built for decisions
Dashboards are designed around the decision they support, with each definition one click away. Reports that duplicate or contradict them are retired.
Self-service within limits
Business users can answer their own questions using the agreed definitions, without being able to create a fourth version of revenue.
How the figures stay agreed
Definitions under version control
Agreement on a definition fades over time unless the definition itself is protected. These measures protect it.
- Versioned logic
- Every change to a figure or to the model is reviewed and versioned. When a figure moves, it can be traced to a decision and a person.
- Logic tests
- Automated tests check that totals add up, that identifiers are unique and that relationships hold. They run on every change to the model.
- Impact check
- The reports affected by a change to the model are listed before it is released, so nobody is surprised by a figure changing on a Monday morning.
- Documentation
- Definitions are published directly from the model, so the documentation always matches what is actually being calculated.
- Report usage
- We track which reports are opened, and by whom. Unused reports are retired, keeping the number of reports small enough to trust.
What you are left with
- Written definitions, each with an owner, for the figures that matter
- A shared data model that every report uses
- Historical figures that do not change without explanation
- Dashboards built around decisions, with definitions attached
- Fewer reports, with duplicates retired
Bring us the two reports that disagree
Finding out why they differ is usually the quickest way to show what an agreed model would change.
