Inventory Management Advice

Making better use of the data in your inventory system

Supplementary Inventory Management System (SIMS)

This is an open source system for facilitating improvement of inventory management. It is intended for use in conjunction with existing inventory systems and uses data extracted from those systems. It is written in the Python programming language which in available on most platforms. The program is called “”. The current beta version is 1.1. It can be downloaded by clicking here. It can be run on any computer which runs Python 3.4 or later.

Python is pre-installed with Mac OS and linux but not Windows. To find out what version, if any, of Python you have, enter “python3” at the command prompt in the case of linux or “python” in the case of any other operating system. If you don’t know how to access the command prompt on your computer then click here. To exit from the Python interpreter, enter “exit()” or press “Ctrl-D”.

Version 1.1 carries out ABC analysis and service level measurement. A number of other facilities are planned.

Most modern computers other than netbooks and tablets run 64 bit Windows 10. For the benefit of users of that operating system, I have created a Windows application “sims.exe” which can be downloaded from here. It contains “”, a Python interpreter and the necessary libraries. Your antivirus software will probably warn you about the danger of downloading Windows applications. That warning is perfectly normal for Windows applications which are not in widespread use and, consequently, unknown to anti-virus software.

To prepare for use of SIMS, create a directory (folder) which I will call “inventory”. Then copy “” or “sims.exe” as appropriate into that directory. Windows usually hides the extension (the characters after the dot). Extract the required data from your inventory system to create a file “current.csv” and put that file into the inventory directory.

The file “current.csv” should contain a record for each item (product). The records should be in UTF-8 order of the product code. UTF-8 and ASCII are the most widely used standards for character encoding. ASCII is a subset of UTF-8. Each record of the file should consist of tab separated values. This is much more reliable than using comma separated values.

There is one compulsory field, viz. the item code (product code).

If you want to do ABC analysis then you will need to include the demand rate and the unit cost (preferably the average cost price). There are two types of demand rate estimate which can be provided. One is the average annual demand and the other is the average monthly demand at the current time of year (i.e. taking seasonal effects into account). The preferred demand rate for ABC analysis is the average annual demand and it should, if possible, be obtained from the entire demand history. This is to ensure that the demand rate estimate will not be zero for any item for which there has ever been a demand. Forecasting algorithms which use exponential smoothing automatically use all of the demand history since implementation of the algorithm.

If you want to measure your service level  you will need to supply the demand rate (preferably at the current time of year) and the stock (inventory) on hand.

To run,¬† enter “python3” at the command line in the case of linux or “python” on any other computer on which Python is installed. If you are using 64 bit Windows 10 then double click on “sims.exe”. Your computer will probably just show it as an application called “sims”.

There is provision for entry of the supplier code. It will be used in later versions of the system.

SIMS is not guaranteed to be suitable for any purpose. If you use it then you do so at your own risk. If you find a bug, please take a screen shot and report the bug. Suggestions for improvement are welcome.