Posted on February 13, 2013 @ 06:09:00 AM by Paul Meagher
A major missing ingredient in my business modelling efforts to date is the concept of "uncertainty". When we are projecting our business model into the future we can really only speculate as to whether the assumptions on which the business model are based are realistic and will approximate the true values for revenues, costs, and profits over time. That being said, we can still try our level best to create a business model that approximates how we think the future will unfold. In order to do our level best, however, we have to have tools for modelling the future that are up to the task. There are many variables that you might want to add to a model in order to accommodate some unique quirck of your business model. Ideally, the business modelling tool you select will have a built in knob for that variable. Or you can just use a general purpose programming language like PHP and hack one up yourself. This article series provides "hackers" or "DIY" types with some code and ideas to get started in crafting a business model for your business.
The concept of uncertainty is a very peculiar one. It is located in the nether regions between the concept of chaotic randomness and risk. The term is often used in professional discourse to denote a random variable that is quantifiable, such as the distribution of height among the population where the mean and standard deviation of the distribution can be estimated (along with kurtosis and skew). You may want to compare this definition to the above diagram to see where it fits (perhaps along the upper or lower arm depending on your philosophical stance towards the nature of uncertainty).
In the context of business modelling, we can introduce uncertainty into any variable. For example, instead of assigning the variable
$num_new_customers_per_month the single value of 10, we might assign it a mean value for each year in the projection along with either a single variance estimate or a set of variance estimates for each year. As each year passes in our model, we sample from a "new customers per month" normal distribution (or poisson distribution for fewer customers or rare events) that has a different mean, and perhaps a different variance. This will produce monthly estimates of new customers that varies around a mean each year with the mean expected to increase as the model projects further into the future.
So that is how I propose to introduce uncertainty into business modelling.
There will be no code in todays' post because introducing uncertainty will require the inclusion of a Probability Distributions Library (PDL) to make the inclusion of random variables into our modelling efforts more elegant and powerful. Fortunately, I have developed a Probability Distributions Library using PHP that can be used for this purpose. In order to share code in the future, however, I need to setup a repository where the full code base powering the business models is available. Towards that end I have setup a MrDealflow github account and am in the process of figuring out how to use it (looks like it will be fairly straight-forward so far). When I have the next iteration of my business model prototype ready that includes uncertainty, I will upload the code to this location and post an article on it.