0
$\begingroup$

(Tag suggestions welcome)

I've been studying the logistic growth model $y=\frac{c}{1+ae^{-bx}}$ from this online text book chapter.

I saw an opportunity at work to apply some of what I had learned and I had some questions on my interpretation.

The context is the revenue generated from app installs from a specific cohort/date. Let's say Jan/1st/2020. For people who installed out app on this date, the cumulative revenue on each day after install looks logarithmic.

In this image the vertical y axis is cumulative revenue and the horizontal x-axis days since install.

enter image description here

Two business questions were asked:

  1. Can we estimate the lifetime value of a cohort
  2. Can we get any indication of how fast the revenue from the cohort is generated?

This made me think of the logistic growth model because it has two points of interest: the asymptote which could be interpreted as the cohorts lifetime value and then the midpoint which could be a measure of payback velocity.

Using R I fitted the following model on my data:

mod = nls(CUMAMT ~ SSlogis(TENURE, asym, mid, scale), data = d)
coeffs <- mod %>% coef()
> coeffs
        asym          mid        scale 
5.344634e+07 1.169408e+02 7.957433e+01

Here's how it looks: enter image description here

Black is actual, blue is predicted. Not a great fit. Visualizing it's like I just want to flip the prediction around 180 degrees on the x axis.

With some research and experimentation, I tried log transforming the input variable:

mod = nls(CUMAMT ~ SSlogis(log(TENURE), asym, mid, scale), data = d)
coeffs <- mod %>% coef()

coeffs
        asym          mid        scale 
1.775768e+08 7.112677e+00 1.417290e+00

This time, the fit appears very good: enter image description here

All I changed here was to natural log transform my input to R's model for logistic growth $y=\frac{c}{1+ae^{-bx}}$. I guess it's now actually $y=\frac{c}{1+ae^{-b*log(x)}}$

A few questions about my project:

  1. Is my approach sound? Does it make sense? I would like to calculate the lifetime value of a cohort as well as an estimate of their revenue velocity. Is using this model a reasonable approach?

  2. What would I call this model in English? Presumably I can no longer call it a 'logistic growth model' since I have transformed the input. What would I call this model?

  3. The coefficient for the midpoint is 7.112677. Presumably if I want to translate this back into days scale I just need to exponentiate it:

    exp(7.112677) 1 1227.429

It takes 1227.4 days to get half the predicted lifetime value (asymptote). Is this a correct interpretation?

$\endgroup$
1
$\begingroup$

You correctly found that the model fitting well is

$$\boxed{y=\frac{c}{1+a \ x^{-b}}}$$

which is equivalent to

$$y=\frac{c}{1+a \ e^{-b \ X}}\quad\text{with}\quad X=\ln(x)$$

So this is a model of the logistic kind. I don't think that a different name can be given to each variant of the basic logistic model each time a change of variable is made.

On the figure below :

Black curve : Copy of the figure given in the question.

Red curve : From computation of the fitted equation.

The numerical values of a, b, c are probably not accurate because to compute them the data was not the original data (not given in the question) but was a data obtained by scanning the pixels of the figure, which is not accurate.

enter image description here

Or equivalently : $$y=\frac{c}{1+(\frac{x}{x_m})^{-b}} \quad,\quad x_m=a^{1/b}$$ $x_m$ is the value of $x$ at which $y$ is equal to half the asymptocic value. $x_m\simeq 1174. $

$\endgroup$
1
  • $\begingroup$ Thank you for this detailed answer. I'm going to study this a little $\endgroup$
    – Doug Fir
    Apr 28 at 20:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.