Defining Stock Accuracy With SMAPE

May 1 2023

When retailers start with RFID, achieving high stock accuracy is one of the first goals that they want to achieve. Retailers often set a goal for achieving a stock accuracy of more than 98%.

But what does it mean to have a stock accuracy of 98%?

This article explains what we mean by stock and how you count large volumes of stock. Then, we will discuss the best way to calculate stock accuracy that suits the fashion retail sector the best.

What is stock?

Stock is the collection of items a retailer has in inventory, known as stock-keeping units (SKUs). We can count stock, which leads to a number of quantities. See Table 1 for an example. 

SKU1 1
Table 1: a certain stock

How can you count stock?

There are many ways to count stock:

Every method is prone to error, but some are more accurate than others.

Doing a manual stock count can work well for smaller retailers with only a few products in limited quantities. For example, if a retailer carries only three SKUs where each SKU has a maximum quantity of 3, a manual count is doable and will probably correspond to reality.

However, as the number of products (SKUs) increases, manually counting each item becomes overwhelming, time-consuming, and may not reflect true inventory levels due to human errors.

Another method is analyzing ERP data. But over time, data analysis from an ERP system can often differ from the reality of the situation for various reasons. These differences can be due to incorrect processing of deliveries, inadequate administration of inventory movement, and internal and external theft. These factors can contribute to discrepancies between the actual stock levels and what is recorded in the ERP system.

Lastly, even RFID technology can sporadically fail to detect a label due to human errors, metal shelves, or the shielding of labels by densely packed surroundings.

This leads to an important and paradoxical insight in the discussion about stock accuracy: generally, we do not know the real stock; we can only do measurements.

Generally, we do not know the real stock; we can only do measurements.

On stock counting

Fortunately, we are at a point where RFID technology is so advanced that doing a stock take of thousands of SKUs is feasible. This means that measures taken from an RFID count are close to reality.

Updating the ERP system with RFID stock information subsequently results in the ERP system of a retailer being closer to reality. That's why we use stock accuracy as a performance indicator for the closeness of the ERP stock to the RFID stock.

What is stock accuracy?

Stock accuracy refers to how closely a measured stock matches the expected stock in the ERP system. An example of comparing two stocks is described in Table 2.

SKUMeasured quantity with RFIDExpected quantity in the ERP
SKU1 11
Table 2: measured versus real stock

For SKU1, the measured quantity matches the expected quantity. However, for SKU2, the ERP system expected one item, but this item was not measured. And for SKU3, the measured quantity is higher than the expected quantity.

Next, it's time to explain how we can calculate the accuracy percentage based on these differences between the measured and expected stock.

How to express stock accuracy as a percentage

For expressing stock accuracy as a percentage, we use a method called SMAPE: Symmetric Mean Absolute Percentage Error (you can immediately forget the exact wording of SMAPE. Just remember SMAPE rhymes with happy!)

SMAPE works like this:

SMAPE = ( (| RFID - ERP | ) / ( |RFID| + |ERP| ) ) / Amount of SKUs

The two vertical bars | | indicate that we use absolute numbers, which are the non-negative values of a number. So -6 becomes 6, and 5 will remain 5. And if for one SKU the RFID and ERP-quantity are both 0, the record can be neglected.

Let's put this formula into practice with a new example with six SKUs in Table 3 below:

SKU1 11| 1 - 1 | / | 1 | + | 1 | = 0
SKU222| 2 - 2 | / | 2 | + | 2 | = 0
SKU304| 0 - 4 | / | 0 | + | 4 | = 1
SKU421| 2 - 1 | / | 2 | + | 1 | = 0,33
SKU5100103| 100 - 103 | / | 100 | + | 103 | = 0,01
SKU603| 0 - 3 | / | 0 | + | 3 | = 1
Table 3: SMAPE calculation for stock accuracy

If we add all the differences, we get the following:

0 + 0 + 1 + 0,33 + 0,01 + 1 = 2,34

Next, we take the total amount of SKUs. Then, we divide the sum of our SMAPE difference by this number and multiply it by 100%. In this case, there are six SKUs. So we get:

2,34 / 6 = 0,39 * 100% = 39%

It's important to note that SMAPE calculates the error rate. In order to calculate the stock accuracy, we subtract the SMAPE percentage from 100%. So:

100% - 39% = 61%

For the example in the table above, the stock accuracy is 61%.

How does SMAPE work?

Traditional accuracy algorithms, like SAD or PCS, are biased toward items that expect a lot of quantity. Therefore, these items are given then a higher weight. SMAPE tackles this problem by smoothly weighing the importance of differences.

This approach is crucial for retailers because not all stock differences are equal. Missing a single item when you expect to see one is disastrous, as that can lead to lost sales and dissatisfied customers. In contrast, missing a single item when you expect a hundred is less critical. In practice, it works like this:

The closer the difference is to product unavailability, the stronger the negative effect is on accuracy.

In the example above, there are two SKUs with a difference of 3:

Although both SKUs have a difference of 3, the consequences of those differences are very different. In the case of SKU6, the product is not available. This has a significant impact on the business. On the other hand, for SKU5, there are still plenty of items for customers to buy.

If we calculated the accuracy of only SKU5 and SKU6, it would lead to a stock accuracy of 99% for SKU5 and a stock accuracy of 0% for SKU6.

Even though the absolute difference is the same (namely 3), it results in a completely different stock accuracy.

This 'bias towards 0' is practical in fashion retail, where product availability is crucial for maintaining a positive ROI. An individual difference between 1 and 0 is more important than a difference between 2 and 1. And similarly, a difference between 100 and 99 is considered even less important.


SMAPE is a commonly used metric to measure the accuracy of stock levels.

When your stock accuracy is 98%, it means that your RFID counts have inaccuracies of approximately 2%. In other words, the actual stock levels are, on average, within 2% of the measured stock levels.

On the other hand, having a stock accuracy of 80% would mean that the inaccuracies are more considerable, and the risk of items being out-of-stock is higher. Eventually, having a stock accuracy of just 80% will lead to stockouts or dead stock.

Finally, always remember that stock accuracy, no matter how high, is not the end goal. Instead, the goal of RFID should be to drive sales without overstocking. That's why high stock accuracy is only one part of the puzzle.

What truly drives the business case? Product availability. If you want to know more about building your business case for RFID, read this chapter on our RFID Knowledge Hub: "Boost sales by increasing product availability."