How to use Contribution Analysis

Metricuno
May 17, 2026
6 min read
How to use Contribution Analysis — Learn how contribution analysis breaks revenue changes into traffic, conversion, AOV, and mix effects — so you know exactly why the number moved.
Quick answer

Contribution analysis decomposes a revenue change into the underlying drivers — traffic, conversion, AOV, channel mix, customer type — so you can act on the real cause instead of the symptom.

Definition
Analytics

Contribution Analysis

A diagnostic method that breaks a revenue change into its underlying drivers — traffic, conversion, AOV, mix, and seasonality.

Contribution analysis answers the question 'why did revenue move?' by decomposing the change into measurable components. Instead of accepting that revenue is down 8% week-over-week, you split that swing into how much came from traffic falling, how much from conversion rate softening, how much from average order value shrinking, and how much from a channel or product-mix shift.

The technique sits inside a broader revenue intelligence practice. It's not a single formula — it's a disciplined way of asking the same question along several dimensions until the residual unexplained portion is small enough to act on. Done well, it replaces the weekly 'I think it's because of...' meeting with a one-page answer.

Also known as
Revenue decomposition
Driver analysis
Variance decomposition

Every store has a Monday-morning ritual: someone notices revenue moved, and the team spends an hour guessing why. Contribution analysis replaces guessing with arithmetic. You define the drivers, measure each one's effect against a baseline, and rank them by magnitude.

The output is a list that sums to the total change. If revenue fell €42,000 week-over-week, your decomposition should account for all €42,000 — split across traffic, conversion, AOV, mix, and a small residual. Anything else is storytelling.

The core decomposition

Start with the identity that defines online revenue: Revenue = Sessions × Conversion Rate × Average Order Value. Any change in revenue must come from a change in one or more of those three terms. That's your first cut.

The cleanest way to attribute the change is to vary one driver at a time while holding the others at their baseline value. Compute the revenue you would have had if only sessions changed, then only conversion rate, then only AOV. Sum the three effects plus an interaction term and you recover the actual change exactly.

For most weekly diagnostics the interaction term is small (under 5% of the swing) and you can ignore it. When you're comparing across long windows — a quarter against last year — interactions get bigger and you'll want a proper Kitagawa-Oaxaca or Shapley decomposition to split them fairly.

Pick your baseline before you look at the numbers

Week-over-week, month-over-month, and year-over-year decompositions of the same swing can tell different stories — particularly around promotions or seasonal peaks. Lock the baseline in your weekly template so you're not unconsciously picking the one that flatters the narrative.

Segmentation dimensions that actually matter

Once you have the three-driver split, the next layer is to ask which segment moved. The same €42k drop looks different if it's evenly spread across the catalogue versus concentrated in one channel. Five dimensions tend to do the heavy lifting for online stores.

Customer type (new vs returning), acquisition channel (paid social, paid search, organic, email, direct), device (mobile vs desktop), product category, and geography. You don't run all five every week — you start with whichever moved most last week, and follow the residual.

Chart

Sample weekly decomposition: €42k revenue drop

-30.0k€-25.0k€-20.0k€-15.0k€-10.0k€-5.0k€0€5.0k€Paid social trafficMobile conversion rateAOV (apparel)Email returningOrganic trafficResidual / interactionContribution to revenue changeDriver

Read the chart as a waterfall: the bars sum to the total swing. Two drivers account for €39k of the €42k drop — paid social sessions and mobile conversion rate. That's where the next investigation goes; the rest is noise this week.

Typical magnitudes by driver

Knowing what 'large' looks like for each driver saves you from chasing a 30 bps conversion-rate wobble that's inside normal weekly noise. The table below shows the magnitudes we typically see in weekly contribution analyses for Shopify stores in the €1M-€15M revenue band.

Use these as priors, not thresholds. A small store with concentrated demand can see a single product launch shift AOV by 10% legitimately; a 10% AOV swing in a stable catalogue is almost always a mix change worth investigating.

Benchmark

Typical weekly swing magnitudes by driver (Shopify stores, €1M-€15M revenue)

DriverNormal noise (W/W)Worth investigatingLikely structural
Total sessions±5%±8-12%>±15%
Paid channel sessions±10%±15-25%>±30%
Conversion rate±3%±5-8%>±10%
Average order value±2%±4-7%>±8%
New-vs-returning mix±2pp±3-5pp>±6pp
Mobile share of revenue±1pp±2-3pp>±4pp

When a driver crosses from 'noise' into 'worth investigating', that's your trigger to drill one layer deeper — usually by adding a segmentation dimension. When it's in the 'structural' column, the cause is rarely a single event; expect a combination of pricing, campaign, or catalogue changes.

Common traps and how to avoid them

The most common failure mode is stopping at the first plausible cause. Paid social was down, so you blame Meta. But if mobile conversion was also down on organic traffic, the real culprit might be a checkout regression that hit everyone — Meta just looked worst because it sends the most mobile users.

The second trap is comparing periods of unequal length or composition. A week with a bank holiday is not comparable to a normal week; a week containing a promotion isn't comparable to one without. Either normalise (revenue per trading day) or compare against the same calendar week last year.

Beware the 'returning customer rescue'

When new-customer revenue drops, returning customers often appear to grow as a share — making email and loyalty look like the hero. They're not; they're a denominator effect. Always look at absolute revenue per segment, not just percentage mix.

Frequently asked

Frequently asked questions

Attribution asks which touchpoint deserves credit for a conversion. Contribution analysis asks which driver explains a change in the total. They use overlapping data but answer different questions — attribution is about credit assignment, contribution is about variance decomposition.

For weekly reviews, the prior week is the most actionable baseline because it isolates recent changes. For trend reads, use the same week last year to control for seasonality. Many teams report both side-by-side so neither perspective gets lost.

Tag promo days explicitly and decompose them as a separate event rather than blending them into normal trading. The cleanest approach is to compute the contribution of the promotion itself — incremental sessions, lifted conversion rate, AOV change — against a non-promo baseline week.

For weekly diagnostics on a single store, arithmetic decomposition is enough. You only need a model when you're isolating the causal effect of one change while many others vary simultaneously — for that, controlled experiments or geo-tests work better than retrospective decomposition.

Revenue intelligence is the parent practice: forecasting, cohort analysis, contribution analysis, and pacing all sit inside it. Contribution analysis is specifically the diagnostic layer — it explains historical movement rather than predicting future movement or grouping customers.

Roughly anything outside ±5% week-over-week for a stable store. Below that, the swing is usually within normal weekly noise and decomposition will produce drivers that look meaningful but are just random fluctuations. Set a threshold and stick to it.

AOV can move because of unit price, units per order, or product mix. Split it into those three components: hold mix and units constant to isolate price, then hold price and mix constant to isolate units. Mix is whatever remains — usually the largest factor for catalogue businesses.

Mostly yes for sessions, conversion rate, and channel mix. GA4 is weaker for AOV decomposition (limited item-level revenue dimensions in standard reports) and for new-vs-returning splits that match your CRM definition. Pair it with Shopify or your order database for the financial side.

Weekly is the right cadence for most stores — frequent enough to catch problems before they compound, infrequent enough that you're decomposing real signal rather than daily noise. Monthly and quarterly versions exist for stakeholder reporting but shouldn't replace the weekly cycle.

When two drivers move together (e.g. traffic up and conversion up), part of the revenue change comes from their joint movement, not either alone. That joint piece is the interaction term. It's negligible for small weekly swings but can exceed 10% of the change for large quarterly comparisons — use a Shapley split when it does.

Get an AI expert review of your site

Paste your URL — Metricuno's AI runs the same heuristic checks a senior CRO consultant would, scoring your page and prioritising the fixes that'll move conversion fastest.