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 “sims.py”. Version 1 (beta) is now available and 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 carries out ABC analysis. The next facility to be added is 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 “sims.py”, 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 “sims.py” 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.
To run sims.py, enter “python3 sims.py” at the command line in the case of linux or “python sims.py” 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”.
Service level measurement is to be included in Version 1.1. That will require the demand rate (preferably for the current time of year) and the stock (inventory) on hand. For that reason, it is suggested that the stock on hand be included in the “current.csv” file.
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. Please report any bugs. suggestions for improvement are welcome.