I'm able to fit a logistic growth curve, e.g. like this.
Example provided in that link:
data <- data.frame(
x = 0:15,
y = c(3.493, 5.282, 6.357, 9.201, 11.224, 12.964, 16.226, 18.137,
19.590, 21.955, 22.862, 23.869, 24.243, 24.344, 24.919, 25.108)
)
model = nls(y ~ SSlogis(x, a, b, c), data = data)
plot(data$x, data$y)
lines(data$x, predict(model))
I wanted to experiment by trying to use this approach to model cohort lifetime revenue. I like this model because I get back:
- The asymptote which I'll report as almost predicted lifetime revenue
- The midpoint which is useful since it tells me how long it will take till we get half of the cohorts expected lifetime revenue.
But, fitting my actual data and plotting it, it looks like my data are more exponential than logistic growth. Black line is actual, blue is predicted with nls(cumulative_revenue ~ SSlogis(tenure, asym, mid, scale), data = mydata:
I like the properties of the logistic growth model, the asymptote and mid point. My question is: if my actual data appear to start off with steep growth before leveling off, is there an equivalent model for exponential growth, with a mid-point and asymptote?
Just eyeballing it I almost just want to flip it over for a hopefully better fit.
[Edit]
Updated following a comment. I log transformed the predictor variable and now look!


y~log(x). The logistic growth model tells a nice story, but it is very clear that the data do not support it. It seems like the second derivative of the processes is negative so if you somehow enforced the midpoint to be very small you might be able to get a reasonable fit. Are you able to share the data you used to make this plot? – Demetri Pananos Apr 26 '21 at 17:50