Revenue per visitor (RPV) is the total revenue a page or test variation earned divided by the number of visitors who saw it.
It folds conversion rate and average order value into one number, so it is the metric that tells you whether a change made the store more money, not just more orders.
That is why RPV is the headline metric for most ecommerce tests in our database: 240 of the results in our test library report it directly.
This page covers the formula, why RPV and conversion rate often disagree, and how to analyze RPV without getting fooled by a few big orders.
What revenue per visitor measures
RPV answers one question: for every person who landed here, how much money came in?
Visitors who bought nothing count as zero, so the metric rewards both getting more people to buy and getting buyers to spend more.
Optimizely's glossary defines RPV the same way: total revenue in a period divided by visitors in that period.
It sits next to conversion rate and average order value in the core set of ecommerce KPIs, but it is the only one of the three that can't be improved by trading one for the other.
The trade-off matters because many tests move conversion and order value in opposite directions.
A discount can lift orders and shrink baskets.
A bundle offer can shrink orders and grow baskets.
Conversion rate alone would call the first a win and the second a loss, even when the money says the opposite.
Tests where conversion and RPV disagreed
The Clean Commit agency ran several tests on Shopify stores where the two metrics split:
- A site-wide shipping info banner lifted conversion 1.5% and add-to-cart 5.9%, but RPV fell 7.8% because order value dropped 7.4%.
- A decluttered cart page cut conversion 11.1% while average order value rose 14.8%.
- A wishlist feature raised conversion 4.2% over 113,055 visitors, yet RPV stayed flat as order value slipped 3.9%.
Read on conversion rate alone, the banner and the wishlist look like wins.
Read on RPV, neither earned the store more money.
The opposite pattern shows up in pricing and shipping tests.
Dave Diederen removed a free-shipping threshold and charged shipping on every order, a change you would expect to cost orders, and RPV rose 9.17%.
In another store, a $9.49 shipping fee beat the control by 43.81% RPV.
And RPV catches losses that look harmless on the surface.
Milos tested changing a 2-pack offer to "Buy 2 Get 1 Free" at the same price, and RPV fell 52.38%.
Dave Diederen found that pre-checking a subscription option cost 9.17% RPV.
The revenue per visitor formula
The formula has two equivalent forms:
| Form | Formula | When it helps |
|---|---|---|
| Direct | RPV = total revenue / visitors | Reading a test result or a report |
| Decomposed | RPV = conversion rate × average order value | Seeing which lever moved |
The two forms match because conversion rate is orders / visitors and average order value is revenue / orders.
Multiply them and the orders cancel out. You can run the numbers for your own store with our revenue per visitor calculator.
Worked example
Say a test splits 40,000 visitors evenly:
| Control | Variant | Change | |
|---|---|---|---|
| Visitors | 20,000 | 20,000 | |
| Orders | 600 | 660 | |
| Revenue | $36,000 | $36,300 | |
| Conversion rate | 3.0% | 3.3% | +10% |
| Average order value | $60.00 | $55.00 | -8.3% |
| RPV | $1.80 | $1.815 | +0.8% |
The variant gets 10% more orders, but buyers spend less, so revenue barely moves.
If this were a discount test, the margin on those extra orders could easily make the variant a loss.
Decisions to make before the test starts
- Visitors or sessions. Divide by unique visitors (the unit you randomized), not sessions. Mixing them makes the metric shift when people return more often.
- Which revenue. Decide whether revenue includes tax, shipping and discounts, and whether refunds come off. Shipping tests in particular change the answer depending on this choice.
- Revenue or profit. For discount and free-gift tests, RPV can rise while margin falls. Track gross profit per visitor as a guardrail metric when price is the thing you are changing.
Ratio metrics: why RPV needs more care than conversion rate
A ratio metric is any metric made by dividing one quantity by another, such as revenue / visitors, revenue / orders, or clicks / pageviews.
Optimizely's docs describe ratio metrics as metrics that combine two different events by dividing one by the other.
How you analyze one depends on what sits in the denominator.
When the denominator is the randomization unit
If you randomize by visitor and divide by visitors, RPV is just the average of one number per visitor: their revenue, with non-buyers at $0. A standard two-sample comparison of means (Welch's t-test) works, because each visitor is an independent unit.
The catch is noise. Most visitors contribute $0 and a few contribute a lot, so RPV varies far more than conversion rate.
If p is the conversion rate and σ/μ is the order value's standard deviation divided by its mean, the squared coefficient of variation per visitor is:
CV² (conversion) = (1 − p) / p
CV² (RPV) = (1 − p) / p + (σ/μ)² / p
Required sample size scales with CV². With a 3% conversion rate, a $60 average order and a $50 standard deviation, conversion's CV² is 32.3 and RPV's is 55.5. To detect the same relative lift, the RPV test needs about 1.7 times the traffic.
In the worked example above, the RPV difference has a z-score of about 0.1: nowhere near significant.
Plan for that with the sample size calculator using your real order-value spread, and expect a larger minimum detectable effect than for conversion rate.
Variance reduction such as CUPED helps most on noisy metrics like this one.
When the denominator is not the randomization unit
Average order value (revenue / orders) and revenue per session are different.
You randomized visitors, but you are averaging over orders or sessions, and one visitor can place several.
Those units are not independent, so a naive t-test on orders understates the variance and produces false winners.
The standard fix is the delta method. Alex Deng, Ulf Knoblich and Jiannan Lu of Microsoft set out its use for A/B testing in "Applying the Delta Method in Metric Analytics" (KDD 2018).
For a ratio R = mean(Y) / mean(X), computed per visitor, the approximate variance is:
Var(R) ≈ [Var(Ȳ) − 2R·Cov(Ȳ, X̄) + R²·Var(X̄)] / mean(X)²
Here Y is each visitor's revenue and X is their order count (for AOV) or session count (for revenue per session).
The covariance term accounts for the fact that visitors who order more also generate more revenue.
There's another trap. Because AOV only counts buyers, a variant that converts more marginal shoppers can lower AOV while raising total revenue.
The group being averaged changed, which is a cousin of Simpson's paradox.
That is one more reason to make RPV the decision metric and treat AOV as a diagnostic.
Handling big orders
One wholesale-size order can swing an RPV result.
Clean Commit's collection-page filter test showed -33.2% RPV and -29.2% AOV with only a -6.4% conversion change, and the team noted that a few large orders may have driven the drop.
Testing tools handle this by capping extreme values.
Optimizely's outlier smoothing flags revenue values above the mean plus three standard deviations and replaces them with the metric's harmonic mean.
Statsig's winsorization caps per-unit values at a percentile, 99.9% by default on Statsig Cloud.
Set the cap before the test starts and apply it to both arms.
Choosing a cap after you've seen which way the big orders fell is a form of p-hacking.
When RPV is the wrong primary metric
- Low traffic. If you can't reach the sample RPV needs, test on conversion rate or add-to-cart rate and check RPV as a secondary metric.
- Top-of-funnel changes. A blog or homepage layout change sits far from the purchase. Most of the revenue variance is unrelated to the change, so a closer metric is easier to move and measure.
- Subscription and repeat-purchase businesses. RPV over a two-week test misses renewals and churn. A pre-checked subscription can look fine on day-one revenue and still lose customers later.
- Price and discount tests. Use profit per visitor as the primary metric, because RPV rewards selling more at a loss.
For everything else on a store (product pages, cart, checkout, bundles, shipping), RPV is the safer default.
It's the metric that matches what the business actually wants.
More on choosing metrics is in our guide to A/B testing metrics and the wider A/B testing hub.