Back to the archive
Ecommerce Analytics

Where Revenue Growth Came From: Price, Volume, and Mix

Build an ecommerce price-volume-mix revenue bridge with a worked example, explicit calculation order, product-scope controls, and practical reporting checks.

An ecommerce operator reviewing performance metrics on a laptop.

Revenue increases, but the trading team cannot tell whether customers bought more units, paid higher prices, or chose a different assortment. Average order value does not resolve the question: order size, product mix, and discounts can all move at once. A price-volume-mix bridge gives the discussion a more precise starting point.

EcomToolkit recommends an additive bridge with a stated calculation order and a reconciliation to the original revenue totals. This article develops one transparent method using a hypothetical two-product catalog. The method explains arithmetic change; it does not prove that a pricing decision caused demand, and it is not a margin or profit model.

Table of Contents

Define the revenue and unit population

Choose the revenue scope before calculating average prices. State whether the figures exclude tax, shipping, cancelled orders, and returns. Use the same treatment in both periods and reconcile the included lines to a known report. Otherwise, the bridge can explain a data-definition change instead of a trading change.

Use units that can be compared sensibly across products. A single bottle and a case of twelve are not automatically equivalent units. Normalize the quantity basis where appropriate, or analyze separate families. The unit-of-measure guide covers the operational consequences of case-pack conversions.

Within this example, realized unit price means included product revenue divided by included units for a product. It can change because of discounts or customer mix even when the published list price does not. Label it realized price so readers do not confuse the calculated effect with a deliberate list-price increase.

Team reviewing an ecommerce measurement workflow

Establish a small catalog you can reconcile

Assume two comparable products, A and B, sold in the same currency. Product A sells 100 units at 10 currency units in the base period and 120 units at 12 in the current period. Product B moves from 100 units at 20 to 80 units at 18.

Hypothetical productBase unitsBase realized priceCurrent unitsCurrent realized price
A1001012012
B100208018
Total units200Not a summed price200Not a summed price
Revenue3000Base total2880Current total

The base revenue is 100 × 10 plus 100 × 20, or 3000. Current revenue is 120 × 12 plus 80 × 18, or 2880. Revenue falls by 120, which is 4% of the base value, even though the total number of units stays unchanged.

The average realized price across all units falls from 15 to 14.4. That aggregate movement alone does not reveal why revenue declined. Product A became more expensive, product B became cheaper, and the assortment shifted toward the product with the lower base price. The bridge separates those movements using a declared convention.

Build the bridge in a declared order

Let total quantity be Q, each product’s share of total units be s, and its realized price be p. Revenue equals Q multiplied by the sum of each product’s s × p. For positive, comparable quantities, this gives a useful way to construct sequential counterfactual totals.

Start at base quantity, base mix, and base prices. First substitute current total quantity while holding base mix and prices constant. Next substitute current mix while keeping base prices. Finally substitute current prices. Each step compares two fully specified totals, so the three differences add exactly to the overall change.

Written as effects, volume is the change in total quantity multiplied by base average price. Mix is current total quantity multiplied by the sum of each change in unit share times base price. Price is the sum of current product quantities multiplied by each product’s change in realized price.

This is a volume-then-mix-then-price convention. Other valid conventions allocate interactions differently. The Salesforce PVM overview describes price, volume, and mix as revenue and margin analysis dimensions; the explicit sequential calculation here is our worked analytical example, not a claim about that dashboard’s internal formulas.

Calculate each effect without hiding the interaction

Total quantity remains 200, so the volume effect is zero. Product A’s unit share rises from 50% to 60%, while B’s falls from 50% to 40%. At current total quantity and base prices, revenue becomes 200 × (0.6 × 10 + 0.4 × 20), or 2800.

The mix effect is therefore negative 200. The price effect is 120 × (12 − 10) plus 80 × (18 − 20), which equals positive 80. Adding zero, negative 200, and positive 80 gives negative 120, exactly the observed revenue change.

Bridge stageRevenue at that stageChange from previous stage
Base quantity, mix, and prices3000Starting point
Current quantity, base mix and prices3000Volume: 0
Current quantity and mix, base prices2800Mix: −200
Current quantity, mix, and prices2880Price: +80
Total bridge2880 − 3000Net change: −120

Under this convention, changed quantities influence the price effect because prices are applied last. If prices were changed first, the effect allocation would differ even though the start and end totals remained the same. Do not compare two teams’ effect labels until you have checked their formulas and ordering.

Colleagues discussing an ecommerce analysis

Keep new products and exits visible

A new product has no observed base-period realized price. A discontinued product has no current-period realized price. Filling those cells with zero makes the arithmetic run but can create a misleading story about enormous price changes. Missing comparison information is a scope problem to solve explicitly.

One practical approach is to bridge matched products and show new-product and exited-product revenue separately. State that the matched-product bridge uses its own quantity and mix population. Then reconcile matched change plus new revenue minus exited base revenue to the total catalog change.

That approach preserves an honest distinction between assortment entry and changes within continuing products. It also makes the result easier to review with merchandising. A launch’s revenue does not need to be forced into an invented price variance just because a spreadsheet template expects every row to have two prices.

Returns can create negative quantities or revenue that make unit shares difficult to interpret. Choose an explicit policy, such as analyzing positive sales activity and returns adjustments in separate reconciled components. Do not quietly remove negative lines while continuing to label the result total net revenue growth.

Do not turn a revenue bridge into a causal claim

A positive price effect does not establish that a price increase improved the business. The same period may include a promotion, an availability change, a competitor action, or a shift in customer demand. The bridge describes how observed numbers combine; it does not supply the counterfactual of what customers would have bought otherwise.

Likewise, a negative mix effect means the assortment moved toward products with lower base realized prices under this convention. It does not necessarily mean the assortment became worse. Those products might carry higher contribution per unit, require less support, or attract strategically useful repeat customers.

Add margin analysis separately if profitability is the decision. Keep variable cost, discount, fulfillment, and return treatment explicit rather than assuming revenue movement maps directly to contribution. The existing order contribution analysis provides a complementary business lens.

Make a recurring bridge reviewable

Before distributing the report, confirm that product keys are stable across both periods, quantities use the same unit basis, and currency treatment is consistent. Store the source extraction dates and the definition version. A catalog migration that changes identifiers can make continuing products appear as exits and launches.

Check the reconciliation residual using unrounded values. The start total plus all effects should equal the end total within the chosen numerical tolerance. Round only for presentation, and retain enough precision to reproduce the calculation. A visually tidy waterfall does not excuse an unexplained residual.

Review the largest product contributors with someone who understands assortment changes. A pack-size revision, reclassification, or bundle redesign may need a separate explanation. The purpose of that review is to improve comparability, not to remove inconvenient products until the story becomes positive.

Attach one decision to each material finding. A mix shift may prompt assortment investigation; a realized-price change may prompt discount review; a unit decline may prompt availability checks. Treat those as hypotheses for the next analysis rather than causal conclusions already established by the bridge.

The EcomToolkit view

The strongest revenue bridge is the one another analyst can rebuild from the same inputs. State the unit basis, product scope, and effect ordering before presenting the chart. Exact reconciliation and honest limitations make the result more useful than an unexplained set of impressive-looking percentages.

If growth reports cannot explain the movement between units, realized prices, and assortment, request an EcomToolkit audit to establish a consistent analytical model.

Related partner guides, playbooks, and templates.

Related ecommerce guides.

Free Shopify Audit

Get a free Shopify audit focused on the fixes that can move revenue.

Share the store URL, the blockers, and what needs attention most. EcomToolkit will review UX, CRO, merchandising, speed, and retention opportunities before replying.

What you get

A senior review with the priority issues most likely to improve performance.

Best for

Brands planning a redesign, migration, CRO sprint, or retention cleanup.

Reply route

Every request is routed to info@ecomtoolkit.net.

We use these details to review your store and reply with the next best steps.