Back to the work library

Business metrics and reporting platform

Fifteen reporting pages and one metric registry, built so every metric carries its formula, its source, the vintage of the data behind it and its caveats.

runningEvidence: reportedSynthetic visualsCase study
Where
Purchasing and operations
Built from
Not recorded
Source copy reviewed
Evidence status
Source copy checked on 8 September 2026. These historical statements have not been independently re-verified for this website.
On this page

The problem

The book holds about 900 properties and buys from 285 vendors. The numbers that describe the business sit in the ERP, in company card transactions, in fuel records and in month-end spreadsheets. Each source has its own timing and its own gaps. A figure moving month over month can mean the business changed, or it can mean a source stopped arriving, and the figure by itself does not separate those two. I specified a reporting surface where every metric carries its formula, its source, the vintage of the data behind it and its caveats, so a reader can tell which case they are looking at before they act on it.

Earlier work

I built a daily operations brief for leadership covering vendor scorecards, price anomaly flags, AP exceptions and AR aging. The reporting platform develops that work into pages a reader can investigate.

My role

I defined the operating problem, specified the system, directed the build and reviewed the result. AI agents wrote most of the code under my review gates.

I specified the page subjects and metric definitions, including source dates, missing-data behavior and the thresholds a reader uses to investigate exceptions.

What was built

Fifteen pages in the September 7 deployment check. Sixteen layouts exist; fifteen are served and one is generated to a file only. By subject:

  1. Overview, the headline figures with their vintages.
  2. Money: revenue, margin, sold-work costs, receivables, card spending and a four-week ticket-revenue outlook, with the page’s stated limits.
  3. Sales: pipeline, and contract survival by the year a contract started.
  4. Operations: recorded field work and schedule history, time and payroll readiness, the four-week expectation, projected crew hours, and weeks that fall outside control limits.
  5. Customers: the book of business and reachability gaps.
  6. Fuel: current-period consumption and cost, fuel-type comparisons, reconciliation and truck economy. A combined metrics table and an explanation of variance accompany the outlook for the next three months.
  7. Fuel by route.
  8. Items and vendors: spend and exposure, catalog quality and vendor quality.
  9. Data hygiene: 35 checks.
  10. Spend and credit: the payment rails, top vendors over trailing twelve months, card transactions by month, a spend integrity check shown check by check, and possible duplicate payments shown pair by pair.
  11. Forecasting: four series four weeks out, a model bench, how past projections actually scored, and season and trend per metric.
  12. Paper invoices: bills and line items by month, who bills us most, the paper price beside the operator-entered price for diesel and regular, and every ingest verdict.
  13. ERP audit: this week by domain, and findings run by run.
  14. Estimating history: frozen, ending June 2026, aggregates only.
  15. Data health: instruments, the watchdog strip, nightly card-pull completeness, and retrieval index gates.

One metric registry, in code. Every metric carries a formula, the source it reads, an owner, a granularity, the vintage of the data behind it, its caveats, a privacy flag, and, where one is set, a threshold with the authority who ruled it. Metrics marked private are withheld from published output.

Navigation built for answering a question. A “Find a business figure” search with a state filter runs over every metric that is not withheld, and each result links to that metric where it lives on its page. A “What needs a look” list orders exceptions ruled against a threshold first and figures that could not be computed second; metrics that were never graded are never judged. A metric with no value prints the words “no data” and the reason in the space the number would have occupied, so a blank never reads as a zero.

Evidence attached to every figure. A definition disclosure on each tile, an exact-value table beside every chart including projection ranges and missing points, and a methods disclosure at the page level. Printing expands the evidence and the definitions, then restores the reader’s state on screen.

The source record describes the wider components as follows. These rows are dated implementation records, not a new check of every running job:

Part State
Fifteen served pages and the metric registry Shipped
Data hygiene, 35 ruled read-only checks Deployed nightly
Weekly audit run, 104 to 108 checks, report-only Deployed
Naming standard, 40 rules with drift checks Deployed; ratifying a fix regenerates the fix list and applies nothing on its own
Cross-rail spend cube and monthly sweeps Running; its specification is still a draft
Daily card bills and transaction pull Deployed
Renewals view Prototype; a read-only query with no timer
Estimating history Frozen at June 2026

How it works

A reader starts with a headline figure, opens its definition and checks the source date before following the supporting records. A spend question can lead through card charges, purchase orders, invoices and reconciliation exceptions. A duplicate-payment flag is a reason to investigate, not proof of the cause of an increase.

Coverage and data-health information qualify what the reader can conclude. Missing inputs produce a stated reason rather than a plausible zero. The monthly fuel workbook carries definitions with the exported values.

Figures and their status
Release-check table for the reporting service: every served route with its status, size and load time under the reader credential; the refusal and control cases with status, size and body hash; and cold, warm and post-expiry cache timings.
Figure 1. Release check of the reporting service from the recorded capture: every served route answered, the refusal cases answered with one byte-identical body, and the cache timing that separates a cold load from a warm one./media/business-reporting/route-check.svg.provenance.yaml

Evidence

The record: deployed, used, measured
EvidenceDated account
DeployedAll fifteen served pages answered successfully.
UsedA design record describes a daily reading; nobody counted it.
MeasuredNo reader, session or page-view count.
Claim Date What was checked
Deployed 2026-09-07 All fifteen served pages answered successfully under the reader credential at the release check, and the checked unauthorized-access cases were refused.
Used Stated, undated A design record states that this is my daily reading. That is a statement in a document, not a measurement. The monthly workbook publishes into a private repository.
Measured None There is no view instrumentation. No count of readers, sessions or page views exists.

Every claim on this page is my own account of my own work.

Observed results

Outcome not yet measured. No before-state was recorded, so there is no baseline to compare against, and the platform does not count its own use.

What I would measure, given a baseline and instrumentation:

  • Time from a question being asked to an answer somebody will act on.
  • Share of month-end figures that get revised after they are published.
  • Share of flagged exceptions that turn out to be real when someone checks them.

None of those are running today.

What this does not show

  • Aggregates only. Per-person figures stay behind the access credential and are published nowhere, this page included.
  • The estimating history page is a frozen snapshot ending June 2026. It cannot support current weekly forecasts, so those projections refuse in words and print no number at all.
  • The source record measured about fifteen seconds for a cold load and about four hundredths of a second for a warm load, with a five-minute cache. These are historical timings, not a current benchmark.
  • A synthetic walkthrough can demonstrate the interface. It does not record a real operational investigation.
  • Nothing here has third-party corroboration. None of it has been independently audited.

Relevant next action

If this resembles your problem, the first engagement on the consulting page is the workflow review: a paid review of the reporting you already run, and of where its figures disagree with each other.

Related work: ERP data checks, which is the hygiene page above as its own entry, and the account coverage and territory map, built for the same company off the same ERP mirror.

Walkthrough

Synthetic demonstration with fictional data. Stock synthetic narration.

If playback is unavailable, read or download the transcript below.

Read the full transcript

Synthetic demonstration with fictional data. Stock synthetic narration. Start with the overall picture: money, sales, operations and data quality. This demonstration uses fictional figures. The revenue outlook is one hundred and twenty thousand dollars. That outlook combines sixty thousand dollars of weighted open pipeline with sixty thousand remaining on a won contract. Open the definition to see what the figure includes and when it was measured. The two components are counted once. Sales shows one hundred and forty thousand dollars of open pipeline before probability weighting. This gives the manager a starting point for a sales review. Operations highlights six unscheduled tickets. The next step is to review the schedule and the work behind that count. Forecasting shows why a projection is unavailable: there are only three observations. The page keeps that reason visible. A recorded zero for undeposited payments means a value was supplied. It is different from a missing observation. Filter for unavailable figures to find the questions the data cannot yet answer. The measured zero stays out of that list.

Download transcript

Full tour

Synthetic demonstration with fictional data. Stock synthetic narration.

If playback is unavailable, read or download the transcript below.

Read the full transcript

Synthetic demonstration with fictional data. Stock synthetic narration. Start with the overall picture: money, sales, operations and data quality. This demonstration uses fictional figures. The revenue outlook is one hundred and twenty thousand dollars. That outlook combines sixty thousand dollars of weighted open pipeline with sixty thousand remaining on a won contract. Open the definition to see what the figure includes and when it was measured. The two components are counted once. Sales shows one hundred and forty thousand dollars of open pipeline before probability weighting. This gives the manager a starting point for a sales review. Operations highlights six unscheduled tickets. The next step is to review the schedule and the work behind that count. Forecasting shows why a projection is unavailable: there are only three observations. The page keeps that reason visible. A recorded zero for undeposited payments means a value was supplied. It is different from a missing observation. Filter for unavailable figures to find the questions the data cannot yet answer. The measured zero stays out of that list. Spend brings card and bill totals into view. Vendor comparisons show where spending is concentrated. Inspect the chart and its exact-value table together. The vendor amounts are shown in dollars. Invoices brings bill counts and line-item history together. Use the price comparison to review changes across purchases. Customers surfaces the property book and gaps in contact coverage. A manager can review where more complete account information is needed. Fuel tracks gallons and cost by fuel type. Here, four hundred gallons amounts to fourteen hundred dollars. The fuel chart and exact values keep the breakdown visible, so the manager can inspect the mix of fuel used. Follow the four hundred gallons into route allocation. The two routes add back up to the fuel total. Estimating brings win rates and service price comparisons into the review. Actuals coverage helps determine how much margin evidence is available. Open the estimating chart to compare the series, then use the table for precise values and units. Items combines material spend with catalog quality checks. Source dates stay visible so older records can be recognized. Data hygiene groups findings by check. A recorded zero remains visible alongside checks with findings. The audit view shows findings across reporting periods. This fictional nine, eight, six sequence demonstrates how that history can be inspected. Data health puts source freshness in the review. It gives the manager a place to see which sources need attention. The source coverage separates a June snapshot from a September rollup. Check the observation date before treating a figure as current. This tour covered fifteen reporting subjects. For another business, the first step is to agree on the decisions, connect the relevant systems, and define the numbers.

Download transcript