System models are great for modeling the spread of an infectious disease, which is one of the reasons I decided to model the spread of the Flu. While there hasn't been a strain of the flu as bad as the infamous Influenza of 1918, there are still annual outbreaks of the Flu all over the world, and they still often turn into dangerous epidemics.
My model takes into account many factors that influence a disease outbreak or epidemic, such as the population size, the rate of infection, the accuracy of vaccines, and the deadliness (death rate) of a given strain of the Flu.
To download the model, click on the download link below.
You will need to have Vensim downloaded on your computer to be able to view or run the model in Vensim.
download modelIf you do not have Vensim on your computer, you may click on the link below, which will allow you to download the Vensim program.
link to downloadTo run the model, press the Syn the Sim button at the top of the screen. It is a small grey box with a green arrow in it. Once you have started the simulation, you are able to change the values for various factors and observe how they change the graph that to the right of the model.
The time step for the model is in days, because I wanted to model an outbreak of the Flu over a longer period of time, like the Flu season, which is typically a three to four month period of time. By making my model go for one hundred days, I can make a good approximation of how the Flu might spread during its peak time of the year.
I chose to make my initial Healthy population have a population of 10,000 people because that is the size of a small town, or a specific area in a city, which is where a disease would begin to spread. The initial Sick population is three people to represent the beginning of an epidemic, before the disease has had a chance to spread.
There are six factors in the model: Healthy Birth Factor, Non Disease Death Factor, Disease Death Factor, Treatment Factor, and Infection Factor, and Vaccine Factor. All the factors have a minimum of zero, because in context they can't be negative. The birth factor (for Healthy) is adjustable, but has a maximum of 0.005 because there could potentially be one new person born for every two people, and each two people would only be able to produce once during the model because it lasts for 100 days. The Non Disease Death Factor has a maximum of 1 because that way the model can handle another event in a population that might cause people to die, however, under normal conditions the factor would be approximately 0.001. The Vaccine Factor is dependent on the Infection factor. On average, vaccines are effective approximately fifty percent of the time, so the vaccine factor will be half of whatever the infection factor is. The infection factor should be approximately 0.05, to model a relatively aggressive strain of the Flu, which is what I want to model, however, the user of the model can explore what a Infection factor of anywhere from 0 to 1 would do to a population, because all those values are posible. The treatment Factor should be about .02, because not everyone will have access to treatment, and not all treatment is effective. However, the user can explore a Treatment Factor of anywhere between 0 and 1 because theoretically, there could be a perfect, very effective treatment. The Disease Death factor is 0.5, because this model is for a more lethal strain of the flu, but the model can handle any Disease Factor between 0 and 1 depending on how lethal the strain of the Flu is.
If the initial value of the Healthy population was changed, that could change the accuracy of the model, or the meaning of the model. If the the initial population was made smaller, the model would be les accurate, because it is supposed to model the spread of the Flu in a population, which has to be quite large.
I actually started off this model by breaking it by literally pushing its limits. One of the first things I did to start the model ended up being wrong and I got a floating point error. Floating point errors happen because you have a value is so big the compute can't remember it. I was getting this huge value because the values I put in for my were unrealistic and too large. I think I essentially made a Vensim infinite loop.
The main thing I learned from this model is that if a disease is too lethal, and has too high of a death rate, it will not last as long because it will kill too many people and it won't have anybody left to infect and then both the population and disease will die out.