Trend formation and and the futility of trend-seeking
Amid all the fuss about Chat GPT, I’ve seen a renewed interest in the meta-conversation about exciting trends, asset bubbles, and lots of other pilings-on. That’s spurred me to chunk a few disparate thoughts about trends into this post. My general point of view is that trends are complicated and a very poor foundation for investment theses. As a result, I don’t think it’s a particularly useful exercise to issue prognostications about trends.
What is a trend?
At the risk of devolving into a definition spiral, I suppose it’s useful to clarify what I’m talking about when I say trend. We use this term pretty loosely.
When I talk about trends, I’m always referring to a social phenomenon. I’m talking about the dynamic adoption of or interest in some idea or thing within a group of people. By extension, the behaviors of human systems — markets, organizations, technology development, etc. — can exhibit trends.
I’m not using trend generically to describe changes in the time series. Although we might reasonably call the expansion of the universe a trend, that’s not what I’m talking about.
A hypothesized model of trend formation
I think we can start by confining an analysis to a particular context — a given population and a given thing or idea. We can then describe the strength or relevance of trend as the aggregate level of interest demonstrated by that population. Naturally, this level of interest should vary over time.
Let’s just call that level of interest Y(t).
Further, I’d argue we can decompose Y(t) into four main parts:
Cyclical factors — let’s call this C(t)
Long-run secular factors — let’s call this L(t)
Social autocorrelation factors — let’s call this A(t)
Stochastic factors — let’s call this S(t)
So we can imagine Y(t) = C(t) + L(t) + A(t) + S(t)
Cyclical factors
Most of us have observed from personal experience that trends come and go in cycles. This is maybe most obvious in fashion — I remember when baggy jeans were cool, then uncool, then cool again. People even talk about the twenty-year rule. So I’d argue it’s helpful to create room for a kind of cyclical causality behind trends.
We could start by imagining C(t) as a sine wave. This gives us the general behavior we wanted. Y(t) now has a cyclical component.
We can do better. Suppose in the population there are actually two groups of people with cyclical preferences. Some switch their preferences very quickly, while others move more slowly. We can think of these as short phase adopters and long phase adopters.
Suppose we said now C(t) = 0.5sin(t) + 0.5sin(θt) for some constantθ. We now have summed two waves with different phase. I’ve put an example below for θ = 2. This really simple combination of two waveforms gives us a choppy cycle — which is not obviously cyclical.
We can generalize this a little further to say C(t) is the linear combination of some number of waves, for some integers n and p and constants α, θ, ρ, and γ.
It doesn’t really matter exactly the magnitude or shape of C(t). The important thing is that there’s some underlying cyclicality behind Y(t).
Long run secular factors
Here I think there’s something pretty simple going on. Many trends do exhibit a kind of drift over time.
Sometimes it’s because there’s a structural change in the population that’s pretty hard to unravel. For instance, there’s an element of global economic growth that stems simply from population increases.
Sometimes it’s because new things —mostly technologies — are just better. In the nineteenth century, nobody was using antibiotics in surgery. Now pretty much everyone uses them.
This component, L(t), can take virtually any form. I think it might be interesting to explore a few potential families for L(t).
Monotonic sublinear
Monotonic superlinear
Mound-shaped development
Monotonic sublinear
[Note: I’ll confine this to ‘increasing’ L(t), but we can pretty easily extend this to the ‘decreasing’ case.]
Monotonic sublinear here means any function L(t) that is either never decreasing or never increasing and for which the magnitude of change decreases over time. Because we’re just thinking about monotonically increasing L(t) for now, we can pose the following two conditions:
L(t + ε) >= L(t) for any ε > 0
|L(t + ε)| - |L(t)| < |L(t)| - |L(t - ε)| for any ε > 0
We’re basically talking about functions that look like this:
Here, we’re effectively describing any trend for which there is an ever-increasing nudge toward adoption, but nonetheless a trend where that nudge decelerates over time. In my mind, this describes trends where the population leans toward early adopters. Suppose we were talking about outsourcing accountancy for SaaS companies as a trend; the adoption pattern probably looks something like this, because the bulk of feasible customers might be startups that move more quickly than heavily-resourced and risk averse companies.
Monotonic superlinear
Monotonic superlinear families resemble monotonic sublinear families. Here', monotonic superlinear functions include any such function L(t) that either never decreases or never increases — and for which the magnitude of change increases over time. Because we’re just thinking about monotonically increasing L(t) for now, we can pose the following two conditions:
L(t + ε) >= L(t) for any ε > 0
|L(t + ε)| - |L(t)| > |L(t)| - |L(t - ε)| for any ε > 0
We’re basically talking about functions that look like this, a simple exponential curve:
Here, we’re talking about trends that do have a drift toward adoption, but for which the underlying support develops very slowly. In the long run, L(t) explodes toward positive infinity, but the growth may be very slow within a narrow frame of reference.
Mound-shaped
This is the family of L(t) that I think is probably most common. It’s one for which L(t) increases on some range of t, and then decreases on all other t.
I’m thinking of a family of functions that looks like this:
In the context of a particular technology’s adoption, we should expect this shape of secular support to be pretty common. Why? It’s pretty much certain any given technology will get replaced by a superior alternative. Take the Flash player for instance. Once ubiquitous, it’s now entirely defunct. Now I’m certainly conflating Y(t) and L(t) here, but it’s pretty hard not to agree that the underlying technology became outmoded over time.
Social autocorrelation factors
I’d argue the sentiment around a trend at any time t is — at least partly — a function of the sentiment at some previous time t - k.
There are a couple of causal channels through which I’d guess this is true.
The first is simply discovery. It’s hard for any given person to participate in a trend without having been made aware of the trend in the first place. And the probability of discovery moves pretty closely with adoption. TikTok trends emerge so rapidly in large part because of the app’s discovery-first design.
The second causal channel is more interesting, I think. It’s when trends feed status-seeking behavior. If we choose to imagine adoption of a trend as a binary choice, we can pretty easily imagine that it creates an in-group and an out-group. What we choose to wear is again an obvious case here — it would be pretty bizarre to wear a suit to watch a children’s cartoon, but lots of people started doing it this summer — once it was already popular.
And there’s another angle here too; approaching a saturation point of popularity can diminish a trend’s appeal.
So we can reasonably imagine that there’s some component of Y(t) that depends on lesser values of t. But more importantly in some cases, we care about the local slope of Y() leading up to t. Is the trend decreasing or increasing in popularity? How quickly?
I’d frame A(t) as having two components: a function of magnitude m(t) and a function of direction r(t).
Suppose we take m(t) as a linear combination of some number of previous periods of Y(t), marked by intervals of time k and scaled by some constants η.
We could set up m(t) to be any kind of function really. One particular variation that I find compelling is to impose a piecewise saturation penalty, e.g. imposing a constant drag factor that reduces Y(t) at any time at which Y(t - k) exceeds some saturation threshold. But the general point is more important, that we should create room in our model for magnitude of previous periods’ Y() to shape future periods’ Y().
We can imagine our direction function, r(t), in a pretty similar way. Suppose we take some recent value of Y() that’s arbitrarily close to t, denoted Y(t - ε), and we look back at some prior values of Y() that we write as Y(t - κ).
Note that the degree to which Y() has changed on that interval determines the contribution of r(t) to Y(t). Suppose Y() has decreased from Y(t - κ_1) to Y(t - ε); then if φ_1 > 0, the first term of r(t) here will be negative. So the general contribution of r(t) is either to reinforce or reverse the trajectory of Y(t).
Stochastic factors
This is just random noise S(t). I find it simplest to imagine S(t) adheres to a normal distribution. This removes a lot of unnecessary complication. But even given this constraint, I think there are two useful families of S(t) to consider: the first is where S(t) has constant parameters; the second is where we allow the parameters to vary in t.
Constant parameter noise
Let’s just say S(t) ~ N(0, 1). This just creates a little bit of randomness. It has neither a positive nor negative bias, because it has mean zero. And the magnitude of the randomness stays pretty much the same over time.
But even in this case, because we have our autocorrelation term r(), even small S() can cause wild swings in Y(). For instance, there’s a 25% chance that we draw two negative S(t) terms in a row. There are families of r(t) and m(t) for which this little bit of randomness can wholly eradicate a trend over time.
Variant parameter noise
We could specify that S(t) ~ N(0, σ(t)) such that variance depends on t. For instance, we might say that the randomness around a trend’s adoption converges toward zero as time goes on … or we might believe the opposite is true.
Alternatively, we could specific that S(t) ~ N(μ(Y(t - ε)), σ(Y(t - ε))) such that the mean and variance depend on Y(). For example, we could say that the mean of S(t) biases negative for small Y() and the variance balloons for large Y().
Summing up Y(t)
I’d argue that we can decompose trend formation into cyclicality, secular support, autocorrelation, and true randomness. Moreover, we can set these functions up so that they describe nearly any adoption curve.
So what’s the point? Isolating the contribution of any subcomponent of Y(t) requires that we make extremely strong assumptions about their functional form. And actually doing so would be analytically pretty challenging even after asserting a strong point of view on model structure.
The futility of trend-seeking
My general point of view on trends from an investing perspective has long been that they’re a fool’s errand. Unfortunately investors — particularly venture investors — absolutely love to talk about trends. When I’ve done investing interviews in the past, almost every conversation included some variant of what trends do you think are worth investing in.
I think there are many problems with trend-chasing, but here are a few big ones:
Confusing Y(t) for L(t) — I was guilty of this in my own post when using the Adobe Flash example. It’s remarkably easy to convince yourself that adoption patterns signal enduring secular support for a trend. This just isn’t true. Even if you average out the things that look like noise, you just might be picking up on autocorrelations instead of secular support.
Assuming superlinear L(t) — if you impose an exponential form on any pattern, you can rapidly delude yourself into a projection of explosive growth. Increasing your bodyweight on Thanksgiving by 1% obviously shouldn’t be taken as a signal that you’ll 38x your body mass over the successive 365 days.
Failing to appreciate randomness — humans are very strange and irrational sometimes. This really doesn’t change when a group of us sorts into roles (e.g. markets, companies, social groups). Trends will frequently emerge due to randomness and autocorrelation. We’re all too quick to forget about the Pet Rock.
Crowding in — it’s remarkably easy to mistake a supply side trend for a genuine expression of demand-side preference. If a dozen companies crop up to put beanie babies on the blockchain, it would be pretty natural to call that a trend. Does anybody want that? Probably not. This is an absurd example, but less obviously goofy situations like this crop up all the time.
A simpler alternative to trend-seeking
Now, if I don’t consider trends remotely investable, what would I rather replace them with?
There’s a simpler framework that I consider the only viable approach to identifying commercial opportunities — first, to find enduring dislocations of customer preference from the available solutions; and second, to determine whether viable alternatives exist to supplant those solutions.
If this sounds like an obvious approach, well.. that’s because it is. It’s also strangely (to me) uncommon.
There are a couple of scenarios where we can find might pop up. Here are the main ones:
Enduring, material change in customer preference (i.e. not a short-lived change in prevailing fashions)
Disappearance of previous solutions
Introduction of superior solutions
Via new technologies
Via novel economic models
Focusing on the relationship between preferences and solutions is not very hard. It also protects you from making pretty bad mistakes.
Wrapping up
I think it’s a dangerous habit to project the long-term behaviors of trends because it’s exceptionally difficult to develop high-fidelity representations of their root causes. There are just easier and more useful frameworks for decision making than hazarding guesses at future crowd behavior.