Inconsistent future_t for different models in expected_probability_alive

I was exploring to create wrappers for the different models, specifically:

  • BG / NBD
  • Pareto / NBD
  • BG / BB

and while going through the documentation & source code, I found that there’s an inconsistency in future_t for the different models in the expected_probability_alive method.

Pareto/NBD: Handles future_t internally if not specified - creates a column, and adds it to the existing customers ‘T’

BG/NBD: Does not take a future_t argument, instead it defaults to the specified T (which is again, the immediate probability alive) but the catch is, to find future_t at a further interval, we have to add the t required to the T.

BG/BB: Takes a future_t argument (and does not have a fallback defaulting to 0 like Pareto/NBD), and adds the future_t as mentioned.

I wanted to understand if this was just a difference in the code, or if there was a mathematical reason for doing so.

Thanks in advance,
Lowkey.

CC @ColtAllen

Hey @lowkey,

It’s mathematical. The expected_probability_alive methods in Pareto/NBD and BG/BB are both formulated with the option of specifying future time periods in their respective research, but in the case of BG/NBD, the dropout potential is akin to a coin-toss at every purchase opportunity. In this sense, it’s not really a function of time.

1 Like

That makes it more clear.
Thanks for the response, @ColtAllen !