Skip to main content
Back to Blog

A Practical Guide to Segment Contribution Analysis

When a top-line metric changes, the first instinct is to filter by the most obvious dimension and compare. Revenue dropped 8% week-over-week: look at it by region, find that EMEA is down 22%, declare that EMEA is the problem. That reasoning is incomplete in a way that matters, and understanding why leads to contribution analysis as the correct framing.

Contribution analysis assigns each segment a share of the total metric movement. It answers not just "which segment changed" but "how much of the total change does each segment explain." Those are different questions, and the answers lead to different decisions.

The Mix Effect Problem: Why Simple Segment Comparison Misleads

Consider a conversion rate that dropped from 4.2% to 3.8% across all users. A segment breakdown shows that conversion rate in the North America segment dropped from 5.1% to 4.8%, while conversion rate in the APAC segment dropped from 3.4% to 3.2%. Both segments got worse by a similar magnitude.

But APAC's share of total traffic grew from 15% to 28% in the same period. Even if APAC's per-unit conversion rate had stayed flat, the total conversion rate would have dropped because you now have a larger fraction of traffic converting at the lower APAC rate. This is a mix effect: the composition of your user base changed, and that composition change is mechanically dragging the aggregate metric down.

If you only look at segment-level rates, you might conclude that both North America and APAC need attention. The mix effect analysis tells you that most of the aggregate decline is explained by the shift in composition toward APAC, not by either segment performing worse. That is a completely different diagnostic conclusion with different remedies.

Decomposing a Metric Movement: The Arithmetic

For a rate metric like conversion rate, the aggregate value is a weighted average of segment rates. If we denote the segment rate as r_i and the segment's share of total volume as w_i, then the aggregate rate is:

aggregate_rate = SUM(r_i * w_i)  for all segments i

The change in aggregate rate between period A and period B can be decomposed into two components for each segment:

  • Rate effect: the contribution from the segment's own rate changing, holding mix constant at the period A weights. For segment i, this is (r_i_B - r_i_A) * w_i_A.
  • Mix effect: the contribution from the segment's weight changing, holding rate constant at the period A rate. For segment i, this is r_i_A * (w_i_B - w_i_A).

The sum of all rate effects plus all mix effects (with a small interaction term) equals the total aggregate change. This decomposition is exact and additive.

In the APAC example, the mix effect for APAC is approximately 3.4% * (28% - 15%) = 3.4% * 13% = 0.44 percentage points downward drag on the aggregate rate. That single mix effect accounts for roughly half of the total 0.4 percentage point drop in aggregate conversion rate. The rate effect for APAC is approximately (3.2% - 3.4%) * 15% = -0.03 percentage points. Most of the movement is mix, not rate.

Cross-Dimension Attribution: Which Dimension Explains Most

A real metric attribution problem involves multiple dimensions simultaneously. Your conversion rate might be decomposable by region, device type, traffic source, product plan, and user cohort age. You want to know which dimension (and which cut of that dimension) explains the most variance in the aggregate change.

The naive approach is to run the rate/mix decomposition for each dimension independently and compare the top contributor from each. The problem is that dimensions are correlated. APAC traffic skewing mobile and mobile converting worse means that the "APAC mix effect" and the "mobile mix effect" are not independent. Attributing the full variance to both double-counts the explanation.

The more rigorous approach is to pick a primary dimension decomposition first, then investigate the top contributing segment within that dimension using the secondary dimensions. This hierarchical decomposition is what we implement in Golden Analytics's attribution engine. The first pass ranks all single-dimension decompositions by total variance explained. The top-ranking dimension becomes the first cut. Within the most explanatory segment of that dimension, a second pass runs the decomposition across remaining dimensions. This avoids double-counting while still surfacing the multi-dimensional structure of the movement.

Absolute vs. Relative Contribution: Which to Report

Contribution analysis produces both absolute and relative numbers for each segment. The absolute contribution is the number of units of metric movement explained by the segment (e.g., -0.44 percentage points of conversion rate). The relative contribution is the fraction of the total movement that the segment explains (e.g., 55% of the total drop).

Both numbers are correct. Which to lead with depends on the audience and decision type. For operational decisions ("which team should investigate this"), relative contribution is usually more interpretable: "APAC mix shift explains 55% of the drop" is clearer action guidance than "-0.44 percentage points." For financial modeling or forecasting, absolute contribution is usually necessary: you need the actual scale of the effect to model revenue impact.

A common reporting mistake is to normalize relative contributions to sum to 100% when some contributions are positive and some are negative. If APAC's mix shift is -0.44 pp and North America's rate improvement is +0.08 pp, and the net change is -0.36 pp, normalizing to 100% distorts the picture. The contributions should sum to the total change with their signs preserved. Normalizing positive and negative contributions to a shared 100% base obscures the partial offset structure.

Segment Granularity Tradeoffs

The choice of segmentation granularity affects how useful the contribution analysis is. Too coarse (region with 3 values) and the analysis may not surface the specific segment driving variance. Too granular (region x device x plan tier x cohort age = hundreds of combinations) and the analysis returns a long tail of small effects that are hard to act on.

There is also a statistical power concern at high granularity. If a specific combination of segment values has only 40 users in the comparison period, the rate estimate for that segment is noisy enough that a small observed change could be sampling variance rather than a real shift. Contribution analysis at high granularity without any minimum-sample-size filter generates significant noise.

The practical recommendation is to run the decomposition at dimension level first (all cuts of region, all cuts of device type, etc.) and treat segments with fewer than some minimum sample threshold as part of an "other" bucket. The threshold depends on the metric and the typical baseline rates, but as a rough guideline, segments representing less than 2% of total volume usually contribute too little to the aggregate to be meaningful top-line drivers, even if their per-unit rates move substantially.

When Attribution Produces Counterintuitive Results

Attribution math sometimes produces results that feel wrong to stakeholders. The Simpson's paradox case is the most common: a metric can improve in every segment individually while declining in aggregate, purely because of mix effects. Attribution correctly identifies this, but explaining to a VP that "conversion rate went up in every cohort and down in total because of composition" requires some care.

We are not saying these results are wrong or that you should smooth over them. They are correct, and understanding the mix effect is exactly the insight that attribution is supposed to surface. But the presentation layer matters. Results that are mathematically exact but directionally surprising require clear framing: "the per-segment performance improved; the mix shift toward lower-converting cohorts is what moved the aggregate." Leading with that context before showing the numbers prevents the "this can't be right" reaction that short-circuits the conversation.