On-shelf availability
Whether the product was actually there for the shopper to buy.
01 What it is
Why anyone looks at this number
Whether the product was actually there for the shopper to buy.
Your warehouse can be full and the shelf empty. This is the only availability measure that matches the moment the sale is won or lost.
02 The formula
How it is worked out
On-shelf availability = store_days_product_available ÷ store_days_expected grain : day × store × product unit : percentage source : Retailer EPOS and stock feeds, or field audits
Zero sales does not prove zero stock. The usual method infers a gap from an unexpected break in the sales pattern, which needs a baseline per store and product, not a global rule.
03 Worked example
The same number, with real inputs
| Store-days measured | 124,000 |
| Store-days available | 117,180 |
| Calculation | 117,180 ÷ 124,000 |
| Result | 94.5% |
5.5% of the time the product was not buyable. On this base that is worth roughly €600k of lost sales a year, most of it never recorded anywhere.
04 What moves it
Four things that actually change this number
Replenishment frequency
How often the shelf gets refilled from the back room.
Phantom inventory
Stock the system believes exists and the shelf does not have.
Promotion planning
Uplifts that outrun the replenishment cycle.
Space allocation
Too little facing for the rate of sale.
05 Where the number lives
The system, the record and the fields
| System of record | Key record | Fields you need |
|---|---|---|
| Retailer EPOS and stock feeds, or field audits | Product × Store × Day | units_sold, on_hand, phantom_stock_flag, planogram_status |
Zero sales does not prove zero stock. The usual method infers a gap from an unexpected break in the sales pattern, which needs a baseline per store and product, not a global rule.
06 How it goes wrong
Three ways this metric misleads people
Trusting system stock
Phantom inventory is common and the system reports it as available.
Fix: Infer from sales patterns and validate with audits.Measuring at chain level
A good average hides the stores where the product is chronically absent.
Fix: Rank by store, and act on the tail.Ignoring promotions
The biggest gaps happen exactly when demand is highest.
Fix: Measure availability during promotions as a separate number.08 Questions
Frequently asked
How is OSA different from fill rate?
Fill rate measures what you shipped against what was ordered. On-shelf availability measures whether the shopper could actually buy it. You can hit 99% fill rate and still have empty shelves.
Can we measure it without retailer data?
Partly. Sales-pattern methods detect likely gaps from your own shipment and depletion data, but store-level accuracy needs EPOS or audits.
One definition, everywhere it is used
SCIKIQ stores this metric once and serves it to every dashboard, board pack and agent that asks.