Predicting whether something will happen

Propensity objectives allow you to predict whether a person will (or will not) take a well defined action.


Your customers will exhibit many behaviors over time—what if you could anticipate them? Faraday helps you predict the propensity that a given person will attain a certain outcome, such as a lead converting to a customer, a customer buying again, or a subscriber upgrading their service. Any "event" that has happened to people within your data in the past can be predicted for the future.

You will get detailed reporting on how effective your models are, and you can apply your propensity models to anybody you'd like. Faraday shares raw probability, as well as helpful ranks and quantiles to make prioritization easy.

Requirements for propensity

Faraday recommends that you have data describing at least 1,000 examples of a behavior occurring in the past in order to develop an outcome for it. This is a soft requirement: we will attempt to predict objectives with far fewer examples.

Defining a propensity objective

The configuration abstraction we use at Faraday to declare propensity objectives is called Outcome. You'll use the POST /outcomes endpoint to create them.

All you need to define an Outcome is the one or more cohorts you created in the previous step (Defining cohorts).

  • At a minimum, you will indicate which of your cohorts represents examples of this outcome, via the attainment_cohort_id parameter. For example, you could use a Customers cohort to represent examples of a "Purchase" outcome: your existing customers have previously achieved this outcome (they purchased something) and are therefore great examples.
  • In some cases, you will also be able to choose a cohort that represents explicit counterexamples of the outcome, via the attrition_cohort_id parameter. For example, a "Lead conversion" outcome could use a Customers cohort as examples and a "Stale leads" cohort as counterexamples.
  • Finally, you may encounter situations where you want to explicitly define an eligible population for this outcome, via the eligible_cohort_id parameter — you will choose another cohort to do this. For example, an "Upgrade" outcome may only be relevant to existing customers (your Customers cohort).

To summarize, defining an outcome (propensity objective) is as simple as choosing 1–3 cohorts. Faraday takes over from there.

Our ML approach

Behind the scenes, Faraday employs an ensemble of decision trees (a Random Decision Forest) to predict your outcome. This is a binary classification algorithm that yields an intuitive, explainable machine learning model. As always, Faraday models are exhaustively validated.

What's next

Now let's dive into the second kind of prediction Faraday supports: persona