Google Classroom
GeoGebraGeoGebra Classroom

Application: Modeling User Growth Pt. 2 -- Concavity

Nice! I've copied your model below. This type of model is known as a Logistic Model, and it is useful for modeling data sets that initially grow exponentially, but then later exhibit growth which "tapers off." Based on our data set, it looks like maybe the growth of user headcount is "tapering off" around day 750. Usually logistic models are used by biologists to model the population growth of organisms such as bacteria or bunnies in finite resource environments. In our case though we're modeling Instagram users, and the competition for resources is likely the limited number of people willing to try new apps in their early years. Our model might look complicated in the applet below, but the format for logistic functions is always the same: where N, c and k are all numbers. The most important number in the logistic model is N, called the Carrying Capacity of the model. We'll discuss N in more detail below. For now though, let's see if the model has any critical points. Calculate the derivative of g with the snippet derivative(g) (this might take a while since Geogebra has to do a bit more work than usual), and then find where g' is equal to 0 by intersecting g' with the x-axis with the snippet intersect(g',y=0).
Uh oh! When you ran intersect, you probably got a point that was undefined. That's fine! That just means that Geogebra couldn't find any critical points. Even though you might be uncomfortable with this fact, this makes perfect sense. Take a look below, and move A along g. Notice that as you slide A along g, the tangent line never gets perfectly flat. In other words the slope of the tangent line never becomes 0. It gets close as you move right (or left), but the slope of the tangent line never actually becomes 0, and so therefore the derivative never becomes 0. Thus this model has no critical points. This isn't a quirk about this particular logistic model: all logistic models have no critical points. As a result this logistic model (and in fact every other logistic model) has no maximums or minimums.
Wild! Since this logistic function has no maximum, the model only increases as time goes on. On the other hand however, it absolutely appears as though the model does seem to approach some value as x becomes large. In the applet below I've switched A to show you it's numerical values. Move the point to the right and pay attention to the y-coordinate. Any guesses what the y-coordinate is approaching?
That's right, the y-coordinate is approaching the Carrying Capacity, N, of the logistic model, g. We can actually write this pretty nicely using the concept of a limit from earlier: The interpretation of this number is that the model is predicting that, based on the 7 data points it was given, the number of users will grow towards but never quite achieve 91465629.86257. Of course this is only a model, and it's only as good as the data it was given, and only as good as the (possibly incorrect) assumption that the data is adhering to logistic behavior. Regardless, this is a very interesting insight we were able to glean from our model! The model is predicting that the number of Instagram users will grow towards but never quite achieve 91.5 million. Interestingly, it turns out this prediction is flat-out wrong! As of late 2018, Instagram has almost 1 billion users; the slowdown observed about day 750 was just a blip, and growth has continued more or less exponentially. Thus, either the assumption of using a logistic regression model must have been incorrect, or additional data is needed. We'll discuss this sort of stuff later in the chapter on Miscellany. Before we move on however, there's one last thing that's interesting to study about our logistic model. You might have noticed that the growth rate switches from growing more and more quickly to growing but growing less quickly somewhere around day 500. You can visually see this in the shape of the graph: before about day 500 the graph is curling upwards more steeply, but after about day 500 the graph is growing but getting less steep. The point where the growth of a function changes from getting more steep to less steep is called an inflection point. When the growth rate of a function is increasing, the function is said to be concave up because if you look at its graph, it makes a concave curve pointed up. When the growth rate of a function is decreasing (as in the right half of our logistic model) the function is said to be concave down. Concavity is determined by the sign of the second derivative (here the word "sign" means whether a function is positive or negative. Specifically:
  • If a function f is concave up, then the second derivative is positive
  • If a function f is concave down, then the second derivative is negative
This also works in reverse:
  • If the second derivative of a function f is positive, then the function f is concave up
  • If the second derivative of a function f is negative, then the function f is concave down
We can see this in the following applet which shows a function f, its derivative f' (light gray and dashed) and its second derivative f'' (darker gray). On the left the function is concave down, and so the second derivative is negative. On the right, the function is concave up, and so the second derivative is positive.
One last note. The spot marked with an "X" has a special name. It's called an inflection point of the function f, and it's a point where the function f switches concavity. To identify an inflection point you must ensure that both:
  • The second derivative is 0, and
  • The second derivative changes sign, either from positive to negative, or vice versa.
Move onwards to begin studying the final topic of derivatives before we move on to the the integral in the next chapter.