Does God Play Dice?

A small town athlete makes it to the pros. A business owner of a small company goes on to become the CEO of a Fortune 500 company decades later. A small-time Youtuber, over the course of several years, becomes a millionaire with billions of views on her videos. We like to think of success as the result of all of our hard work…but how much of it boils down to pure luck? How much of our life is just a roll of the dice?

After watching an awesome video on YouTube by Veritasium about life and luck (look it up!), I decided to fiddle with the numbers myself. Here’s what I did: I created samples of various sizes (100 to 10,000) and assigned each individual a random Skill Level, from 0% to 100%. I also assigned each individual a random Luck Score, also from 0% to 100%.

I then simulated an “event” (making the NFL, becoming an astronaut, making it as CEO of a Fortune 500 company, becoming President, put whatever you want in the blank) by making 95% of that event’s outcome be based on Skill and just a measly 5% based on that individual’s Luck.

Then, I took the Top 1, 3, or 10 from the sample and checked their Luck Scores. This experiment is then repeated 1,000 times in a simulation, and the results are averaged together.

You’d think since Luck (in this example) only accounts for 5% of an individuals outcome that it wouldn’t matter much. Let’s see.

When the sample size is 100, the Top 10 had average Luck Scores of 56%, the Top 3 had average Luck Scores of 65%, and the Top 1 had average Luck Scores of 74%. Already, it’s becoming pretty obvious that Luck does play a role.

When the sample size is 1,000, the Top 10 had average Luck Scores of 81%, the Top 3 had average Luck Scores of 88%, and the Top 1 had average Luck Scores of 91%.

Finally, when the sample size is 10,000, the Top 10 had average Luck Scores of 94%, the Top 3 had average Luck Scores of 96%, and the Top 1 had average Luck Scores of 97%. Stop for a moment and think about that.

Just how big of a role does luck play? I also checked to see, on average, how many of the Top 10 in each sample would’ve been chosen based on Skill alone. In other words, if luck played no role, how many would still have been selected?

In a sample of 100, over 9 of the Top 10 would have still be chosen had luck not played a role. That is encouraging. As sample size rises, though, luck takes over. In a sample of 1,000, only about 5 of the 10 would have still be selected had luck not played a role. And in a sample of 10,000, only about 2 of the 10 would have still be selected had luck not played a role.

The results are summarized in the table below:

Sample: 100Sample: 1,000Sample: 10,000
Top 10 Avg Luck Score:56%81%94%
Top 3 Avg Luck Score:65%88%96%
Top 1 Avg Luck Score:74%91%97%
Number in Top 10 on Skill Alone:

A sample of 10,000 is a modest size, but many situations in life (such as the number of players competing to be in the NFL one day) have much higher numbers than 10,000. Even with sizes as small as 10,000, Luck has an overwhelming role.

And this only assumes 5% Luck. If an event requires more Luck, these numbers become even heavier weighted.

This is not aiming to be depressing, but instead be revelatory: Much of what happens in life is beyond your control, so don’t be envious or jealous or upset about the apparent success of those around you. And likewise, don’t be haughty and demeaning if you are successful and others around you seemingly aren’t. In our self-centered view of the world, we like to attribute success to our hard efforts, and sometimes it may be. Other times, we could just be in the right place at the right time, clicked on the right link, met with the right recruiter, went to the right college, etc.

Here is the R code I used. Feel free to modify it and play with it yourself. (Don’t mind my bad coding practices!)

p <- 10
q <- 100
r <- 1000

skill_score <- replicate(r, rep(runif(q)))

luck_score <- replicate(r, rep(runif(q)))

combined_score <- 0.95*skill_score+0.05*luck_score

toprows <- data.frame(matrix(NA, nrow=p, ncol=r))

topluck <- data.frame(matrix(NA, nrow=p, ncol=r))

topskills1 <- data.frame(matrix(NA, nrow=p, ncol=r))

topskills2 <- data.frame(matrix(NA, nrow=q, ncol=r))

topskills3 <- data.frame(matrix(NA, nrow=p,ncol=r))

skillz <- c(1:p)

for( i in 1:ncol(combined_score)) {
  combined_score[,i] <- sort(combined_score[,i],decreasing=T, index.return=T)$ix
  topskills2[,i] <- sort(skill_score[,i], decreasing=T)
  toprows[,i] <- combined_score[1:p,i]
  topskills3[,i] <- topskills2[1:p,i]
  for ( j in 1:nrow(toprows)){
    topluck[j,i] <- luck_score[toprows[j,i],i]
    topskills1[j,i] <- skill_score[toprows[j,i],i]

for( i in 1:p) {
  skillz[i] <- sum(topskills1[,i] %in% topskills3[,i])


It truly is profound to realize how much luck plays a role in our daily lives. Knowing this information, though, we can be the best version of ourselves possible. But luck is everywhere, all the time, randomness in disguise. Heck, if you even SAW this post with a search engine’s algorithm and reached this very point to read this sentence, that may have just been a roll of the dice…

%d bloggers like this: