One definition, one number, traceable to its source.
Leadership and operations read the same figure, because only one definition of it exists.
Sources
PaymentsCRMSpreadsheets
Modelled. Tested.
One model per source, with tests that run on every load.
A failed test marks it stale
Nothing publishes while a source is wrong.
One definition per metric
The semantic layer is version controlled and reviewed, so revenue means one thing.
The same number
Board packOperations
Both readers take the number from the same definition instead of two dashboards that disagree.
Lineage
Any number traces back to its source row.
- Fixed price per phase
- You own the code
- 2–4 week average launch
What changes
What changes when a metric has one owner.
Four failures we are usually called in to end.
- Two dashboards answer the same question.
- One definition answers it everywhere.
- Nobody knows when a figure last loaded.
- Every tile carries a freshness stamp.
- A broken load still publishes a number.
- A failed test marks the data stale.
- A forecast sits on untested pipelines.
- Forecasts ship once the tests pass.
What we build here
Five things live under data and intelligence.
They sit on one model and differ only in who reads the output.
Business intelligence
Every metric gets one version-controlled definition, so revenue means the same thing in the board pack and the operations review.
Fix the definitions first →Data analytics
Analysis arrives with the SQL attached, the sample size stated and the assumptions written down, so a sceptical reader can rerun it.
Get an answer you can audit →Dashboards
Each page is built around the weekly decision, with drill-downs two levels deep and a freshness timestamp on every tile.
Build the page your week runs on →Predictive analytics
A forecast is evaluated on held-out data against a naive baseline, and its error is reported in business units before it reaches production.
Test a forecast before trusting it →Data engineering
Incremental dbt models test every source as it loads into Postgres, BigQuery or Snowflake, and a backfill re-runs without double-counting.
Rebuild the pipeline underneath →
How a number earns trust
Every load clears the tests before anything publishes.
Row counts, uniqueness, null rates and accepted values, run on each source as it arrives.
A load starts
New rows arrive from a source.
Row counts
Uniqueness
Null rates
Accepted values
A failure holds the load
The tile is stamped stale rather than publishing a number.
Published
A load that clears every test is the one you read without checking it first.
How a build runs
Four phases, each priced before it starts.
Audit
Where the numbers come from, where they disagree, and what the leadership team actually needs to see every week.
Model
A canonical data model with one definition per metric, documented, reviewed, signed off.
Build
Pipelines, warehouse, semantic layer, and the dashboards on top. Tested against the real questions your team asks.
Operate
A monthly rhythm of definition changes, new questions, and the governance that keeps the whole thing trustworthy.
Proof
What we have already shipped.
- Data engineering and AI infrastructureAI Infrastructure & RAGAbout half the pipeline removed
Cutting a data pipeline by about half
- Real estate investmentAI Agents & AutomationWeeks of reporting reduced to hours
Turning weeks of investor reporting into hours
- Retrieval, reasoning, and action automation on company dataAI Infrastructure & RAGRead the case study
From company data to a business action, behind a human gate
Common questions
Price, timeline, ownership: answered.
- Do we need a data team already in place?
- No data team is required. Stallwart often builds the first version of the data function with you, then trains whoever owns the weekly numbers. Where analysts already exist, we build the warehouse, the dbt models, and the semantic layer, and leave the analysis to them. Handover includes the documented model.
- Which warehouse do you use?
- Warehouse choice follows your data volume and your cloud. Postgres is enough for most mid-market reporting, BigQuery suits event data, and Snowflake earns its cost at larger scale. Stallwart writes down the reason for the pick and keeps transformations in dbt, so changing warehouses later does not mean rewriting logic.
- When should we add predictive analytics?
- Add predictive analytics after reporting is trustworthy. Stallwart evaluates any forecast on held-out data against a naive baseline, such as last month repeated, and reports the error in units your team understands. A model that cannot beat the baseline does not ship. Fixing the pipelines first is usually the larger gain.
- What does a BI or data engagement cost?
- Data work is priced per phase after a 30-minute scoping call: audit, model, build, then an optional monthly operate phase. Source count and how badly the current definitions disagree drive the figure. Warehouse and BI licences are billed to you by the vendor, which keeps the running cost visible.
- How long until we have working dashboards?
- The audit and the canonical metric model come first, and their length is set by how many sources need connectors and how clean those sources are. Stallwart ships the first trustworthy dashboard before building the rest, so the numbers get used early. The scoping call fixes your phase dates in writing.
- Our source data is messy. Does that break this?
- Source data quality is the fair objection here. Stallwart puts tests on every source model for row counts, uniqueness, null rates, and accepted values. A failed test stops the load instead of publishing a wrong number. Known gaps are documented in the model. Bad data gets fixed at the source.
- Can you connect to the systems we already use?
- Stallwart connects to the systems you already run. Stripe, HubSpot, Salesforce, Shopify, QuickBooks, Xero, Postgres, MySQL, and Google Sheets are routine sources, pulled with a managed ELT connector or a small custom one. Existing Power BI or Looker Studio reports are kept and repointed at the new model where they still earn it.
Bring the number nobody agrees on.
One 30-minute call. You leave with an audit scope, the outline of a metric model, and a fixed price per phase.
Book a call