Talent vs Luck: the role of randomness in success and failure

Some Quick Thoughts On this Paper

Photo by Aleksejs Bergmanis from Pexels

There are some discussions on the Internet about this paper which captured my attention recently:

It turns out there are already at least two write-up by well-known media outlets:

There are also two Hacker News threads on this topic: [1], [2].

Basically the authors, by running simulations based on a model, argued in the paper that luck may play a bigger role in an individual’s success than we usually think. The key observation is that while talents are normally distributed (which arguably is a big assumption), the wealth distribution in the real world typically follows a power law. The authors claimed that their model successfully explains this gap between the two distributions, and then provided some directions to “improve meritocracy” based on some simulation results.

I’ll admit that this kind of arguments is pretty much what I’d like to hear. They usually lead to solutions like “Let’s tax the rich more to give the unlucky ones more chances to success, since the rich probably don’t deserve most of their wealth anyway”, etc., etc. But honestly, as a layman, I’m not very convinced by this paper. Evidences provided by this paper to support the model seems flimsy to me. The only connection between the real-world and the model is that the results from simulation follows the 80:20 rule (and also roughly a power law). Even if we ignore the lack of evidence, a model that fits the data well does not necessarily generalize well. In my opinion, the paper need to try harder on justifying the model.

A Simplified Model

The paper chose to leave out some model details, but similar results is not very hard to reproduce. I tried to simplify the model by removing the square world, and the results are still roughly in line with the ones in the paper, as briefly explained below.

A Square World

The model proposed in the paper randomly put people and “events” in a square world. These “events” move randomly at each time step. When an event intercepts the position of a person, the capital of the person can be doubled or halved depending on the type of the event and the person’s talent.

The paper did not specify the coordinate system, and how a event would act if if it moves beyond the boundary of the square world. So the actual probabilities at any time step of an event intercepting a person is unknown.

20180316 Update: For those who are interested in trying the original model in a square world, the paper stated they used NetLogo to conduct the agent-based experiments.

I removed the square world and simply assigned a global probability of event happening at any time step. This gives an absolute level playing field for every person, and it’s not so in a square world. Once the people and events are placed at time zero in a square world, there are gonna be some regions where the number of “lucky” events is higher than the “unlucky” one, and people in this region of the world will tend to be a bit luckier than the others (because of the nature of random walks). It helps model some inequality of opportunities.

We’ll run the simulation in R. First set up the parameters:

# number of people
N <- 1000
# probability of event interception
P_E <- 0.075
# probability of lucky event
P_L <- 0.5
# initial capital
C_0 <- 10.
# total time steps
T_ <- 80
# talent mean
M_T <- 0.6
# talent standard deviation
SD_T <- 0.1

Then run a simulation:

talents <- rnorm(N, M_T, SD_T)
c_all <- matrix(0, T_+1, N)
c_all[1, ] <- rep(C_0, times=N)
event_all <- matrix(0, T_, N)
for(i in seq(T_)){
# whether an event happens
event_happens <- rbinom(N, 1, P_E)
# whether an event is lucky/good
event_is_good <- rbinom(N, 1, P_L)
# whether a person can profit from a lucky event
event_good_profited <- rbinom(N, 1, talents)
# The effect of the hypothetical event
event_effect_hypo <- (
(event_is_good & event_good_profited) * 3 + 1) / 2
# The actual effect at this time step
event_effect_actual <- event_effect_hypo * event_happens
event_effect_actual[event_effect_actual==0] <- 1
event_all[i, ] <- event_effect_actual
c_all[(i+1),] <- c_all[i,] * event_effect_actual

Let’s see the result of a single run:

The talent distribution
The capital distribution after 80 time steps (y axis in log scale)
Fitting the “power law” (x axis and y axis in log scale)
Final capital(log scale) versus talent
Talent vs final capital
Talent vs final capital(log scale)

In this run, the top 20% rich hold 80.19711% of the wealth. The 80:20 rule is not automatically true. I had to tune P_E (probability of an event occurring) to match it. Turns out P_E = 0.075 quite robustly produces results that follows this rule. That means a person will in average encounter 6 events in his working life.

10.3% of people did better than when they started (having more than 10 units of capital at the end). For those with talent > 0.7, 13.89% did better. So talent still plays a role, but not much.

In this simplified model, the talented people have a larger chance of becoming insanely rich than in the square world. The simulation run shown above is one of the more unfortunate ones (for the talented). The reason is because in the simplified model, every people get the exactly same probability of good event, so there are fewer chances where an ordinarily talented get incredibly lucky.

As you can see from the plot, the capital distribution definitely not emulate the real-world wealth distribution every well. This is because of the artificial “double/half” capital fluctuation rule. If we further complicate the model to make it match the real-world data better, whether the underlying dynamic will be the same still remains to be seen.

20180403 Update: This post did a very impressive job reviewing the paper and playing with more models based on the original one. I recommend anyone who find my post interesting to read it:

Source Code of the Simplified Model