AI capability

From a variance to the transactions that caused it

Every system can tell you an account moved 14% against last quarter. The work — the part that takes a controller two days a month — is decomposing that into the specific things responsible and writing down why. That decomposition is a traversal when every transaction carries its dimensions.

Rows
DeliverySalesG&A
New York$412K$286K$104K
Austin$238K$141K$62K
Remote$176K$88K$39K
Every dimension is on the journal line, so any combination is a query rather than a rebuild.
Ranked by contributionDrill to the transactionDraft commentary you edit

What it does

Six things, specifically.

Decompose the movement

A 14% increase broken into the vendors, customers, projects, departments, and one-off items responsible, each with its dollar contribution to the change.

Rank by contribution

Ordered by effect on the variance rather than by size. A small account that doubled often explains more of the movement than a large one that drifted.

Separate price from volume

Did the cost rise or did you buy more? These have different causes and different fixes, and a single percentage conflates them.

Identify timing

A variance caused by an invoice landing on the first rather than the last of the month is not a real movement, and labelling it as timing prevents a pointless investigation.

Draft the commentary

A written explanation in the register your board pack uses, as a first draft. Editing beats composing from a blank page every month.

Drill all the way down

From the variance to the contributing account to the individual transactions and their source documents.

The two days a month this replaces

In most finance teams, variance analysis is a controller exporting two trial balances into a spreadsheet, computing differences, sorting by magnitude, and then investigating the top handful by opening transactions one at a time. It takes most of two days and it is re-derived from scratch every month.

It also stops early. The controller investigates the largest few movements because that is what fits in the time, which systematically misses the case where three medium movements in the same direction share one cause.

Investigating the largest variances is a strategy imposed by time, not by usefulness. It reliably misses the three medium ones that share a cause.

Price versus volume is the distinction that matters

An expense line up 22% has two very different explanations. You paid more for the same thing, or you bought more of it at the same price. The first is a vendor conversation, the second is an operational one, and reporting the combined percentage tells you to have neither.

Separating them requires unit-level data, which exists because line items and quantities are captured during extraction rather than summarised at the header. It is one of the more useful outputs and one that spreadsheet-based analysis almost never produces.

Timing variances deserve to be labelled

A meaningful share of month-over-month movement is not movement at all — it is an invoice arriving on the 1st instead of the 31st, or a payroll period with three runs instead of two. Investigating those is wasted effort and, worse, explaining them in a board pack as though they were real makes the commentary less trustworthy.

Timing effects are identified and separated before ranking, so the list you review is actual movement.

Limits

Where it does not help.

Every capability page on this site carries one of these, because a feature described without its boundaries is a claim rather than a description.

It explains what, not why

It will tell you margin fell because one client shifted toward a lower-margin service line. Whether that was a pricing failure or a deliberate strategy is context it does not have.

Dimensions have to exist

A variance cannot be decomposed by department if the transactions carry no department. Where that is the case it says so rather than producing a partial answer that looks complete.

It cannot fix a bad budget

Variance against a budget nobody believed in is arithmetic against a fiction. The analysis is only as useful as the comparison basis.

Questions

What people ask.

Can it compare against budget as well as prior period?
Both, plus forecast and same-period-last-year. Budget variance is the more common board requirement and behaves identically.
Does it write the commentary?
It drafts it. A controller edits and owns it, because it goes into a document with their name on it and they have context the system does not.
What if our budget is unrealistic?
Then variance against it is arithmetic against a fiction, and no analysis fixes that. It will surface systematically large variances in the same direction, which is usually the signal that the budget rather than the business is the problem.
Can it decompose by project or customer?
By any dimension carried on the transaction — department, location, entity, project, customer, class. Where a dimension was never captured it says so rather than producing a partial answer.
Does it work on our existing ledger?
Yes, provided the dimensions are present. Where they are not, the fix is at the point of entry rather than in the analysis.

Send us a variance you cannot explain.

Two periods and one puzzling line is enough to show you the decomposition and the transactions behind it.