Monte Carlo Simulation Sales Forecasting

Monte Carlo Simulation Sales Forecasting

This article was originally published on the Intellisolve blog and looks at how to use a Monte Carlo simulation for sales forecasting. It also discusses how to practically interpret the results in a useful way.

Sales forecasting models can be broadly categorized into two categories.

Deterministic models

where you know the exact path a forecast will take. No matter how many times you run the model you get the same result.

Some deterministic models used for sales forecasting have been discussed in a previous post.

Stochastic models

A stochastic model adds randomness to the prediction. This means, every time you run the model you get a different outcome. the outcome will be within the probability of what happened in the past. This is great for modelling actual world events, because it captures their inherent randomness of events. If a system is complex enough, starting off at the same point and doing the same things can yield different results.

It is great for sales forecasting. No matter how many variables you know about, you can never accurately predict what the next year is going to look like. The randomness is accepted and built into the process.

Let’s go!

Like the previous post on forecasting, we will use our favorite sales data set. It shows daily sales data between 2014 and 2018 for a global superstore.

No alt text provided for this image


For our purposes we will make some changes to the raw data to better fit the problem a little better.

Volatility

Volatility is a measure of how much a value changes over time. The more volatile the more drastic individual changes can be.

Models based on high volatility tend to be less reliable.

There are big swings in daily sales between 0 and $25K. For modelling purposes start off by looking at weekly sales.

The weekly sales still have quite a bit of volatility. it can be dealt with by smoothing. The red line shows smoothing on a 6 week moving average.

No alt text provided for this image

Looking at the individual week’s smoothed sales, we can plot it on a standard distribution to get more insight into what they look like.

No alt text provided for this image


The Monte Carlo Simulation

Much has been written about Monte Carlo forecasting in the past. The name has a catchy ring to it.

It is a method of running random scenarios based on how data behaved in the past. All the scenarios are grouped up and then statistical analysis is run on them.

For instance when we look at the data set, the majority of the sales happen between $5K and $15K. There are sales that happen outside these ranges but not as many.

It means we can assume that this is likely to be the case in the forecasting year as well.

A Random Walk

Based on how sales are likely to change over the year, we can simulate what could happen over the forecast year. Each of the weekly sales will be drawn from a probability distribution like the Distribution of Weekly Sales above.

Numbers in the middle of the distribution (around the 10K mark) will be drawn more frequently than numbers on the sides. Plotted on a graph, it gives you a unique path every time a simulation is run.

No alt text provided for this image


In the Monte Carlo simulation we run this process many times in order to capture predictable randomness.

Each path is not predictable but all paths are.

-Me

No alt text provided for this image


Each of the simulations are tallied and plotted in it’s own normal distribution curve.

No alt text provided for this image
No alt text provided for this image

The curve can then be married up with the risk profile of the company to prepare for the year ahead.

Practical Applications

It's highly likely that you sales will be between $530,931 and $678,475.
There's a 25% chance that sales will be less than 579,824.

For instance, there is a 25% chance that sales will be below a particular amount. If the chance of this happening is too high, then it needs to be looked at.

Monte Carlo simulations can be applied to any set of problems that deal with predictable randomness. It is a great tool to have in the CFOs toolkit because it promotes thinking along the lines of probability rather than absolutes.

All the code of the analysis and the graphs are available as a Github Repository.

If you made it to the end of this post, thanks for reading. Please let me know what you think. It would be great if we could start a discussion on this topic.

References

Further Reading


Aaron Whittle

Sr Director @ Toast | GTM Strategy and Operations | Player Team Creator

1 å¹´

Hey Karim - Great read! Have you adapted this method to forecast individual unit bookings?

赞
回复

要查看或添加评论,请登录

Karim Lameer的更多文章

  • 5/5

    5/5

    Why is it useful? It gives you better access into how the items within a list are organized. How is it done? You can…

  • 4/5

    4/5

    Why it is useful? User filters are better than general filters. When you change a general filter, the views change for…

  • 3/5

    3/5

    Why is it useful? Unable to aggregate this way without an intermediate step. How To? Starting off with a small list of…

  • 2/5

    2/5

    Why is it useful? If a list has a sequence of items that you need to add to, you will need a starting number based on…

  • 1/5

    1/5

    Get the start and end period (week, month, year) in a modules time frame. Why is it useful? Some calculations are done…

  • Quick tips for building better financial models

    Quick tips for building better financial models

    Whether you are building a financial model for a business or a personal budget, building models in Excel is both a…

  • Anaplan vs Spreadsheets

    Anaplan vs Spreadsheets

    Lotus-123 was the first widely used spreadsheet application. One of the first “killer apps” that drove the sales of…

  • To Find the Right Forecasting Method, Try All of Them

    To Find the Right Forecasting Method, Try All of Them

    Cassandra in Greek mythology was given the gift of foresight by Apollo in exchange for favours. She took his gift and…

  • Using Python to Solve the Monty Hall Problem

    Using Python to Solve the Monty Hall Problem

    Monty Halls was a game show host of Let's make a deal. The game consisted of presenting a contestant with a choice of 3…

    2 条评论
  • A Data Mining Methodology

    A Data Mining Methodology

    Data mining is now a mature science, and with all things that have been practiced for long enough, it can be broken…

社区洞察

其他会员也浏览了