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.