Ideas for modelling multi-stage sales pipelines?


I’m looking to do a more detailed forecast model for customer acquisition. We have pretty long B2B sales cycles selling to large accounts, and keeping track of the current pipeline build-up is very important. I’d like to create an initial model and then update the pipeline actuals which will help adjust the forecast.

The pipeline is built of multiple stages with different converison rate and cycle time characteristics. My first attempt was a bit to simplistic so right now I’m exploring using cohorts and conversion rates to capture the difference in likelihood to be converted dependant on age, but with multiple stages it quickly becomes complicated.

I would be very interested and appreciate to hear how others have tackled similiar problems and how your solutions are working!

All the best,

Hi @Anton_Gustafsson,

I have a template you can clone here that tackles this very issue!

There are two ways to approach building out the pipeline/funnel for customer acquisition. In the template, there are examples of both.

  1. You can use simple input to calculate conversion and time taken to convert. In the template this is done for converting Marketing Spend to Leads. There is a Cost per Lead input and a Time to Lead input which together calculate Leads This is done by dividing the Marketing Spend by Cost per Lead which calculates the # of leads and the Time to Lead is used in the time modifier of the Lead variable to delay the conversion by the input variable using t-Time to Lead.


  1. As you suggested you can make this calculation more sophisticated by using Causal’s cohort functionality. For the next two stages of the funnel we have Conversion inputs which are relative time inputs and tell Causal the sequence each cohort will follow for conversion.

Then using the syntax as follows and explained in the docs [here] you can convert New Leads into SQL's by cohort, with each following the sequence defined in the input. (Cohorts - Causal Product Docs)


The next stage of converting SQL's to New Customers follows exactly the same logic except for aggregating the cohort away in the New SQL variable in the formula and starting a new cohort for New Customers as in the snip. This means the cohort again follows the sequence defined in the input.


Hope this helps!

1 Like

Thanks @Sanjeev_Sandhar for sharing - this was spot on! :dart:

1 Like