How does mSupply decide how much to order?(Apr 21, 2008)

mSupply uses a dynamic method of calculating what quantity is needed. The main logic steps it uses for a particular item are

  • Work out the average daily usage for the item
  • Multiply this by the number of days stock the user wishes to have on hand (the user enters the number of days when creating the order. This is the total quantity needed.
  • Subtract stock on hand
  • Subtract stock coming on other confirmed purchase orders
  • The result is the quantity to order.
  • (mSupply also does some complicated forecasting for existing purchase orders with forward delivery dates, but let's ignore that for now, as it won't apply 99% of the time).
  • Compare the result with the minimum stock on hand the user has set and use whichever value is higher

The advantages of this method

  • The user doesn't have to maintain minimum and maximum stock levels (see the separate question in this section for more details)
  • mSupply automatically adjusts to changes in demand
  • The user only has to enter the number of days stock required. Versions 2 and later include a handy calculator to add together lead time, buffer stock and ordering cycle to work out the days stock figure.
  • A lot of items will have both a long and a short ordering cycle. For example, you place a yearly tender for an item, and then for the rest of the year you do a monthly evaluation to see if an emergency top-up is required. The minimum stock value for these two situations might be vastly different. Much better to let mSupply work it out ;-)
  • We get a lot of theoretical objections to our lack of minimum and maximum levels, but no objections once people use our system- for the most part, it just works.

Update Friday 15 November 2013:

  • We’ve just produced a handy spreadsheet that you can play with that mimics what mSupply does. You can click here to download it
  • We’re working one a forecasting module- coming early 2014!