Retail analytics: inventory, customer lifetime value and store performance
A practical guide to retail analytics for independent shops and small chains: the inventory, customer value and store metrics that matter, how to calculate each one, and where to start with the data you already have.
Retail runs on thin margins and a lot of small decisions: how much to reorder, when to mark down, which customers to win back, which store needs help. Each decision is cheap to get slightly wrong and expensive to get wrong every week. This guide covers the metrics that matter most for an independent shop or a small chain, with the formula for each and a worked example in round numbers.
Inventory: where the cash sits
For most retailers, inventory is the largest asset and the biggest risk. Too much ties up cash and ends in markdowns. Too little means empty shelves and customers who go elsewhere.
Inventory turnover
Inventory turnover = cost of goods sold ÷ average inventory at cost
If you sold $600,000 of goods at cost last year and held $150,000 of inventory at cost on average, turnover is 4. Stock turns over four times a year, or roughly every 13 weeks. Higher is usually better, but very high turnover can mean you are running out too often.
Weeks of supply
Weeks of supply = units on hand ÷ average units sold per week
With 240 units on hand and sales of 40 a week, you have 6 weeks of supply. Compare that with the supplier's lead time: if reordering takes 5 weeks, you should be ordering now.
Sell-through rate
Sell-through = units sold ÷ units received, over a period
Receive 500 units of a seasonal item, sell 350 in the first eight weeks, and sell-through is 70%. It is the key number for seasonal and fashion stock, where the selling window is short.
Stockout rate
Stockout rate = SKUs with zero stock ÷ SKUs you intend to carry
Look at it by SKU importance, not just overall. A 3% stockout rate is fine if it is all slow movers and a problem if it includes your ten best-sellers.
GMROI
Gross margin return on inventory investment = gross margin ÷ average inventory at cost
If a category earned $90,000 in gross margin on an average inventory of $45,000, GMROI is 2.0: every dollar held in stock returned two dollars of margin. It is the best single number for comparing categories, because it combines margin and turnover.
Demand forecasting
Good reordering starts with a forecast that accounts for:
- Trend and seasonality from your own sales history.
- Promotions, which lift sales predictably and are often followed by a dip.
- Outside factors such as weather and local events. A garden center or an ice cream shop can see this in its data.
- New products, which have no history; use a similar product as a stand-in.
- Cannibalization, when a new item takes sales from an existing one.
Markdowns
When stock does not sell, markdown decisions come down to timing and depth. Track sell-through after each markdown step. If a 20% cut does not move the item within two weeks, a second small cut rarely does; the choice is usually a deeper cut or clearing it out.
Customer lifetime value
Not every customer is worth the same, and in retail the difference is large.
CLV = average order value × purchases per year × expected years as a customer × gross margin
Round numbers: $60 × 5 purchases a year × 3 years × 45% margin = $405 in gross profit over the relationship.
A more complete version subtracts acquisition cost (ads, first-order discounts) and serving costs (returns, shipping, support). Customers who only buy on promotion often have a much lower effective margin than their spend suggests. Our LTV calculator handles the arithmetic.
CLV changes decisions:
- Acquisition: spend more to find customers who look like your high-value ones.
- Retention: a loyalty perk that costs $15 a year is a good deal for a $400 customer and a bad one for a $40 customer.
- Assortment: make sure the products your best customers buy are always in stock.
To group customers by behavior, RFM (recency, frequency, monetary value) is the standard starting point. Our customer segmentation guide walks through it step by step, with SQL.
Store performance
For physical stores, these five metrics cover most of what matters:
- Sales per square foot = sales ÷ selling area. Only compare stores in similar formats.
- Conversion rate = transactions ÷ visitors. Needs a door counter. High traffic with low conversion points to staffing, stock or pricing.
- Average transaction value = sales ÷ transactions.
- Units per transaction = units sold ÷ transactions. Together with average transaction value, it tells you whether customers buy more items or pricier ones.
- Like-for-like (comparable) sales growth = this year's sales ÷ last year's sales − 1, for stores open in both periods. It removes the effect of new openings.
And one for labor, usually the largest controllable cost:
- Sales per labor hour = sales ÷ hours worked. Read it next to conversion: cutting hours can raise this number while conversion falls.
Comparing stores fairly
Rank stores on each metric and compare the top quarter with the bottom quarter. Group stores by format and location type first, so a small high-street shop is not compared with a retail-park unit. The useful question is not "which store is worst?" but "what do the best stores do that the others do not?".
Online and in-store together
Most small retailers now sell in more than one place. Three points to watch:
- Attribution: people research online and buy in store, and the reverse. A separate profit and loss per channel usually undervalues the website.
- Customers who buy in both channels tend to be worth more. Check whether that holds in your data before building a program around it.
- Fulfilment cost differs by method (ship from warehouse, ship from store, click and collect). Know the cost per order for each.
Where to start
Start with the data you already have, usually your point-of-sale system and an inventory export:
- Connect sales data. clariBI connects to Square as an MCP app (payments, orders, customers and locations, from the trial up), to Stripe for online payments, and to PostgreSQL or MySQL if your shop system runs on one. Anything else can come in as a CSV or Excel export.
- Upload an inventory snapshot each week as a file (the help article on uploading CSV and Excel files covers formats), or connect the database it lives in.
- Look at the automatic dashboard clariBI builds for a file or database source, then ask questions: "Top 20 products by revenue in the last 8 weeks", "Weekly sales by location for this year", "Compare August sales with August last year".
- Add context. A weather source such as Open-Meteo lets you chart sales next to temperature or rainfall.
- Forecast the few products that matter. From the Starter plan, clariBI Forecasting detects seasonality, chooses a method by testing it on your history, and shows a likely range for the coming weeks.
The retail and e-commerce use case page lists the sources retailers most often connect, and our post on retail customer behavior covers the customer side in more depth.
Pick one question you are asking this month, such as "Which ten products will run out before the next delivery?", and build the analysis for that first. The rest can follow once that one is answered every week.