StrategyAugust 15, 2026·5 min read

Cost-plus vs value-based pricing: which fits retail?

It's framed as a choice; it rarely is. What cost-plus and value-based each do well, why most retailers only have elasticity signal on 10-20% of SKUs, and how to split the catalogue by role.

The debate is usually framed as a choice. It rarely is. Cost-plus is fast, defensible, and blind to demand; value-based captures willingness to pay but demands data most retailers only have on part of their catalog. Retailgrid exists for the messy middle - where a 40,000-SKU assortment needs both methods running side by side, with clear rules deciding which SKUs get which treatment.

Cost-plus: what it is good at

Take landed cost - invoice, freight, duty, handling, returns provision - and apply a markup.

Its strengths are real. It guarantees a floor, it scales to any catalog size without analysis, and it is easy to explain in a margin review. For thousands of low-velocity, low-comparison SKUs, no sophisticated method will beat it, because there is not enough demand signal to model.

Its weakness is what it ignores: competitor position, elasticity, and what the SKU does for the basket. Price a key value item cost-plus and you either leave margin on the table or price yourself out of the comparison shopper's consideration set.

One recurring error worth naming: markup is not margin. A 30% markup on €10 gives €13 - a 23% gross margin. Teams targeting "30%" without agreeing which number they mean lose several points across the catalog.

Value-based: what it is good at

Value-based pricing sets price against perceived customer value - what the shopper will pay given alternatives, urgency, and the role your product plays for them.

It works when you can measure willingness to pay. That means sufficient sales history to estimate elasticity, clean competitor data to establish alternatives, and enough volume for the estimate to be meaningful. Under those conditions it consistently outperforms cost-plus, because it prices to demand rather than to your supplier's invoice.

The catch is coverage. Most mid-market retailers have reliable elasticity signal on perhaps 10-20% of SKUs. Applying value-based logic to the rest produces confident-looking numbers built on noise.

How the split actually works

The practical answer is segmentation by product role.

Traffic drivers and KVIs. Shoppers price-check these. Value-based logic, constrained by competitive position, with a hard margin floor underneath.

Margin builders. Mid-visibility items with decent volume. Value-based where elasticity data supports it, cost-plus where it does not.

Long tail. Thousands of low-velocity SKUs with no competitor match. Rules-based markup by product class. Trying to optimise here wastes analyst time for no measurable gain.

Product role classification is the step most teams skip, and it is the one that makes the whole model coherent. Without it, you are applying one method to a catalog that needs three.

Running both in one system

The reason retailers default to pure cost-plus is operational, not intellectual - running two methods across a large catalog in spreadsheets is genuinely unmanageable.

Price optimization closes that gap by proposing the margin-optimal price per SKU inside your rules, scored for confidence. Where confidence is low, the cost-plus floor holds. Where elasticity and competitor data are strong, the optimizer moves. Pricing software should tell you which regime a SKU falls into, not force a single method across everything.

Getting merchandising and finance aligned on terminology helps more than it sounds - the pricing glossary is a useful reference when markup, margin, MSRP, and value price are being used interchangeably in the same meeting.

The right answer for retail is not cost-plus or value-based. It is knowing, SKU by SKU, which one you have earned the right to use.

Book a demo and explore a smarter approach to retail pricing.

See the agentic pricing platform behind the writing.

A 20-minute walkthrough of Retailgrid on a real retail dataset. No signup. No sales script.