Reconciliation, case by case
Reconciling is not "smoothing figures". It is writing your study as a system of equations — one balance per node, one constraint per thing you know — then looking for the set of values that satisfies them all while departing as little as possible from your measurements. This page walks through the situations you will meet, in the order they arrive.
The principle, in one line
Every node requires that what comes in equals what goes out. Every measurement you bring
comes with an uncertainty, which becomes a standard deviation. The solver minimises the
sum of normalised deviations — Σ ((x − v) / σ)² — under the whole set of
constraints. Dividing by the standard deviation changes everything: moving a reliable
value by 1 costs far more than moving a vague one by 1. Your best-established figures hold
the solution, the others absorb the gaps.
A minimal example
A flour mill: wheat comes in, flour and bran go out. Three pieces of information of different natures, one consistent result.
| Flow | What you bring | Nature | What the solver returns |
|---|---|---|---|
| Wheat → Mill | 100, uncertainty 5% | Reliable measurement | 100 |
| Mill → Flour | 70, uncertainty 25% | Estimate | 78 — adjusted, within the margins you declared |
| Mill → Bran | between 15 and 25 | A bound, not a measurement | 22 — computed, inside the range |
The balance closes: 100 = 78 + 22. What moved is the 25% estimate, not the 5% weighing. Now add a fourth flow, "Losses", with nothing to constrain it: the solver can no longer tell bran from losses. It does not guess — it returns two ranges. A wide range is honest information; an invented value is not.
The cases, in the order they arrive
1. You only have the structure
No values, just nodes and flows. The system is entirely under-determined, and that is fine: it already serves to check that the diagram holds together, that the nodes sit in the right place and that nothing is lost on the way. It is the starting point of every study.
2. One measurement and some coefficients
An input tonnage, a processing yield, a split key: the system becomes exactly determined and everything follows step by step. This is the textbook case, and often the first milestone of a supply chain.
3. You have too much data — and it contradicts itself
Two sources give two figures for the same thing, or the inputs of a node do not match its outputs. The system is redundant: precisely the situation reconciliation is made for. The gaps are shared out in proportion to the declared uncertainties, and you see exactly which value moved, by how much, and whether it stayed within its margin.
4. You don't have enough — the answer is a range
The solver sorts the variables: some are determined by the system, others remain free. For the latter it returns not a figure but a minimum and a maximum compatible with everything you declared. Narrowing the range means bringing one more datum or one more constraint — so the page tells you where to look.
5. You can bracket without measuring
"Between 5 and 15% losses", "at least 200 t exported": a minimum/maximum bound is not a measurement. A measurement attracts the solution; a bound forbids a region without attracting anything. A bound is never "slightly violated": if it is incompatible with the rest, the problem has no solution and you will be told.
6. You know ratios between flows
"This flow is 30% of that one", "these three outputs split 60/30/10": these are ratio constraints, with a reference flow. A keyword splits all the outputs of a node at once. Beyond that, an assistant writes linear equality and inequality constraints between any flows of the model, however far apart — the thing a drawing tool most cruelly lacks.
7. There are stocks, and several years
A node can accumulate: the balance becomes "inputs − outputs = change in stock". Years are carried by a data dimension, and the solver works slice by slice on the same model. No second file to maintain in parallel.
8. The model has several levels of detail
When nodes are organised in a hierarchy, data rarely arrives at the same level: the national total is known, the regional detail only half. Reconciliation covers both levels at once, and parent/child consistency is one of the equations.
9. A wider model constrains yours
Downscaling takes a model already reconciled at the level above — national, say — and requires the sum of the child territories to equal the parent value, flow by flow. Only the flows genuinely determined above are propagated: what was free brings nothing and is not imposed.
10. You want to know what is robust
Monte-Carlo analysis draws input data sets around the reconciled point, respecting the uncertainty of each measurement, and reconciles every draw. For each flow you get a mean, a standard deviation, percentiles and a histogram. A flow whose 5th and 95th percentiles are close together is solidly determined by the model; one where they differ by half rests on a fragile assumption. That is what lets a report say which figures a decision can lean on.
Two different questions: reconcile, or complete
This is the most useful distinction to know, and it comes down to two checkboxes in the computation dialog.
| Reconcile | Complete | |
|---|---|---|
| The question asked | Is my data consistent with itself? | Which flows am I missing? |
| Your measurements | Adjusted so that every balance closes | Kept exactly as they are |
| The rest | Computed at the same time | Computed from your untouched measurements |
| When to use it | Quality control of a data set, publishing a balance | First exploration, authoritative data you are not allowed to alter |
Both can run in the same computation: the results workbook then shows the reconciled value and the completed value side by side, which answers both questions at once.
Reading the result — and the failures
The computation returns an analysis workbook, not just a drawing. For every flow: the input value, the reconciled value, the deviation, the range when there is one, and the status of the variable — determined by the system, or free. The diagram itself can display these results directly on the flows.
When the solver fails, it is not a whim: two constraints exclude each other. A bound incompatible with a balance, a ratio that does not sum to 1, two nodes differing only by an accent that the model therefore duplicated. The message carries a code, and the loading summary says what was created, corrected or refused. Strict name checking costs ten minutes and saves two days.
Going further
The flow analysis engine belongs to the MFASankey Reconciliation edition, with a 30-day trial (see pricing). The matching exercises — weighting, bounds, ratios, constraints, stocks, Monte-Carlo, reading results and diagnosing failures — are worked step by step inside the application, under Help → Tutorials → Advanced reconciliation.
We also run complete studies for those who would rather hand over the modelling, and our research documents the method.
