Error Allocation
Track 3 - Advanced · Module 3.2
All analysts
Course home
Learning ObjectivesModule 3.2 · ~20 min
Explain why lower-level contributions fail to sum to their parent, and why the program allocates that residual by weight rather than equally.
Compute a weighted error-allocation factor and apply it to platform-level contributions so they re-sum to the channel total.
Apply the Sum-vs-Average rule correctly when rolling contributions, spend, and support up to total-brand level.
The problem: children never sum to the parent

Module 2.1 established the hierarchy: an L1 model decomposes sales into channel contributions, then an L2 model decomposes each channel's contribution into platforms, then L3 splits platforms into campaigns. Each of those lower-level models is its own regression, and every regression leaves a residual. So when you sum the platform contributions that the L2 model produced, they do not add back to the channel contribution the L1 model handed down - the L2 residual is the gap. The same mismatch recurs at every split: platform → campaign, and (on the LT side) pillar-level models summed across Meaningful, Differentiation and Salience.

Left uncorrected, this breaks the deliverable. The client reads a waterfall where Digital Video drives some volume at the channel page, flips to the platform page, adds up the platforms, and gets a smaller number. Numbers that don't tie are the fastest way to lose a read-out. Error allocation is the program's fix: push the residual back down into the children so every level re-sums exactly to the level above.

Two ways exist to distribute a residual: equally (same absolute error added to every child) or by weight (bigger contributors absorb more). The program uses weighted allocation - the working assumption being that a platform responsible for 45% of the modelled contribution is also plausibly responsible for about 45% of what the model missed. Equal allocation would distort small platforms violently (a tiny campaign could double or go negative) while barely touching large ones.

The method: one factor, multiplied through

The mechanics are a single scaling factor per parent, per period:

factor = parent contribution ÷ sum of child contributions
then: allocated child = raw child × factor, for every child

Because every child is scaled by the same multiplier, each child's share of the parent is preserved exactly - that is what makes the allocation "weighted". After multiplication, the children sum to the parent by construction.

Here is the methodology workbook's own worked example (authored teaching numbers, not client data). The L1 model says the Digital Video channel contributes 989,787,900. The L2 model's platform contributions sum to only 880,911,231, so the factor is 989,787,900 ÷ 880,911,231 = 1.1236 (1.1235955 unrounded):

PlatformPre error allocationPost error allocation (= pre × 1.1236)
Hotstar
79,183,03288,969,699
Jio Cinema
217,753,338244,666,672
Youtube
395,915,160444,848,494
Zee5
188,059,701211,303,035
Total platforms
880,911,231989,787,900

Note that the post-allocation column re-sums exactly to the channel's 989,787,900. Youtube, the largest platform, absorbed the largest absolute share of the residual (about 48.9M of the 108.9M gap); Hotstar, the smallest, absorbed the least (about 9.8M) - but every platform's percentage share of the channel is unchanged.

One rule specific to the long-term side: for LT error, first sum the contributions across the three pillar models (Meaningful + Differentiation + Salience), and only then compute and apply the factor. The pillars are three parallel regressions (module 2.4), so allocating per pillar before summing would triple-count the correction.

The source sheet contains an internal contradiction. Its numbered theory text says "a factor = Predicted / Actual is calculated", but its worked example - shown above - computes parent contribution ÷ sum of child contributions and multiplies it through. These are different quantities (Predicted/Actual compares the model to reality at one level; parent/sum-of-children compares two adjacent levels of the same model). This course teaches the worked example as the operative rule, because it is the one whose arithmetic is actually shown and whose output demonstrably ties.
Check with SMERajesh / Tushar
Confirm which formula is operative in production: the Error Allocation Theory sheet's text says factor = Predicted/Actual while its own worked example computes parent-contribution / sum-of-children (1.1236 above) - the two coincide only in the special case where the children's sum equals the parent's predicted value, so the discrepancy needs an authoritative resolution.
Total-level aggregation: when to sum, when to average

The sibling operation to error allocation is total-level aggregation: rolling results up from sub-brands, zones, or regional clusters to a unified brand view, so the client can read both the detailed and the total picture consistently. The trap is that not every quantity aggregates the same way. Contributions are volumes, so they always add. Spend adds. But rates and indices - a price, a distribution measure, a CPI - are not volumes: summing three regions' prices produces a meaningless number. The workbook's rule table:

VariableContributionsSpend / Support
Media
SumSum
Distribution
SumAverage
Price
SumAverage
CPI
SumAverage
Comp Media spend
SumSum
Comp Price
SumAverage
Seasonality / Intercept
Sum-

Read the column split carefully: the contribution of price (its volume impact) sums across sub-brands like any other volume, but the price itself - the driver value you would display beside it - averages. Getting this wrong is invisible in the contribution waterfall and very visible the moment a client asks "so what was the average price?"

Exercise: a 3-platform allocation

Synthetic numbers, fabricated for this exercise. The L1 model gives the Paid Social channel a contribution of 240,000 units. The L2 model produces these raw platform contributions:

PlatformPre error allocationShare of childrenPost error allocation
Platform A
96,00048%?
Platform B
60,00030%?
Platform C
44,00022%?
Total platforms
200,000100%240,000

Compute the factor, then each platform's post-allocation contribution, before opening the quiz. Check yourself: the three answers must sum to exactly 240,000, and each platform's share must still be 48 / 30 / 22.

Check Yourself
What is the error-allocation factor for the Paid Social example above?
Why: factor = parent contribution ÷ sum of children = 240,000 ÷ 200,000 = 1.20. The direction matters - the children are scaled UP to meet the parent. And the 1.1236 in the workbook belongs to that example alone; every parent/period gets its own factor.
What is Platform B's contribution after error allocation?
Why: weighted allocation multiplies every child by the same factor: 60,000 × 1.20 = 72,000. The full answer set is A = 115,200, B = 72,000, C = 52,800, summing to 240,000 with shares preserved. The 73,333 option is equal allocation - the method the program explicitly does not use, because adding the same absolute error to every platform distorts small platforms' shares.
You are rolling three sub-brands up to total-brand level. How do you aggregate Distribution?
Why: the aggregation rule is per column, not per variable: contributions are volumes and always sum; the driver values of rate-like variables (Distribution, Price, CPI, Comp Price) average, while genuinely additive drivers (media spend/support, competitor media spend) sum.
Sources
Authored from:
  • MathCo Methodology Understanding_UL.xlsx sheet Error Allocation Theory: the why/how numbered theory, the Digital Video → 4-platform worked example (989,787,900 parent; factor 1.1236), the LT sum-pillars-first rule, and the Total Level Aggregation Sum-vs-Average table - worked numbers are the sheet's own authored teaching example, not client data
  • The sheet's internal text-vs-example discrepancy on the factor definition is flagged, not resolved - see the verify marker above (Rajesh / Tushar)
The 3-platform exercise numbers (240,000 / 96,000 / 60,000 / 44,000) are fabricated for this module.