Theory Behond Pareto/NBD Part 2
1 Deriving the Likelihood Function
Last time we talked about the ParetoNBD Model. Today we’ll derive the model likelihood function.
1.1 Some notation
For an customer,
Define:
Next, we’ll show that it is sufficient to use individual’s
1.2 Conditional on and
Assume a customer’s
There are two possible ways this pattern of transactions could arise:
- The customer is still alive at the end of the observation period (i.e.,
), the individual-level likelihood function is simply the product of the (inter-transaction-time) exponential pdf and the associated survivor function:
- The customer became inactive at some time
in the interval (i.e. ), in which case the individual-level likelihood function is
Note that in both cases, information on when each of the x transactions occurred is not required.
We can replace
由以上两个事实可知,无需知晓客户每次的购买时间,第一次消费时间、最后一次消费时间、消费频次 作为充分统计量,已经足够我们导出似然函数了!
Removing the conditioning on
1.3 Removing the Conditioning on and
We remove the conditioning on
The computation is tedious, check the paper “A Note on Deriving the Pareto/NBD Model and Related Expressions” to know the details.
1.4 MLE for
Since we have derived the likelihood function
This can be maximized using standard numerical optimization routines. Therefore, we will obtain 4 maximum likelihood estimators
2 Derivations
2.1 Mean of the Pareto/NBD Model
Given that the number of transactions follows a Poisson process while the customer is alive,
- if
, the expected number of transactions is simply . - if
, the expected number of transactions in the interval (0, τ] is .
Removing the conditioning on the time at which the customer becomes inactive, it follows that the expected number of transactions in the time interval
Now removing the Conditioning on
2.2 Derivation of PAlive
The probability that a customer with purchase history
As the
By Bayes’ theorem, the joint posterior distribution of
Thus,
For details check the reference paper. Note that, the above result is the formula to calculate PAlive used in BTYD
📦 implemented in R.
2.3 Conditional Expectation of Transactions
Let random variable
If the customer is active at
Of course we don’t know whether a customer is alive at
Also, since
After the tedious computation, we will get
Note that:
The first part, the bracketed term, is out expression for
.The rest part is mean of the Pareto/NBD (2.1), with “updated” parameters that reflect the individual’s behavior up to time
(assuming no “death” in ).
Next time, we’ll finally take about the prediction of CLV.
3 Reference
Schmittlein DC, Morrison DG, Colombo R (1987). “Counting Your Customers: Who-Are They and What Will They Do Next?” Management Science, 33(1), 1-24.
Fader PS, Hardie BGS (2005). “A Note on Deriving the Pareto/NBD Model and Related Expressions.” URL
Fader PS, Hardie BGS (2007). “Incorporating time-invariant covariates into the Pareto/NBD and BG/NBD models.” URL.
Fader PS, Hardie BGS (2020). “Deriving an Expression for P(X(t)=x) Under the Pareto/NBD Model.” URL