To calculate a price index for one product, divide the price you want to measure by its reference price, then multiply by 100. If a product cost $80 in the base period and costs $88 now, its index is (88 / 80) × 100 = 110. Its price is 10% above the base.
The calculation is simple. Reading it correctly depends on what you put in the denominator: an earlier price measures change over time; a competitor benchmark measures your position against that benchmark. For several products, you also need a rule for combining them.
Key Takeaways
- An index of 100 equals the reference level. An index of 110 is 10% above it; 90 is 10% below it.
- Between two index values, calculate percentage change as
(new index / old index − 1) × 100.- A fixed-basket calculation prices the same quantities in both periods. Changing the quantities changes what the result measures.
- A competitor comparison and a time-based price index answer different questions. A store’s chosen basket does not measure official inflation.
All prices, quantities, and results below are hypothetical teaching examples, not observed market data or SkuPeek customer results.
On this page: Base 100 · One product · Changes over time · Three-product basket · Spreadsheet formulas · Weights · Competitor comparison · Data limitations
What is a price index?
A price index expresses a price, or a combined set of prices, relative to a reference level. Setting the reference to 100 gives you a common scale for reading the comparison.
The base does not have to cost $100. A product priced at $8, $80, or $800 can have a base index of 100. The index itself has no currency unit.
| Index | Meaning relative to the reference |
|---|---|
| 90 | 10% below the reference |
| 100 | Equal to the reference |
| 110 | 10% above the reference |
| 125 | 25% above the reference |
For a time-based series, label the reference period: for example, January = 100. Without that label, a reader cannot tell when the measured change began. An index of 125 does not mean prices rose 25% this month unless the preceding month is the reference period.
Price index formula for one product
For an unchanged product compared across two dates, use:
Price index = (current price / base-period price) × 100
Suppose the same RAM kit was $80 on your reference date and is $88 on your measurement date. Both prices are in USD, for a new item in the same market, excluding shipping and tax.
- Choose the base price: $80. This becomes index 100.
- Record the current comparable price: $88.
- Divide current by base:
88 / 80 = 1.10. - Multiply by 100:
1.10 × 100 = 110. - Read the result: the price is 10% higher than the base price.
Check the calculation in dollars: the increase is $8, and $8 / $80 = 10%.
Keep the direction consistent. Dividing $80 by $88 would answer the reverse question. The reference price must also be greater than zero; a missing or zero reference cannot produce a usable price index.
Measuring price changes over time
Keep the original base price fixed to build a series. Each date’s index then shows its position relative to the same starting point.
In a separate time-series example, imagine that one exact product has these prices:
| Observation | Price | Index, January = 100 |
|---|---|---|
| January | $80.00 | 100 |
| February | $96.00 | 120 |
| March | $100.80 | 126 |
March’s index is (100.80 / 80) × 100 = 126. That means the price is 26% higher than in January.
Index points and percentage change
From February to March, the index rises by 6 points, but the price rises by 5%:
Index-point change = 126 − 120 = 6
Percentage change = (126 / 120 − 1) × 100 = 5%
You get the same answer from the prices: (100.80 / 96 − 1) × 100 = 5%.
Subtracting 100 works for the percentage difference from a reference set to 100. Between any two other observations, divide the later index by the earlier one first. Both values must belong to a comparable series using the same reference scale.
Calculate a price index for a fixed basket
For several products, one practical method is to price the same basket of quantities at the base and current prices. This answers: how much more or less would this particular basket cost now?
The fixed-basket price index formula is:
Basket index = [Σ(current price × base quantity) / Σ(base price × base quantity)] × 100
The symbol Σ means “add across all products.” When quantities come from the base period, this is the Laspeyres formula. The quantities below are illustrative basket choices, not actual sales volumes.
Step 1: Define the products and quantities
Each row represents one unchanged SKU and variant across both periods. All prices use USD and the same market and price conditions.
| Product | Base price | Current price | Fixed quantity |
|---|---|---|---|
| RAM kit A | $80 | $88 | 5 |
| SSD B | $120 | $108 | 2 |
| USB hub C | $40 | $50 | 4 |
The basket always contains five RAM kits, two SSDs, and four hubs. Actual current sales are not an input to this fixed-basket calculation.
Step 2: Calculate each basket cost
Multiply each price by its row’s fixed quantity, then add the results.
| Product | Base-price calculation | Current-price calculation |
|---|---|---|
| RAM kit A | $80 × 5 = $400 | $88 × 5 = $440 |
| SSD B | $120 × 2 = $240 | $108 × 2 = $216 |
| USB hub C | $40 × 4 = $160 | $50 × 4 = $200 |
| Total | $800 | $856 |
Step 3: Divide the totals and interpret
Basket index = (856 / 800) × 100 = 107
Change from base = (856 / 800 − 1) × 100 = 7%
The specified basket costs 7% more than at base prices. Its cost rises by $56: a $40 increase for RAM, a $24 decrease for the SSDs, and a $40 increase for the hubs.
This does not mean every SKU increased by 7%. Their individual indexes are 110, 90, and 125. The basket combines those different movements under one stated quantity rule.
Repeat the calculation in Excel or Google Sheets
Enter the three input rows above in columns A–D, with headers in row 1: Product, Base price, Current price, Fixed quantity. Enter prices as numbers, then apply currency formatting.
Add columns E, F, and G for Base basket cost, Current basket cost, Product index.
| Cell | Formula | Expected result |
|---|---|---|
| E2 | =B2*D2 | 400 |
| F2 | =C2*D2 | 440 |
| G2 | =C2/B2*100 | 110 |
Copy E2:G2 down through row 4. Then calculate the totals and index:
| Cell | Formula | Expected result |
|---|---|---|
| E5 | =SUM(E2:E4) | 800 |
| F5 | =SUM(F2:F4) | 856 |
| G5 | =F5/E5*100 | 107 |
| H5 | =F5/E5-1 | 7% with percentage formatting |
You can also calculate the basket index directly:
=SUMPRODUCT(C2:C4,D2:D4)/SUMPRODUCT(B2:B4,D2:D4)*100
Keep index cells in number format. Formatting 107 as a percentage displays 10,700%. For a percentage-change cell, use the ratio minus one, without multiplying by 100, and apply percentage formatting.
These formulas assume complete, valid positive prices and fixed quantities. Check for blanks before calculating; a spreadsheet can otherwise treat a missing price like a zero. Keep full precision during the calculation and round the displayed result at the end.
Choose weights that fit the question
Weights determine how much influence each product has on the overall result. Choose them before interpreting the number.
Fixed quantities imply base-value weights
In the basket above, RAM accounts for $400 / $800 = 50% of base cost, SSDs for 30%, and hubs for 20%. Those are the weights applied to the individual product indexes:
Weighted index = (0.50 × 110) + (0.30 × 90) + (0.20 × 125)
= 55 + 27 + 25
= 107
RAM carries 50% of the weight because it accounts for $400 of the $800 base basket—not because five of the eleven items are RAM kits. Each weight therefore reflects both the base price and the fixed quantity.
If you use recorded base-period unit sales as quantities, the calculation describes the cost of that historical sales mix at new prices. Make sure the prices and quantities refer to the same period and scope.
Equal SKU weights answer another question
If each SKU should have equal influence regardless of price or volume, take the arithmetic mean of its price index:
Equal-SKU index = (110 + 90 + 125) / 3 = 108.33
The average SKU-level increase is about 8.33%. This differs from the fixed-basket increase of 7% because the weighting rule changed. It is not the Laspeyres calculation used above.
Other index formulas use different weighting and averaging rules. Do not switch methods between reporting periods without explaining the change.
| Your question | A suitable approach |
|---|---|
| What would our base-period basket cost now? | Fixed quantities, priced in both periods |
| What is the arithmetic average change across selected SKUs? | Equal weights on individual price indexes |
| How do selected SKUs compare with competitors today? | Per-SKU benchmark ratios, combined with explicitly chosen weights |
Using an index to compare your price with competitors
A competitor price index compares your price with a chosen market reference at one point in time. For this article, define it as:
Competitor price index = (your price / chosen competitor benchmark) × 100
In this article, 100 means your price equals the chosen competitor benchmark. Values above 100 mean your price is higher; values below 100 mean it is lower. Always check which price a report puts in the denominator before interpreting its index.
Imagine your price is $110. You have three eligible competitor offers for the same exact product and variant, observed on the same date:
| Offer | Price |
|---|---|
| Competitor A | $90 |
| Competitor B | $100 |
| Competitor C | $130 |
For this example, all three offers are in stock, in the same market and currency, with the same condition and tax/shipping treatment. Use one eligible offer per seller and exclude your own price from the benchmark.
Choose the median, the middle price after sorting the offers. Here it is $100. With an even number of offers, average the two middle prices.
Competitor price index = (110 / 100) × 100 = 110
Gap versus benchmark = ((110 − 100) / 100) × 100 = +10%
Your price is 10% above the chosen competitor median. This result says nothing about whether your own price increased over time. It also describes only the offers included in your benchmark, not every seller in the market.
If your price stays at $110 while the median rises to $110, the index falls to 100 without you changing a price. That is a change in relative position.
One further distinction matters before repricing: being 10% above a benchmark does not mean a 10% discount will match it. Moving from $110 to $100 requires a discount of (110 − 100) / 110 × 100, or about 9.09%. The starting price for that calculation is $110.
For a weighted competitor index, first calculate each SKU’s own-price-to-benchmark ratio. Then apply weights that sum to one. Fixed base-period revenue shares are one possible choice; equal SKU weights are another. State which you use. The number of offers found for a product does not establish its share of sales.
Keep the comparison valid
An accurate formula can still describe the wrong thing if the underlying products, offers, or price conditions change.
Why an average price can mislead
Imagine two products stay at $20 and $100. If you sell one of each, the average selling price is $60. If you later sell nine of the $20 product and one of the $100 product, it becomes $280 / 10 = $28.
Neither product became cheaper. The sales mix changed. A fixed basket containing one of each would still cost $120 and have an index of 100.
A changing set of competitor offers can have a similar effect on an average or median. A cheaper seller entering the sample can lower the benchmark even if no continuing seller changes its price. Record offer membership when using benchmark values to describe changes over time.
Match products and price conditions
Use the same model, capacity, pack size, variant, and condition. Replacing a 16 GB RAM kit with a 32 GB kit changes the product being measured; its price difference cannot automatically be treated as pure price movement. SkuPeek’s product matching page explains the role of exact product and variant comparisons.
Keep the currency, market, shipping treatment, tax treatment, and promotion eligibility consistent too. A public price and a members-only coupon price need an explicit comparison rule. Currency conversion can introduce exchange-rate changes into the result.
Handle missing and unavailable prices explicitly
A missing price is not zero. An old recorded price also needs a stated age limit before you treat it as current.
For a simple manual basket, you can withhold the full result until all selected products have comparable prices. Alternatively, calculate a clearly labeled matched-subset index using only rows with valid prices in both periods. Exclude each missing row from both totals and disclose the remaining coverage.
For example, if the SSD price is missing, the remaining five RAM kits and four hubs cost $640 at current prices, compared with $560 at base prices. Their matched-subset index is (640 / 560) × 100 = 114.29, a 14.29% increase. The subset covers two of three SKUs and 70% of the original basket’s base value. It does not replace the result for the full basket.
The subset rises more because it excludes the SSDs—the only product in the full basket whose price fell.
Decide whether your benchmark includes out-of-stock listings and keep that policy stable. Competitor stock monitoring provides context for whether a listed offer is available to buy. If no eligible competitor prices remain, report “no benchmark” rather than zero.
Keep the claim within the basket’s scope
An index of 107 for a selected ecommerce basket supports the statement that this basket costs 7% more than at its stated base prices. It does not establish that the entire category, all online stores, or the economy experienced 7% inflation.
Name the products, reference period, weighting method, market, and coverage alongside the result. If you change the basket or weights, record the change rather than silently extending the old series.
Use the result for a pricing review
Once the calculation is reliable, look at the product-level evidence behind it. A basket index can hide a price decrease on one important SKU. A competitor index can identify a price gap without telling you whether closing it would improve profit.
SkuPeek’s price benchmarking compares your price with the median of approved competitor offers for the same product or variant, alongside the price range and stock context. Under the comparative definition used in this article, a gap of +10% corresponds to an index of 110. This is a mathematical way to express the comparison; it does not imply a separate index feature in the product.
Use that evidence to review the match, available alternatives, your costs, and the service attached to your offer before deciding whether to change a price.
See how your own catalog compares with the market
SkuPeek finds matching competitor offers and compares their prices and availability with your products.
