A price index is one price divided by a reference price, multiplied by 100. Your item at 89.90 against a competitor at 94.90 gives 89.90 divided by 94.90, times 100, which is 94.7: you are roughly 5 per cent cheaper. Price positioning is the decision about what that number ought to be, per category and per competitor, stated in advance rather than discovered afterwards.
The calculation is trivial. The two hard parts are choosing the reference price and making sure the two things being compared are actually the same thing.
How to calculate a price index
Index equals own price divided by reference price, times 100. Below 100 you are cheaper, above 100 you are dearer, and the distance from 100 is the percentage gap. At 94.7 you are 5.3 points below the reference.
Some companies invert it and divide the competitor price by their own. Both conventions exist and both are defensible. What is not defensible is a spreadsheet where two teams use different conventions in the same file, so put the formula in the column header and keep it there.
Weighted or unweighted: the choice that changes the answer
Take three lines with indices of 92, 100 and 118. The simple average is 310 divided by 3, which is 103.3, and it says you are 3 per cent expensive.
Now weight by revenue. The 92 line carries 70 per cent of category revenue, the 100 line carries 20 per cent, the 118 line carries 10 per cent. That gives 0.7 times 92, which is 64.4, plus 0.2 times 100, which is 20, plus 0.1 times 118, which is 11.8. The total is 96.2, and it says you are 4 per cent cheap.
Same data, opposite conclusion. Report both if you like, but make revenue weighting the number that drives decisions, and use unweighted only to find outliers.
Which reference price should you index against?
- A named competitor: the most actionable, because "index 98 against competitor B" can be executed. It also means accepting that you will follow them.
- The median of a tracked set: stable, resistant to one outlier, and the right default for most categories.
- The average of a tracked set: smoother, but it hides the fact that one seller sits 15 per cent below everyone else.
- The market minimum: the number a comparison site shows your customer. Useful as a warning line, dangerous as a target, since the minimum is often one seller with two units in stock.
- Your own recommended retail price: this measures discount depth, not competitiveness. Keep it, in a separate column.
Coverage: the number that belongs next to every index
Coverage is matched lines divided by total lines, and it should be printed beside the index every time. An index of 97 on 22 per cent coverage is a rumour.
Coverage is also biased in a predictable direction. You match most easily where products are standardised and widely stocked, which is exactly where competition is hardest and your prices are lowest. So a low-coverage index usually understates how expensive you are across the full assortment. Track coverage as a percentage of category revenue, not as a count of SKUs.
Matching is the hard part
Matching two listings correctly is where index projects quietly fail. Text matching on titles will pair a 0.75 litre bottle with a magnum, a 25 kilogram bag with a 5 kilogram bag, a refurbished unit with a new one, and a three-pack with a single. Every one of those produces an index that looks precise and is wrong.
Competitor price intelligence tools, PriceRoom included, exist mainly to solve this problem rather than the arithmetic. Whichever tool you use, audit a sample of matches by hand before you trust a single number that comes out of it.
- Match on manufacturer part number, GTIN or EAN wherever they exist, and treat the listing title as a fallback only.
- Compare delivered price to delivered price, or shelf price to shelf price, and never mix the two in one index.
- Exclude listings that are out of stock or on a lead time longer than yours. They are not competing for the order.
- Separate marketplace resellers from the retailer's own offers. They are different competitors with different economics.
- Normalise to a unit of measure, per litre, per kilogram or per piece, before comparing anything sold in more than one pack size.
- Check tax treatment and currency on cross-border listings before the numbers reach anybody's dashboard.
Setting a positioning target you can defend
A target of "index 98" is not a target, because it does not say against what. A target reads: index 98 against the median of five tracked sellers, delivered price, in-stock listings only, reviewed weekly, minimum coverage 60 per cent of category revenue.
- Set targets per category, because comparability differs per category.
- Set a band rather than a point, for example 97 to 101. A point target generates constant small repricing that costs more in operations than it wins in margin.
- Decide what happens when you fall below the band, not only above it. An index of 88 is money left behind, not a victory.
- Fix the definition of price once, including delivery and tax, and write it down where the analyst can see it.
Six ways a price index lies to you
- The competitor is out of stock, or quoting a six-week lead time, and is not actually in the market today.
- You are indexing your list price against their promotional price, so you look expensive for a fortnight and the gap closes again with no action from you.
- One marketplace reseller with a handful of units is setting the minimum for the whole category.
- Delivery is excluded: their item is cheaper and their freight is dearer, so the landed price is higher than yours.
- Pack size or unit content differs, so the comparison was never valid.
- The data is stale: a price collected eleven days ago in a category that has repriced twice since.
None of these is exotic. Each one is worth a scheduled check, because an index nobody audits will be quoted in a board pack within two quarters.