Retail Store KPIs: 12 Metrics, Formulas, and an Owner’s Action Plan
19.09.2026 10:00To assess a store’s performance, owners should review sales, gross profit, customer purchases, and inventory together each week. Sales growth alone does not show how much the store earned: the result depends on returns, the cost of goods sold, discounts, and expenses. Start with one spreadsheet, set consistent calculation rules, and assign someone to each data source.
A small store can work with 12 key performance indicators (KPIs). Below is a practical management analysis system for a retail store in Ukraine. You can adapt the recommended periods, review process, and owner actions to your product range and operations.
- How to prepare data for KPI calculations
- Sales, turnover, and cash received: record them separately
- 12 store KPIs: formula, source, and action
- How to calculate profit, margin, and markup without confusion
- How to count receipts, items, and conversion correctly
- How to account for returns and repeat purchases
- How to assess inventory turnover and days of inventory
- Illustrative example: calculating metrics for one store
- How to compare KPIs and check what caused changes
- How to collect store KPI data in Torgsoft
- The owner’s weekly KPI action plan
How to prepare data for KPI calculations
Before your first calculation, write down what the spreadsheet covers: one location or a chain, retail sales or wholesale as well, a physical store or orders from other channels. Use the same boundaries for sales, receipts, returns, and cost of goods sold. Otherwise, for example, including online orders in sales could inflate the physical store’s conversion rate.
- Period. Define the date and time boundaries for including transactions. A daily spreadsheet helps find errors, a weekly one helps you choose actions, and a monthly one helps assess financial results.
- Tax basis. If you are registered for value-added tax (VAT), calculate margin using net revenue excluding VAT and the corresponding cost of goods sold excluding recoverable VAT. If the tax is not recoverable, include it in the cost under your accounting rules. Agree on the composition of the metrics with your accountant and keep it consistent from period to period.
- Discounts and returns. Use the actual sales value after discounts. Deduct the value of returns once, and remove the cost of returned goods from the cost of sales accordingly.
- Units of measure. Count pieces, kilograms, and meters separately. For the items-per-transaction metric, decide in advance how you will count packages and sets.
- Data completeness. Leave a metric blank if you do not have traffic data or purchase history. Zero would mean you measured a result of zero.
It is recommended to record the period, location, formula, source, and a brief note about changes alongside each result. If the denominator is zero, do not calculate the ratio.
Sales, turnover, and cash received: record them separately
Sales value shows the value of goods sold during the selected period. In day-to-day work, people often call this turnover, but that label alone is not precise enough for a spreadsheet. Name the row clearly: “Sales after discounts before returns” or “Net sales revenue after returns.” Note whether VAT is included.
Net sales revenue for this KPI system = sales after discounts − value of returns. Both amounts must use the same tax basis. If a report has already deducted returns, subtracting them again will understate the result.
Cash received should be recorded based on actual payments into the cash register and bank accounts. A prepayment may arrive before the sale, debt repayment may arrive later, and the bank may credit a card payment on a different day. An owner’s contribution increases cash but is not a sale. Transferring money between your own cash registers and accounts does not create new revenue.
It is recommended to reconcile sales, returns, and payments daily, explaining differences as separate transactions: prepayments, debts, processing delays, and fees. This reconciliation helps distinguish an accounting error from an ordinary difference in timing.
12 store KPIs: formula, source, and action
The table shows a recommended division of responsibilities. In a small store, the owner may cover several roles, but every figure should still have a defined source.
| Metric and formula | Source, owner, period | What to check and do |
|---|---|---|
| 1. Net sales revenue Sales after discounts − returns, using the same tax basis. | Sales and return documents. The administrator checks daily; the owner reviews weekly. | Break down the revenue change into changes in transaction count, units, and prices. Check whether a decline is explained by shorter opening hours. |
| 2. Number of sales receipts Number of completed purchases during the period. Return documents are counted separately. | Register of completed sales. The administrator checks daily and weekly. | Identify changes by hour and category. Do not equate the number of receipts with the number of unique customers or visitors. |
| 3. Quantity of goods sold Quantity sold − quantity returned, separately by unit of measure. | Sales and return line items. The administrator checks weekly. | Check whether physical demand is changing, which goods are out of stock, and which substitutes customers are buying. |
| 4. Average transaction value Selected sales amount ÷ number of sales receipts. For the after-returns version: net revenue ÷ sales receipts. | The same documents and period boundaries used for revenue and receipts. The owner checks weekly. | Check prices, discounts, purchase composition, and the effect of returns separately. Do not explain a change solely by salesperson performance. |
| 5. Items per transaction Quantity sold ÷ sales receipts. For the after-returns version: net quantity ÷ sales receipts. | Contents of completed purchases and, if needed, returns. The administrator checks weekly. | Check whether complementary goods are in stock and offer relevant add-ons. For mixed units of measure, calculate by category. |
| 6. Gross profit Net revenue − cost of goods sold, adjusted for returns. | Sales, returns, and cost data. The owner or accountant checks weekly, with a monthly adjustment. | Identify categories where discounts or rising costs reduced earnings. Check the data before changing prices. |
| 7. Gross margin Gross profit ÷ net revenue × 100%. | Agreed revenue and cost data. The owner reviews weekly by category and store. | Check how product mix, purchase prices, and discounts affected the result. Assess it alongside the gross profit amount. |
| 8. Visitor-to-purchase conversion Number of visits that resulted in a purchase ÷ all counted visits × 100%. | Independent traffic count and purchase data. The administrator checks daily by hour; the owner reviews weekly. | Check queues, product availability, consultations, and whether the offer meets visitors’ needs. |
| 9. Return rate by value Value of returns during the period ÷ sales after discounts before returns for the same period × 100%. | Sales and return documents. The administrator checks weekly; the owner checks monthly. | Review reasons by product and supplier. To assess a specific batch, calculate separately using the related sales. |
| 10. Inventory turnover Cost of goods sold during the period ÷ average inventory at cost. | Cost of sales and inventory snapshots. The owner or buyer reviews monthly by category. | Review orders for slow-moving items and check whether fast turnover is accompanied by stockouts of needed goods. |
| 11. Share of repeat customers among identified customers Identified customers with two or more purchases during the period ÷ all identified customers who made a purchase during that period × 100%. | Purchase history linked to customer records. The administrator checks monthly or over a longer purchase cycle. | Check that purchases are consistently linked to customer records. Assess the result only for the identified group. |
| 12. Net profit under management accounting Gross profit + other income − remaining expenses and taxes not yet included. | Consolidated income, expense, and tax records. The owner and accountant review monthly. | Check rent, payroll, fees, advertising, and other expenses. Do not equate this result with the cash balance. |
How to calculate profit, margin, and markup without confusion
Gross profit is the difference between net sales revenue and the cost of goods sold. It still needs to cover expenses not included in cost of goods sold, such as rent, payroll, and bank fees. You can determine net profit only after accounting for all income, expenses, and applicable taxes.
Margin = gross profit ÷ net revenue × 100%. It shows what share of revenue remains after the cost of goods. Markup = gross profit ÷ cost of goods sold × 100%. These formulas have different denominators, so the same sale produces different percentages.
Illustrative example: An item with a cost of UAH 600 is sold for UAH 1,000 on a comparable tax basis. Gross profit is UAH 400, margin is 400 ÷ 1,000 × 100% = 40%, and markup is 400 ÷ 600 × 100% ≈ 66.67%. Net profit cannot be determined from these two amounts because other expenses are still unknown.
It is recommended to calculate store margin from the totals. A simple average of individual product margin percentages distorts the result when sales volumes differ. You should also avoid deducting the full cost of a purchased batch from revenue as cost of sales: some of the batch may remain in inventory.
How to count receipts, items, and conversion correctly
One receipt may include several units of one product or several different products. The number of lines on a document therefore does not always equal the number of units. One customer may also make several purchases, so receipts alone cannot tell you the number of unique customers.
For day-to-day sales team management, it is recommended to calculate average transaction value and items per transaction using completed sales before returns but after discounts. To assess financial results, you can also calculate versions after returns. Label them separately: a return from an earlier purchase reduces current net revenue without describing today’s baskets.
Conversion requires an independent visitor count, using a counter or an agreed manual procedure. Sales data from a program does not show how many people entered and bought nothing. Decide in advance how you will exclude staff, deliveries, and service access, and how you will count repeat entries.
If you cannot determine the number of visits that resulted in a purchase, you can use the approximate formula “sales receipts ÷ visits × 100%.” Mark this in the spreadsheet: multiple receipts during one visit will affect the result. The period, hours, and sales channel must match in the numerator and denominator.
How to account for returns and repeat purchases
For weekly monitoring, it is convenient to divide the value of returns in the current period by sales before returns for that same period. This shows the relationship between current flows; it does not mean that this share of today’s sales was returned, since customers may have returned goods from the previous month. With a low volume of new sales, the metric may even exceed 100%.
If the owner is checking batch quality or the result of a promotion, it is recommended to create a group of related sales and track returns from that group over the same observation period. The numerator should contain returns from that group, and the denominator should contain its original sales. Keep value-based and unit-based metrics separate.
The repeat customer share also needs a precise label. The formula in the table shows how many identified customers made at least two purchases within the selected period. It excludes anonymous purchases and does not automatically show how many new customers later returned.
To check whether new customers return, it is recommended to select separately the customers whose first purchase was in a defined month and give each the same period in which to make a repeat purchase. Check for duplicate customer records and missing identification: changes in record-keeping practices can affect the metric even if customer behavior has not changed.
How to assess inventory turnover and days of inventory
Inventory turnover = cost of goods sold ÷ average inventory at cost. Use the cost of sales after adjusting for returns in the numerator. Value inventory in the denominator using compatible rules, without mixing cost and retail prices.
To start, you can calculate average inventory as the sum of inventory at the beginning and end of the period divided by two. If large deliveries or seasonal purchases substantially change stock during the month, it is recommended to use the average of daily inventory snapshots taken at the same time. Two end-point figures may not reflect the actual inventory level.
Days of inventory = number of calendar days in the period ÷ turnover for that period. Use 30 days for a 30-day period and the actual number of days in the year for an annual period. This is a calculated measure of turnover speed over a past period; it does not determine the exact time it will take to sell each unit.
Compare categories with similar seasonality and delivery lead times. If turnover increases, also check for stockouts and unmet requests. Reducing inventory can improve the ratio while limiting sales.
Illustrative example: calculating metrics for one store
All figures below are fictional and are provided to explain the formulas. The period is 30 calendar days. The store sells items counted by piece only; all monetary amounts use a single basis excluding VAT. In this example, each visit that results in a purchase corresponds to one sales receipt.
- Sales after discounts before returns: UAH 120,000; returns: UAH 6,000.
- The store issued 300 sales receipts, sold 600 units, and accepted 30 units in returns.
- Cost of goods sold before adjustment for returns: UAH 72,000; cost of returned goods: UAH 3,600.
- Inventory at cost at the beginning and end of the period: UAH 136,800 at each point. For this example, average inventory is calculated from these two values.
- An independent count recorded 1,200 visits. Of 80 identified customers, 40 made at least two purchases during the period.
- Other expenses and taxes not yet included in cost of goods sold: UAH 35,000. There is no other income.
| Metric | Calculation and result |
|---|---|
| Net revenue | 120,000 − 6,000 = UAH 114,000. |
| Sales receipts | 300 receipts. Return documents are not added to this number. |
| Net quantity of goods | 600 − 30 = 570 units. |
| Average transaction value | Before returns: 120,000 ÷ 300 = UAH 400. After returns: 114,000 ÷ 300 = UAH 380. |
| Items per transaction | Before returns: 600 ÷ 300 = 2 units. After returns: 570 ÷ 300 = 1.9 units. |
| Gross profit | Adjusted cost: 72,000 − 3,600 = UAH 68,400. Gross profit: 114,000 − 68,400 = UAH 45,600. |
| Gross margin | 45,600 ÷ 114,000 × 100% = 40%. For comparison, markup: 45,600 ÷ 68,400 × 100% ≈ 66.67%. |
| Conversion | 300 ÷ 1,200 × 100% = 25%. |
| Return rate by value | 6,000 ÷ 120,000 × 100% = 5% based on current period flows. |
| Inventory turnover | Average inventory: (136,800 + 136,800) ÷ 2 = UAH 136,800. Turnover: 68,400 ÷ 136,800 = 0.5 turns in 30 days. Days of inventory: 30 ÷ 0.5 = 60 days. |
| Share of repeat customers | 40 ÷ 80 × 100% = 50% of identified customers. |
| Net profit under the example assumptions | 45,600 − 35,000 = UAH 10,600. |
Suppose the store also received full payment for all current sales, paid out returns, and collected UAH 4,000 in debt repayment from a previous period. Then receipts from customers, less refunds paid, total 120,000 − 6,000 + 4,000 = UAH 118,000. This differs from both net revenue of UAH 114,000 and profit of UAH 10,600. To determine the cash balance, you also need to account for opening cash and all payments.
Based on these figures, the owner should check the reasons for returns, inventory composition, and expenses. A 40% margin or 60 days of inventory alone is not enough to label performance good or poor without comparing it with previous comparable periods and the specific store’s conditions.
How to compare KPIs and check what caused changes
It is recommended to compare the same location, the same channels, and similar sets of weekdays. Mark holidays, promotions, seasonal changes, closures, and reduced operating hours. If the store operated fewer hours, also calculate sales and gross profit per operating hour. For a chain total, also check stores that operated in both comparison periods.
- Revenue increased, while the number of units barely changed. Check prices, discounts, and the share of higher-priced goods. These data alone do not prove that demand has fallen or prices are too high.
- There were more receipts, but average transaction value fell. Compare items per transaction, average unit price, and returns. Then check whether needed products were available and what was in the new purchases.
- Revenue increased, but gross profit fell. Check cost of goods, discounts, and the share of categories with lower margins. If gross profit increased but net profit fell, check other expenses.
- Conversion fell. First check that traffic was counted correctly and the hours match. Then compare the result with queues, out-of-stock items, and visitor requests.
- The share of repeat customers increased. Check the number of new customers who have been identified and the completeness of purchase records. The share can rise because fewer new customers are coming in.
Set targets using your own history, planned expenses, purchasing needs, and available staff. A change in one ratio calls for checking related metrics: assess an increase in average transaction value alongside the number of purchases and gross profit.
How to collect store KPI data in Torgsoft
For daily sales checks, use the full day report for the specified day in Torgsoft’s sales help guide: it separately shows the number of sales, number of returns, cash and non-cash sales amounts, and total returns. The total number of transactions in this report includes sales and returns, so use the number of sales specifically as the denominator for average transaction value. The product report for a period lets you set an interval, type of trade, and format; you can also specify sales times in reports to compare operating hours.
For inventory, open “Склад → Стан складу” (“Warehouse → Stock status”; the labels are shown in Ukrainian). According to the official description of this mode, the form includes product quantity, price, and cost; the “Стан на дату” (“Status as of date”) filter shows the quantity on the selected date, and selected products can be added to an inventory turnover analysis. In practice, this lets you check slow-moving items, zero and negative stock, and products whose discounted price is below cost. For your own calculation of average inventory, keep comparable quantity and cost data; a single current stock figure is not enough.
Check repeat purchases using “Аналіз → Аналіз активності покупців” (“Analysis → Customer activity analysis”; the labels are shown in Ukrainian): the mode’s help guide describes how to select a period and accounting center, view the number of receipts, and filter customers by number of purchases. First ensure that each sale is linked to the relevant customer by selecting a customer record or scanning a discount card, as described in the sales mode. In the customer activity analysis, the fields “Виручка реалізацій” (“Sales revenue”) and “Виручка в процентах” (“Revenue percentage”) are listed as excluding returns, so do not automatically use them as net revenue. Apply conclusions about repeat purchases only to identified customers, and measure traffic for conversion separately.
The owner’s weekly KPI action plan
- Check the data at the start of the week. The administrator reconciles sales, returns, and payments, and checks for unfinished documents and stock errors. The owner confirms cost of goods sold and expenses that have not yet been recorded.
- Compare like-for-like periods. Choose a previous week with similar days and operating hours. Mark promotions, interruptions, and product range changes that may have affected the result.
- Choose one issue to investigate. For example, if items per transaction fell, review specific receipts, the availability of complementary products, and customer requests. Record a confirmed cause separately from a hypothesis.
- Assign a specific action. The buyer replenishes selected items, the administrator changes the display, or the owner reviews discount terms. Record the person responsible, deadline, and metric you will use to assess the change.
- After a week, assess the result alongside related KPIs. After changing a display, check sales of the relevant products, items per transaction, and gross profit. Account for other changes in conditions before attributing the result to this action alone.
- After the month ends, update profit and purchasing figures. Add all expenses and taxes, and check average inventory and turnover by category. Use this data to determine the next orders and available budget.
-
08.10.2026
42 Retail Promotion Ideas and Examples
42 retail promotion ideas: discounts, bonuses, gifts and loyalty programs. Practical examples, marketing advice and Torgsoft features.
-
04.10.2026
How to Decorate a Store for Halloween and Boost Sales
Halloween window display ideas, safety rules, modern retail sales practices, and how to set up promotions, mailings and analytics in Torgsoft.
-
19.09.2026
Online Gifts for Your Store: 9 Formats and How to Launch
How to sell gifts online: choose formats, calculate costs, arrange delivery to someone else, and set return terms.
Go back to the previous step
Дякую, для мене була дуже корисна інформація. Окрема подяка за чіткий та лаконічний допис, без води та пафосу) дякую
Як можна покращити маржу?