monte carlo simulation ladder blog post image

Plan for Growth with the Monte-Carlo Simulation [No Code Solution]

If you’ve ever predicted future growth by dragging across an Excel formula, the Monte-Carlo Simulation is for you.

It’s an impossible task: accurately forecasting future growth.

The modern market economy is a complex system of incentives and disincentives, representing the collective hopes, wishes, fears and dreams of 7 billion people.

Playing Nostradamus in that environment is a fool’s errand. Who knows where we’ll be in a month, a quarter, a year?

Blackberry didn’t see the iPhone coming, Blockbuster discounted Netflix and Bear Stearns didn’t see the financial crisis coming. 

So you can’t seriously be expected to estimate performance in advance.

…try telling that to the person who sets your budget!

As anyone in marketing knows, to get any serious level of budget approved, at some point you’ll need to convince a client, executive, and/or finance team that their money will be well spent.

To do that, you need to do no less than the impossible: predict the future.

dr strange predicting the future through the monte carlo simulation

Dr. Stephen Strange: I went forward in time… to view alternate futures. To see all the possible outcomes of the coming conflict. Peter Quill: How many did you see? Dr. Stephen Strange: Fourteen million six hundred and five. Tony Stark: How many did we win? Dr. Stephen Strange: …One.

The generally accepted practice is to make a rudimentary model in excel, drag the growth formula multiple months in the future.

Fingers crossed they don’t hold you to it, when reality falls short of what was in the spreadsheet.

What if I told you there’s a better way?

If you don’t know about Monte-Carlo simulations, this post is going to open your eyes.

This is what the Monte-Carlo technique looks like in action: it provides a range of forecasted outcomes and the probability of what outcomes are most likely.

monte carlo simulation in casual

Monte-Carlo Simulation in Causal

In short, it’s a forecasting super power. 

Wouldn’t it be great if instead of a single number to argue over, you could provide your boss or client with a range of potential outcomes?

You’d look a lot more professional, and you’d force them to admit, there is some randomness involved in guessing what will happen in the future. Maybe that gets you off the hook!

The thing I love about this method, is that you don’t even have to be good at math.

The History of the Monte-Carlo Simulation

The technique was first used by scientists working on the atom bomb; it was named for Monte Carlo, the Monaco resort town renowned for its casinos.

In 1946, Stanislaw Ulam, a Polish Nuclear Scientist working on the Manhattan Project (i.e. building an atomic bomb), was recovering from illness in the hospital, playing solitaire.

“I noticed that it may be much more practical to [try]… laying down the cards, or experimenting with the process and merely noticing what proportion comes out successfully, rather than to try to compute all the combinatorial possibilities which are an exponentially increasing number so great that, except in very elementary cases, there is no way to estimate it. This is intellectually surprising, and if not exactly humiliating, it gives one a feeling of modesty about the limits of rational or traditional thinking. In a sufficiently complicated problem, actual sampling is better than an examination of all the chains of possibilities.” 

If you didn’t catch that—here is a nuclear physicist admitting that rather than use complex math to figure out the odds of winning a game of solitaire, you could basically just brute force the answer by playing solitaire thousands of times.

But who has the patience to play solitaire a thousand times and note down the outcomes?

Thankfully he had access to the ENIAC, the first general purpose digital computer, who he realized could play those games of solitaire for him. 

Tiresome for humans, it’s trivial work for computers to simulate hundreds, thousands, millions of repetitions of a game and calculate how many times a given strategy won.

This revelation was useful for more than just solitaire. 

The Monte-Carlo simulation has been used in diverse fields like nuclear physics, fluid dynamics, cellular biology and financial portfolio analysis. If it works on nuclear physics, you can bet it works in marketing too.

Mapping Your Marketing Funnel

The beauty of the Monte-Carlo simulation, is that it’s not that difficult to adapt the way you already work to use it.

Have you ever mapped out your marketing funnel?

You might not have thought about it this way, but in effect you were simulating based on past data, what performance could be for your campaign.

Here’s an example spreadsheet model.

monte carlo simulation marketing funnel

To get from here to applying the Monte-Carlo simulation, you just need to add a probability distribution to your metrics. What does this mean?

If you rolled a dice a million times, every number 1-6 has an equal chance of showing up. This is called a uniform distribution.

rolling once dice probability distribution

What if you rolled 4 dice a million times and added up the numbers you got, what would the outcomes look like?

rolling four dice probability distribution

This is what’s called a normal distribution. This pattern shows up in nature surprisingly often. For example, if you measured everyone’s heights, weights or shoe sizes, you’d get this shape.

The number in the middle of a normal distribution is the mean, or average. However, because of natural variation, you’ll see values that spread out either side of this average.

Note that real-world Monte-Carlo simulations tend to use a triangular distribution because they’re better at expressing ranges. This looks like the shape you get when you roll two dice millions of times and add up the values.

rolling two dice probability distribution

With a normal distribution you have to make some assumptions about the spread of values, and in some cases you get nonsensical outputs like negative values. 

Triangular distributions let you just provide a range and get realistic outputs within that range.

The important takeaway is that you are now thinking in terms of probabilities, not just one specific number. This lets you incorporate the uncertainty you actually see in the real world, making your guesses about the future more informed.

It works the same with funnel economics.

Well when you predict $10 CPM or 1% CTR, you’re giving the average, or mean of some time period. The chances are that the CTR wasn’t 1% every single day. It fluctuated around that mean, sometimes with a lot of variation.

That variation tells you something about the potential performance of your forecast. If CTR was on average 1% but sometimes 5%, other times 0.5%, your forecast could be off by quite a bit.

Predicting Future Performance

The reason you keep getting into trouble with finance is with your Excel models you’ve been giving them unwarranted precision. Give someone a single number, they assume it’s accurate.

Give them a range, they are forced to deal with the uncertainty inherent in any complex system.

You might not want to predict that your average CTR is going to be exactly 1%, but you can be pretty confident saying it won’t be outside of the range 0.8% – 1.2%.

If you repeat this exercise for CPM and CVR, the other inputs of your funnel model, you could multiply together all the potential values in all the ranges, and get a range of estimates for CPA.

Providing a range of estimates to your finance team, boss or client, changes the game.

First it changes the conversation from “do you guarantee this precise number?” to “what are the chances of us hitting this number?”.

That’s a subtle difference, but it turns a negotiation into a collaboration, as your stakeholders start to dig into assumptions of your model and see what can be improved.

Forcing everyone to accept there is some unpredictability inherent in making forecasts about the future, prepares them for downside scenarios and gets everyone thinking about what to do to mitigate those risks.

Suddenly you’re a strategic partner guiding them through complex decisions rather than an adversary that needs to be negotiated against.

So how do you get started with the Monte-Carlo technique?

Monte-Carlo Simulation in Causal

Simulations are commonly run in a coding language like Python, and that’s all fine and good if you know how to code. Most don’t.

Thankfully there are plenty of tools on the market that do the heavy lifting for you.

The problem is many of these tools are pretty old-school. Palisade @RISK, Anaplan, ModelRisk and Oracle Crystal Ball, never looked that appealing to me. That has been a big barrier to entry, stopping me from using the Monte-Carlo Simulation as much as I should.

Then I stumbled upon Mack Grenfell’s fantastic Google Ads Forecaster.

google ads forecaster tool by casual

Google Ads Forecaster tool by Mack Grenfell, built with Causal

It was powered by a tool called Causal, so I hopped on the phone with the founder for a demo. I found it so easy to use to create my own probabilistic models, that we’re now in the process of rolling it out across the team at Ladder.

monte carlo simulation CPA model in casual

Funnel Model using Monte-Carlo techniques in Causal

Causal makes it easy, because it takes no more technical ability than working in Excel. If you can use formulas in a spreadsheet, you can use Causal. It handles the Monte-Carlo simulation part for you.

Causal lets you define your inputs, model calculations and outputs just like Excel. Where it differs, is that it lets you input a range.

ctr value expression

This gets automatically converted into a triangular probability distribution using Monte-Carlo techniques, without you having to do anything.

ctr range distribution preview

Once you have one of these ranges set up, it applies the probability distribution to any metrics that use this input, to generate a realistic range of potential outcomes.

monte carlo simulation metrics in casual

You can even then pull that metric into the text of your report, to call out specifics about the model to your client or boss.

automated marketing status you can send your boss monte carlo simulation

Add all of this up together, and you have a fully functioning Monte-Carlo simulation in about ten minutes flat! Feel free to check out the model I made embedded at the bottom of this page.

monte carlo model

Building this funnel model in Causal took about 10 minutes!

Once you have the model built, there are a couple of other interesting things you can do. The first is to add a sensitivity analysis widget to see how each input affects the model.

sensitivity analysis CPA

In our case it’s the conversion rate (CVR) that accounts for 65% of the change in CPA. We can incorporate insights like this into our strategy, and focus on improving conversion rate as one of the key growth levers for our business.

Now you know what factors affect the model, you can change your assumptions and see how that affects the potential outcomes. What’s the impact of improving Conversion Rate (CVR) by 20%, say by running a successful A/B test?

conversion rate calculations based on an a/b test outcome

Impact of a 20% increase on conversion rate

If we managed to get a 20% uplift in conversion, our CPA would decrease to $8.49 and we’d get 121 conversions. Note that I didn’t say 120 conversions (100 * 1.2) — because conversion rate is just one factor in the model, with a probabilistic range of outcomes, you can’t rely on simply multiplying conversions by 20% and getting the uplift.

This is a small difference of 1, but in more complex models with more variables and higher volumes this can add up to a lot. The Monte-Carlo simulation is more accurate than simple multiplication, and any accuracy gain should be welcome.

In this example I increased CVR by multiplying the range in parentheses by 1.2. But there’s a better way to model out these scenarios in Causal.

You can make the same changes but leave the baseline model unchanged by using Scenario planning. This is where you really start to collaborate with the CEO, CFO or CMO to model out what success looks like based on how you can move the needle.

scenario planning on improving conversion by 20%

In Causal if you really want to show off, you can adapt the model to be a time series and factor in a rate of improvement over time.

factor in a rate of improvement over time

time series forecast of conversions over time in Casual

Time Series forecast with Causal

Of course there are plenty of other options out there other than Causal, but in my experience they just take more work to look this good.

Where to Learn More about the Monte-Carlo simulation

If you are interested, I recommend you check out Ben Collins’ post on how to create normal distributions in Google Sheets. Then you could potentially adapt this method for getting a triangular distribution. It’s also worth checking out this walkthrough of how to integrate any function with the Monte-Carlo simulation in Excel.

If you want to get more advanced, you could then use your understanding of the above to start modeling this out in Python. In doing this you might want to explore the different types of probability distribution available to you.

probability distribution flowchart for data science

Probability distribution flowchart for Data Science (source)

This is important to grasp, because many real-world metrics can’t be modeled with normal or triangle distributions. 

For example, you may have heard of the 80:20 rule, where say 80% of the wealth is owned by 20% of the people. This is what’s called an Exponential distribution. If you model this as a triangle your forecasts will be pretty far off!

Once you get to grips with the Monte-Carlo simulation, you realize it’s a fantastic shortcut to modeling out and understanding all sorts of phenomena. 

The huge benefit of this method in my opinion is that it often offers a more visual and comprehensible approach to understanding something where normally your only option was complex math.

If you’re getting excited by the possibilities, you’re not alone. The Monte-Carlo simulation is an effective but underused tool to solve all manner of problems. 

If you have access to a computer and can code a For Loop, you can predict the future. By simulating potential futures, like Stan Ulam, you can quickly work out the solution to complex combinatorial problems from solitaire to nuclear physics. 

To see this type of approach in action, I recommend you check out Statistics Without the Agonizing Pain by John Rauser and Statistics For Hackers by Jake Van Der Plas. These two lectures are what got me excited about statistics again (after the trauma of my Economics MSc). 

Hopefully you come to the same conclusion I did: the Monte-Carlo method is so unreasonably effective at solving complex problems, that it’s a crime more people don’t know about it.

Causal Model: