Better Stock Plans

A lot of users have been giving feedback over the past month and something that really stood out was that people were finding the stock plans (a.k.a. inventory replenishment reports) difficult to understand. There was a great deal of confusion over the minimum field and, more generally, there simply wasn’t enough context in the report for people to understand how things were being calculated or what they meant.

As such, the new stock plan report has been completely revamped.

New inventory replenishment plan

The new stock plan includes various fields that, although not directly actionable, demonstrate intermediate calculations of the algorithm that we use to calculate which products need to be reordered (and how many), which are running overstock and which are all in order. Here is a step by step break down of what’s going on in the new stock replenishment plan.

Replenish (inventory that needs reordering)


The all famous stock keeping unit… this is a unique identifier that you’ve assigned to each of the products that you sell.


The number of units currently available. Note that this is not the same as the number of units that you have in stock. In addition to the stock that you have physically on hand, Available takes into account two other factors:

  1. Ecommerce and mail order companies may also have already received various orders that they have not yet fulfilled – in these cases, some of the items that are in stock will already be allocated or set aside for those new orders (and thus no longer available for sale).
  2. Many ERP systems allow you to track purchase orders as well as sales orders. Any products that you have on order from suppliers but not yet received will also be incorporated into the Available count.

The final calculation for the number of items that you have Available is thus:


Lead Demand

Also often referred to as Lead Time Demand, this is the total forecasted demand for the product between when the stock plan is created and when any eventual products will be available for sale. This is calculated using:

  1. The Lead Time that you configured for each of your suppliers or products when generating the stock plan
  2. The forecast that you used to generate your stock plan
  3. The service levels that is configured for the product

In case you’re wondering, the service levels can either be configured globally or per class of inventory (if you have turned ABC classification on in your project settings). In plain terms, the service level is the probability that you will not run out of stock for a particular product. The higher the service level you configure, the more stock you will have to hold.

Most of the forecasts that you view in SkuBrain are mean forecasts – so if you held exactly enough inventory to cover the demand in those forecasts you would be holding to a service level of 50% (i.e. you’d stock our roughly half of the time). For most businesses, that’s probably not going to be good enough so you’ll likely configure much higher service levels (depending on how costly you consider/calculate lost sales to be in your situation).

Forecasted Available

Forecasted available refers to the amount of stock that SkuBrain expects you’ll have on hand at the time any new stock you order arrives. So for a product that has a lead time of 21 days, this is how much stock SkuBrain thinks you’ll have available 21 days from now.



Required is the amount of stock that SkuBrain calculates you should be holding when any new stock you order arrives. If you’re placing orders once a week, this will be equal to the forecasted demand from the delivery date until one week after that. If you’re placing orders once every month then it will be the forecasted demand from the delivery date until one month after that… and once again, this takes into account the same service levels that are used to calculate lead time demand.

If we define the regularity with which we are placing orders (e.g. every 7 days) as the order cycle, and we call the order cycle following the delivery of goods the delivery cycle then:



The number of units that SkuBrain recommends you order This is simply Required minus Forecasted Available (rounded up to the nearest whole number).


Overstock (products that you’re overstocked for)

The Replenish field obviously doesn’t make much sense for those products that you’re holding too much stock of. As such, on the Overstock tab you’ll see an Overstock field instead of a Replenish field.

Overstock inventory columns

The overstock is calculated as the number of items that you are holding in excess of your configured stock maximum. You can configure in the replenishment settings for your SkuBrain project, along with service levels:

Overstock inventory columns

If you configure a maximum of 200% of your required stock then you’ll be warned when your current stock levels would lead to a situation in which:


Additional information

In addition to the fields that are shown in the grid itself, if you export your replenishment plan to a CSV file, you’ll get a bunch of other fields such as specific lead times for each SKU, Product IDs (if you’re using an ERP system), the dollar value of replenishment and overstock calculations and stock minimums and maximums.

The minimums and maximums are calculated as follows:


Where the overflow is what you’ve configured in the replenishment settings for your project (as described in the overstock section above). The minimum may seem like a bit of a useless piece of information. Essentially however, if minimum < available then you need to reorder stock, otherwise you don’t. The main reason for including this field is that most order management and ERP systems only offer very simple inventory optimization tools. Typically they allow you to configure a stock minimum and a reorder quantity. If you were exporting the data from SkuBrain’s replenishment report to a CSV file then, you could use the minimum and replenish fields directly in such Order Management and ERP systems.

What’s ahead for stock plans

I think the new stock plans should be heaps easier to make sense of, but they still need some annotation so that much of the information in this blog post is available within the reports themselves. I’d also like to see some visual explanations of the calculations so that it’s easier for people to get their head around these. Finally, we haven’t yet got dollar values for replenishment recommendations and over stock warnings for Brightpearl – that will require a little bit more work (since Brightpearl allows multiple price lists to be associated with products), but it’s definitely on the road map!