Skip to content

Hierarchical Forecast Reconciliation Explained

10 min read · updated August 11, 2026

Forecast four products separately, forecast their two categories separately, forecast the total separately, and you will get three different answers for the same quantity. Reconciliation is the step that turns those into one set of numbers that adds up, and the choice of method decides whose information survives.

Coherence, and why base forecasts are not

A set of forecasts is coherent when it obeys the same aggregation constraints as the data: the category equals the sum of its products, the total equals the sum of its categories. The historical data is coherent by construction, since the aggregates were computed from the components. Forecasts are not, because each one was produced by a model fitted to its own series with its own errors, and nothing connected them.

The incoherence is not a bug in any one model. Aggregate series are smoother — noise partially cancels when you add — so the model fitted to the total is often a better model, sees the seasonality more clearly, and produces a forecast that genuinely contains information the bottom-level models do not. Meanwhile the bottom-level models know about a product that was discontinued. Both are right about something, and the arithmetic says they cannot both be kept unchanged.

The summing matrix

The formalism is small. Let there be m bottom-level series and n series in total including all aggregates. The summing matrix S is n × m and encodes the hierarchy: row i, column j is 1 if bottom series j is part of aggregate i. For two categories of two products each:

series order:  Total, A, B, A1, A2, B1, B2      (n = 7, m = 4)

     A1 A2 B1 B2
T  [  1  1  1  1 ]
A  [  1  1  0  0 ]
B  [  0  0  1  1 ]
A1 [  1  0  0  0 ]
A2 [  0  1  0  0 ]
B1 [  0  0  1  0 ]
B2 [  0  0  0  1 ]

Any coherent set of forecasts can be written as S times some vector of m bottom-level numbers. So every reconciliation method has the same shape: take the n base forecasts, map them down to m numbers with some matrix G, then map back up with S. Reconciled = S G (base). The methods differ only in G, and reading a method as a choice of G is the fastest way to see what it throws away.

Bottom-up and top-down on one hierarchy

Take these base forecasts, produced independently and therefore incoherent — the four bottom series sum to 90, the two categories sum to 97, and the total says 100:

base:   Total = 100
        A = 55        B = 42
        A1 = 30  A2 = 20   B1 = 25  B2 = 15

Bottom-up keeps the four bottom forecasts and discards the rest. Its G is the m × n matrix that is zero on the aggregate columns and the identity on the bottom ones. Reconciled: A1 = 30, A2 = 20, B1 = 25, B2 = 15, A = 50, B = 40, Total = 90. Coherent, and the information in the total forecast has been thrown away entirely.

Top-down keeps the total and splits it by proportions. Its G is zero everywhere except the first column, which holds the disaggregation proportions p. With historical proportions of 0.30, 0.22, 0.28 and 0.20:

A1 = 0.30 x 100 = 30      A2 = 0.22 x 100 = 22
B1 = 0.28 x 100 = 28      B2 = 0.20 x 100 = 20
A  = 52     B = 48     Total = 100

Also coherent, and now it is the bottom-level forecasts that have been thrown away — including whatever any of them knew. Compare the two answers for B: 40 under bottom-up, 48 under top-down. Same hierarchy, same base forecasts, a twenty per cent disagreement produced entirely by the choice of G.

There is a further asymmetry that is easy to miss. Reconciliation preserves unbiasedness only when S G S = S, which says that a set of forecasts that was already coherent is left alone. Bottom-up satisfies that. Top-down in general does not, because splitting an aggregate by fixed historical proportions cannot reproduce arbitrary coherent bottom-level values. So top-down forecasts are biased at the bottom level even when every base forecast was unbiased, which is the standard result in this literature and the reason top-down is rarely the recommendation despite being the most common practice.

The least-squares compromise, worked

The alternative is to keep all of the base forecasts and adjust all of them as little as possible. Ordinary least squares reconciliation, from Hyndman and colleagues, uses G = (S'S)⁻¹S', which is the projection that finds the coherent set closest to the base set in plain Euclidean distance. On the numbers above:

S'S = [ 3 2 1 1 ]        S'(base) = [ 100+55+30 ]   [ 185 ]
      [ 2 3 1 1 ]                   [ 100+55+20 ] = [ 175 ]
      [ 1 1 3 2 ]                   [ 100+42+25 ]   [ 167 ]
      [ 1 1 2 3 ]                   [ 100+42+15 ]   [ 157 ]

solving:   A1 = 32.43   A2 = 22.43   B1 = 26.43   B2 = 16.43
           A  = 54.86   B  = 42.86   Total = 97.71

That total, 97.71, is the interesting number. It is not 90 and it is not 100; it sits between the bottom-up answer and the base total, closer to the sum of the category forecasts, because the least-squares solution is pulled by all seven base forecasts at once and there are more of them at and below the category level than above it. Every base forecast moved and none was discarded. That is what “adjust all of them as little as possible” buys, and it is available without any decision about which level you trust.

What MinT changes

Ordinary least squares implicitly treats every base forecast as equally reliable, which is plainly false: the total is forecast from a smoother series and its errors are usually smaller in relative terms, and the errors at the bottom level are correlated with each other and with the aggregate’s. MinT, from Wickramasuriya, Athanasopoulos and Hyndman in the Journal of the American Statistical Association in 2019, replaces the identity with the covariance W of the base forecast errors, giving G = (S'W⁻¹S)⁻¹S'W⁻¹. It minimises the trace of the reconciled forecast error covariance among all unbiased reconciliations, which is the property the name refers to.

The practical problem is W. It has n(n+1)/2 distinct entries — for a hierarchy of a thousand series that is half a million numbers estimated from in-sample residuals — so it is almost always shrunk toward a diagonal, or restricted to a diagonal of residual variances, or replaced by a structural approximation in which each series’ variance is assumed proportional to the number of bottom series it aggregates. Those approximations are the difference between MinT as a theorem and MinT as something you run.

One structural point survives all of the approximations and is worth carrying away on its own. Every method in this family is a linear map applied to the base forecasts, so reconciliation is cheap — a matrix multiply, with no refitting — and it runs after your models have, whatever they are. You can reconcile the output of a pretrained forecaster, an exponential smoothing model and a number somebody typed in, all in the same hierarchy, because the step knows nothing about how the base forecasts were produced. That is why reconciliation is normally a stage in a pipeline rather than a property of a model, and why adding it rarely requires changing anything upstream.

Reconciliation improves coherence unconditionally and accuracy usually, not always. It is worth evaluating at the level you actually report on, over several forecast origins, against plain bottom-up. If your decisions are all made at the bottom level, bottom-up costs nothing and the question is whether reconciliation beats it there.