Recommendation Engine ROI: Attribution vs. Real Lift

Funded D2C brands are pouring budget into AI-driven product recommendations right now, and almost every vendor pitch opens with the same number: recommendations drive up to 31% of site revenue. It's in the sales deck, the case study, the ROI calculator. It is also, in most cases, the wrong number to make a buying decision on.
That 31% figure comes from a widely cited Barilliance study, and separate research shared by Salesforce and reported via Bloomreach puts it a similar way: roughly 26% of revenue comes from the ~7% of sessions where a shopper clicks a recommended product. Both numbers are real. Both are also measuring attribution, not lift β and the difference between those two words is the difference between a smart budget decision and an expensive one.
Attribution Counts Clicks. Lift Counts What Wouldn't Have Happened Anyway
Attribution asks: did this shopper click a recommended product before buying? If yes, the sale gets credited to the recommendation engine. That's a legitimate thing to track, but it silently assumes the shopper wouldn't have found or bought that product any other way β through search, browsing, or just knowing what they wanted.
Causal lift asks a harder, more useful question: how much additional revenue did the recommendation engine actually generate, compared to a version of the store with no recommendations at all? The only way to answer that honestly is a holdout test β a slice of traffic that never sees recommendations, measured against everyone else over the same period.
When that kind of controlled measurement gets applied, the number drops. McKinsey's widely referenced personalization research puts realistic incremental revenue lift in the 5% to 15% range β meaningful, but nowhere near a third of revenue. The gap between "31% of revenue is attributed to recommendations" and "personalization lifts revenue 5-15%" isn't a contradiction. It's two different questions getting the same headline treatment.
Why This Matters More at the Build-vs-Buy Decision Than Anywhere Else
Tier 1 D2C brands evaluating a recommendation engine are usually choosing between three paths: a lightweight SaaS tool in the $25-$500-a-month range, an enterprise SaaS platform running $50,000 or more a year, or a custom-built recommendation system priced anywhere from $70,000 to $400,000+ upfront, plus 10-15% of that in annual maintenance.
That's a real range of financial commitment, and the ROI case for all three tends to lean on the same inflated attribution number. A brand sizing a $150,000 custom build against a vendor's "31% of revenue" claim is solving the wrong equation. Sized against a realistic 5-15% lift, the same investment needs a very different revenue base to pay back β and a very different scope to justify going custom instead of buying a SaaS platform outright.
There's a second cost that rarely makes it into the pitch: data preparation. In most custom recommendation builds, roughly 80% of project time goes into cleaning, structuring, and pipelining product and behavioral data β not into the recommendation algorithm itself. A brand with messy product data, inconsistent categorization, or no unified customer event stream is buying a data-engineering project with a recommendation engine attached, and that reality belongs in the scoping conversation before the contract, not after the first missed deadline.
What a Direct Answer Looks Like
What's the real ROI of an ecommerce recommendation engine?
Recommendation-engine dashboards showing 20β31% of revenue "from recommendations" are measuring attribution β sessions where a shopper clicked a recommended product before buying β not causal lift. Studies isolating recommendations with holdout groups put real incremental revenue closer to 5β15%. Brands should measure lift with an A/B holdout, not the vendor dashboard, before signing a contract or greenlighting a custom build.
How to Measure Your Own Number, Not the Vendor's
None of this means recommendations aren't worth doing. It means the number that should drive the decision is the one your own store produces, not the one in a vendor's onboarding deck. Three steps get you there:
Run a holdout test before you commit. Even a 90/10 split β 90% of traffic sees recommendations, 10% doesn't β over two to four weeks gives a directional read on real incremental revenue, not attributed revenue.
Separate the algorithm cost from the data cost. Before pricing a custom build, audit whether your product catalog and behavioral event data are actually clean enough to feed one. If they're not, that's the first project, not a side effect of the second.
Match the spend tier to the honest number. A brand with a realistic 8% lift on a $10M revenue base is looking at a very different payback period than one that budgeted against a 31% headline β and that math should decide SaaS versus custom, not the other way around.
Building the recommendation layer is only half of what "AI-native commerce" means in 2026. The other half is search and shopping-assistant infrastructure that reads real inventory and pricing instead of guessing β a separate but related engineering problem. MnT Future works across both: the recommendation and semantic search layer, and the underlying commerce platform it has to sit on, because a recommendation engine bolted onto a badly structured product catalog will underperform regardless of which vendor built it.
The Honest Version Is the More Useful One
The brands that get real returns from AI-driven recommendations aren't the ones that believed the biggest number in the deck β they're the ones that measured their own lift, sized the investment to match it, and fixed their data foundation before layering AI on top of it. That's a less exciting pitch than "31% of revenue." It's also the one that survives a board asking for the actual number six months later.
If you're weighing a recommendation engine build or buy decision, a free agent-readiness audit from MnT Future includes a look at whether your product and event data can actually support a real lift measurement β before you spend on the wrong tier.
