Why cost-plus pricing quietly destroys retail margin
No crisis meeting, no obvious mistake - just a category returning 28% when it could return 33%. The five places cost-plus quietly leaks margin, and how to keep cost as the floor, not the ceiling.
Cost-plus pricing rarely fails loudly. There is no crisis meeting, no obvious mistake - just a category that returns 28% margin every year when it could return 33%. The loss is invisible because the method looks disciplined. Retailgrid treats cost as a floor rather than a formula, because the moment markup becomes the whole answer, the catalog stops responding to the market.
The method looks safe
Landed cost times markup equals price. It is transparent, fast, and defensible in a margin review. Every SKU gets a number, finance can reconcile it, and nobody has to argue about elasticity.
That safety is exactly the problem. Cost-plus answers "what do we need to charge?" and never asks "what would customers pay?" or "what is the competitor charging today?" Those two questions hold most of the available margin.
Where the money leaks
Underpricing the inelastic tail. Low-velocity SKUs with no comparison shopping could carry another 8-12 points of markup without denting units. Uniform markup leaves that on the table across thousands of items - quietly, forever.
Overpricing traffic drivers. Known-value items are exactly where shoppers judge whether your store is expensive. Cost-plus prices them like everything else, so a €0.10 gap on pasta costs you basket share on the entire trip.
Cost noise becomes price noise. Landed cost moves with freight, FX, and duty. Pure cost-plus passes every fluctuation to the shelf, producing price changes customers read as random and competitors read as weakness.
Markup and margin confusion. A 30% markup yields a 23% gross margin. Teams targeting "30%" without agreeing which number they mean run several points short across the catalog. It is the most common and most expensive arithmetic error in retail pricing.
Markdown ladders built on fiction. In fashion and seasonal goods, the initial cost-plus price exists mainly to be discounted from. If full-price sell-through is 55%, the realised markup was never 2x - it was closer to 1.4x, and the plan was wrong from day one.
What replaces it
Not a wholesale abandonment. Cost-plus stays useful as the floor, and on genuine long-tail SKUs where there is no competitor match and no reliable elasticity signal, rules-based markup remains the most accurate option available.
The change is layering. Price optimization proposes the margin-optimal or revenue-optimal price per SKU inside your rules, scored for confidence, factoring in elasticity, competitor position, and stock. The cost floor still binds - it just stops being the ceiling too.
Differentiating treatment matters as much as the model. Product role classification separates traffic drivers from margin builders from tail items, so each group gets logic suited to how customers actually shop it. Applying one markup to all three is what created the leak.
Competitor data closes the loop. Pricing analytics software that sees live market position tells you which SKUs have pricing power and which do not - the distinction cost-plus cannot make by construction.
Where to start
Run the audit before the rebuild. Rank your catalog by margin contribution, then check the top 500 SKUs against current competitor prices. You will typically find two clusters: items priced well above the market that are losing units, and items priced below where you had room. Both are cost-plus artefacts.
Getting merchandising and finance aligned on terminology helps more than expected - the pricing glossary is worth circulating when markup, margin, and MSRP are being used interchangeably.
Cost-plus is not wrong. It is incomplete, and incompleteness in pricing compounds every single day the catalog is live.
Ready to improve your pricing strategy? Book a demo with Retailgrid.