Watch a business explain a problem it didn't know it had.
Acme is a demonstration company, built at realistic scale. Everything here is what the system actually does with it — including the places it stops and says it isn't sure.
Acme, as Acme understands itself.
We take the company's own shape — its units, offerings, customers and stages, and build the model in it. Every answer then comes back in language the company already uses.
Everything here is a real relationship in the model, not a drawing of one.
The last two rows are where most reporting falls over. Segments and journey stages cut across the org chart rather than sitting inside it — a customer moves through six stages while buying three products from two business units. Systems built on the hierarchy alone can't follow that, which is why the interesting questions never get answered.
Around three hundred and fifty measures live inside that shape.
Financial and operating, spread across the six layers, and every one of them wired to the measures that drive it and the ones it affects. That wiring is the whole product, and it is what the next tab is about.
The registry grows install by install. A measure defined for one business is defined once, checked for orphans, and available to every model afterwards. The structure travels. Data never does.
See what we build of it → or skip ahead and watch it reason →Six layers. Every measure sits at the one whose question it answers.
Three levels of detail. The third is where the difference lives.
The shape of the business is only the skeleton. What makes it answerable is what sits inside it — layers that each tell their own story, and beneath those, the individual measures, each one carrying far more than a number.
The business, in its own shape
Everything on the previous tab. Units, offerings, customers, stages, teams — the structure the company actually runs on, which becomes the skeleton everything else hangs from.
Because it's their shape and not a template, the model can be re-shaped for the next client without being rebuilt.
Layers, each with its own story, and the stories between them
Every layer answers a different question about the business. They are not six views of the same report; they are six genuinely different subjects.
Then the part that matters most: the stories between the layers. Money doesn't stay in one of them. It moves, and the model holds those movements as explicit relationships rather than leaving them to be inferred.
Operating performance becomes financial results. A conversion rate in the journey becomes revenue in a product, in a unit, in the company, in its value — with the delay along the way accounted for.
A financial gap decomposes into an operating cause. A margin fall becomes a unit, a product, a stage of the journey, a specific thing a team is doing.
The node — one measure, and everything it carries
Every single measure in the model is a node. This is the unit the whole system is built from, and it is where the difference from a reporting tool becomes obvious. A dashboard stores a number. A node stores everything you would need in order to argue about that number.
Multiply that by every measure in the business, wired together. That is the Mirror: not a store of numbers, but numbers that know what they are made of, what they compare to, how much to trust them, and what they move.
Now watch those relationships answer a real question →The model reads in three directions — including through time.
Start from a number you don't like and trace down to what caused it. Or the model, which is watching all the time, starts from something small in the operation and traces up to what it will cost. Or it finds something in the middle and works both ways at once: back to the cause, forward to when it reaches the P&L.
“Margin is down again. I've had three explanations and none of them add up. What's actually causing it?”
Group gross margin fell 1.8 points computed, from 61.4% to 59.6%. 94% of that sits in Connected Services, and within it almost all of it is Managed Support, down 7.4 points to 43.6%.
The cause isn't price or mix. both are flat. It is the Delivery stage of the journey. Onboarding now takes 31 days measured against 19 a year ago, rework has risen from 6.2% to 12.9% measured, and the cost to serve each new customer has gone from $4,100 to $6,350 computed.
For context, the sector median onboarding time is 16 days benchmark. Acme was close to it last year. It is now roughly twice it.
Managed Support gross margin. The two gaps mean different things, and conflating them is how the wrong fix gets funded.
Plan assumed 52.5%. Actual is 43.6% — an 8.9 point shortfall, about $1.4m of gross profit against plan. This is ours: we did not do what we said we would.
Sector median is 49.0%. Acme sits 5.4 points below it. This is the headroom — what a company like this one should be able to reach.
See how the Mirror worked this out
Six steps, each one a relationship already in the model. Nothing here was searched for or inferred. the path from a group margin to a delivery team's rework rate was already wired before the question was asked.
Some of this is not Acme's doing. Implementation times have been lengthening across industrial software all year. two of your closest peers disclosed longer time-to-value in their most recent results, and analysts are attributing it to heavier integration requirements and customer-side IT constraints rather than to vendor capability.
The sector median moved from 14 to 16 days over the same period benchmark, so roughly 2 days of your 12-day increase is the market moving. The remaining 10 days is Acme. That distinction matters: the first part is a pricing and expectation-setting conversation, the second is a capacity one.
One caveat: implementation effort by customer size isn't connected absent, so the per-customer figures are averages across all segments.
Returning onboarding to 19 days recovers about $1.6m of annual gross profit — roughly 1.3 points of group margin, and on Acme's current earnings multiple, in the order of $14m of enterprise value. It ranks second of the eleven opportunities currently open.
In the Consideration stage, the qualification rate has fallen for three quarters running: 34.1% → 31.8% → 28.6% measured. Sector median is 33% benchmark, so Acme has moved from just above it to well below.
It is not an exception on any report, because nothing has gone wrong on any report. Revenue, margin and pipeline value are all still on plan.
Fewer qualified leads means fewer opportunities at Purchase: 620 → 520 per quarter computed. Win rate is unchanged at 22.4% measured, so deals won fall 139 → 117. At an average deal size of $58k stood in, that is $1.27m of bookings per quarter, or about $5.1m a year.
Acme's sales cycle runs 94 days measured and revenue recognition adds a further quarter, so this reaches the P&L in roughly two quarters — concentrated in Core Platform.
Qualification rate at the Consideration stage.
Plan held qualification at 34.0%. Actual is 28.6% — 5.4 points behind plan, and the gap is widening each quarter.
Sector median is 33.0%. Acme has moved from above the median to 4.4 points below it in three quarters, which is what makes this worth surfacing now.
See how the Mirror worked this out
Confidence on this one is mixed, and the model says so. Steps 1, 2 and 4 rest on measured data. Step 3 leans on a stood-in deal size, so the money figures are directional rather than precise. treat the $5.1m as an order of magnitude, and the direction and timing as firm.
Before anyone goes after the sales team: early-stage qualification rates have fallen across B2B industrial this year, and the sector median has drifted with them. Analysts put it down to buyers doing far more of their evaluation independently — increasingly with AI research tools, so prospects arrive later, better informed, and fewer of them ever appear as an early-stage “qualified lead” even when demand is unchanged.
If buyers are arriving later, a falling early-stage rate may be a measurement artifact, not a performance failure, and the place to look is late-stage conversion and deal size, which are both holding. Acme still fell 4.4 points further than the sector did, so there is something here, but it is smaller than the headline suggests, and cutting marketing spend on the strength of it would be the wrong move.
The fall also begins in the quarter you changed campaign mix, though I can't confirm the link: lead source isn't connected to the journey model absent.
Recovering qualification to the sector median of 33% returns roughly $3.4m of the $5.1m at risk. Fixing an upstream conversion point is materially cheaper than recovering the revenue later, and connecting lead source data would make the cause provable rather than suspected.
Margin is down 1.8 points. That is all the financials show, and nothing in them says why.
Scroll the grid sideways to move through time →
The 1.8 points of margin you are looking at today was caused two quarters ago.
And what the Delivery team is living through right now — 31-day onboarding and 12.9% rework — is not in these numbers at all. It is in next year's, through renewals. Operating performance reaches the P&L on a delay, and most companies read their results as though it doesn't. That gap is why so much management attention lands on the wrong quarter's problem.
Forecast renewal rate at the Retention stage — the consequence still in flight.
Plan carried renewals at 91.2%. The model forecasts 88.4% — $1.9m of recurring revenue against plan, none of it booked yet.
Sector median is 90.5%. Acme would fall below it for the first time, which changes the story from a soft quarter to a competitive position.
In Delivery: cycle time 31 days and rework 12.9% measured. Nobody reported it. it isn't an exception on a dashboard and it isn't in the financials.
Delivery function headcount fell from 24 to 21 measured two quarters ago. Onboarding capacity dropped 12.5% computed and cycle time began rising the following month.
That same change is what is showing up in today's margin. The number in front of your CFO and the problem in front of your delivery lead are one event, seen at two points in its life.
See how the Mirror worked this out
The renewal projection uses a sector churn-response curve stood in because Acme has only five quarters of its own history at this satisfaction level — enough for direction, not enough for precision. The model says which of these two claims is which.
Rework in Delivery raises escalations in Support (+18% measured), which depresses satisfaction at Retention, which the model projects into a renewal rate of 88.4% against 91.2% computed.
That is $1.9m of recurring revenue next quarter, and around $14m of enterprise value over the following one if the pattern holds.
Peers who reduced delivery capacity in the same period reported renewal pressure two to three quarters later — the same lag the model is projecting here, which is a reason to take the forecast seriously rather than discount it as a model artifact.
There are two decisions here, not one: what to do about the 1.8 points already booked, and what to do about the $1.9m still in flight. The second is cheaper, and it is the only one you can still change.
The hiring market for these delivery roles has loosened considerably since the cut. the three positions would cost less to fill now than they did to remove. That is not in your data; it is in the market.
Restoring three Delivery roles costs about $310k a year. Against $1.6m of recoverable margin and $1.9m of protected revenue, the model ranks it first of the eleven opportunities currently open.
The hard part isn't producing an answer. It's producing one that survives being taken apart.
Anything can generate a confident explanation. What separates a system you can run a company on is whether the answer still stands after someone senior has pulled at it, and almost everything we have built exists to make that true.
Around 40% of what we have built is not the answering. It is the checking.
Guards that run before anything is published, at every layer, on every measure and every relationship. A model that computes fluently and cannot police itself is the most dangerous object you can put in a boardroom, because it is wrong at the speed of confidence. So the machinery that refuses is roughly as large as the machinery that answers.
Revenue at the company, in a unit, for a product and from a segment are not four spreadsheets that ought to agree. They are one measure at four scopes, and reconciliation is enforced rather than hoped for.
Nothing is computed by a rule buried in a report. That is what makes tracing possible, and guessing impossible, because there is nowhere for a guess to hide.
A measure that connects to nothing is a defect, not a data point. Structural checks refuse a model that has drifted, so the registry stays coherent as it grows install by install.
Confidence is carried on every value and folds to the weakest input. Where the evidence will not support a claim, the system does not make it, and says which part it would not stand behind.
Joyce never produces a number. Every figure is computed; everything she adds is context and framing. The two are deliberately kept apart, which is what makes the output usable in a room where it will be challenged.
Every design decision in the engine is argued against before it is built, and the tests are written to fail first. The discipline is unglamorous and it is the reason the numbers hold.
None of these is a feature. They are properties of how the thing is constructed, and they had to be decided before the first number went in. That is what makes this a system rather than a set of capabilities, and it is why the answer you get on the second question costs almost nothing compared to the first.
You don't need clean data to start. You need honest data.
The usual reason a system like this never gets used is that the business is told to fix its data, its definitions and its processes first — a project that takes a year and often never finishes. This model was designed the other way round.
These are Acme's, not a typical client's — every install starts somewhere different, and the model tells you where.
Acme at first install: 41% measured, 28% computed, 24% standing in, 7% absent. A first install answers real questions from day one. it simply tells you which answers are firm and which are indicative.
Every answer carries the confidence of its weakest input. A finding built partly on a stand-in figure is marked that way, so you always know how hard to lean on it. And a total that only covers three of four contributors says exactly that, instead of quietly presenting itself as complete.
Start small, and let it grow
A first install can run on a narrow slice of the business with plenty of stand-ins. It still answers real questions. it just tells you which answers are firm and which are indicative.
As more of your data lands, the stand-ins are replaced and the same questions get sharper. Nothing has to be rebuilt.
Your data problems become visible instead of fatal
Because the model states what it's missing, the install produces something useful on its own: a precise list of the data that would most improve the answers, ranked by what it would unlock.
Most companies have never had that list. They've had a general sense that the data is bad.
Data quality is a dial, not a gate. That's a deliberate design decision, and it's the difference between a system that installs in weeks and one that waits on a transformation program.
The things people ask before they ask anything else.
Plainly answered, including the ones where the answer is no.
What actually comes out of the box?
A growing registry of financial and operating measures and the relationships between them — calibrated to the sector first, then to your business. Enterprise: revenue, margin, free cash flow, return on invested capital, enterprise value. Business unit and product: contribution margin, cost of revenue, average contract value, utilization. Customer: lifetime value, cost to serve, retention, share of wallet. Journey: conversion, cycle time, rework, first-pass yield, value created and matured. Teams: capacity, throughput, backlog, SLA attainment. How much of it is pre-built for a given sector depends on how far we have taken that sector — which is a question worth asking us directly about yours.
Is this a dashboard?
No, and the difference is structural rather than cosmetic. A dashboard stores numbers and draws them. Here every measure carries what it is made of, what it compares against, how confident it is, and what it is wired to. That is what lets you ask why and get an answer that opens.
Is this a chatbot or a copilot?
Joyce is how you talk to the model, and she is a real part of the product, but she never produces a number. Every figure is computed by the model from your data. Joyce interprets, frames, and brings the outside context. The two are kept deliberately apart, which is why you can take what you are told into a board meeting.
How does it know the difference between a cause and a coincidence?
Because the relationships are declared, not inferred from correlation. A derived measure states what it is computed from, and the model can only trace a path that has actually been modeled. If two things move together but nothing connects them, no path exists and none is drawn.
What data do you need?
A fixed request, agreed before anything starts — financial statements, the operating measures you already track, and your own structure. Three years of history where it exists. If something on the list does not exist, that is an answer too: the model works around it and says so.
Our data isn't clean. Will this work?
Yes, and the last tab is the whole answer. Every number is marked measured, computed, standing in, or absent. Nothing is quietly guessed. A first install runs with plenty of stand-ins and still answers real questions — it simply tells you which answers are firm and which are indicative.
What happens when it doesn't know?
It says so, and it says how far it will go. A finding built partly on a stood-in figure is marked that way. A total that covers three of four contributors says exactly that rather than presenting itself as complete. Where the evidence will not carry a claim, the model declines to make it.
Can it be wrong?
Yes. A model is only as good as what it has been told about the business, and a relationship that was modeled badly will produce a bad answer. What it will not do is be wrong silently. Every answer opens to the steps and inputs underneath it, which is how a wrong one gets caught.
Questions about scope, timing, price and how an engagement runs are better answered in conversation than on a page. Request a fit call →