How to be Successful! The Role of Risk-taking: A Simulation Study


When you ask successful people for their advice on how to become successful you will often hear that you have to take risks, often huge risks.

In this post we will examine whether this is good advice with a simple multi-agent simulation, so read on!

The following quotes from Dan Pierce are only two examples of a wealth of similar advice:

I am not where I am because of luck. I am where I am because I took risks others weren’t willing to take. The world rewards the risk-takers. It always has. It always will.

and

Only those willing to truly risk everything will gain everything. No person ever rose to greatness without the willingness to lose it all.

In a former post, we already found out with the help of a computer simulation that the distribution of wealth in the real world is indistinguishable from a distribution that is solely based on luck (see: The Rich didn’t earn their Wealth, they just got Lucky), here we will go one step further and actually simulate two types of agents: risk-takers (Risktakers) and “normal” people (Normals).

In every transaction Risktakers always risk all they possess, only limited by what their counterpart is willing to risk. Normals only risk up to 10% of their wealth. For the sake of comparability, we assume that all agents are equally skilled, so their only differentiator is their respective willingness to take risks.

It also means that when nobody is any better than the other the result of every transaction is purely based on luck. In this way, we make sure to isolate the sole effect of risk-taking and don’t mix it up with other qualities.

We are starting with 10,000 agents with an initial wealth of 1,000 units each. 10% of those are Risktakers, the rest are Normals. They conduct 2 million transactions with each other (NB: the simulation will take some time to run!):

w <- 1000 # initial wealth
s <- 10000 # population size
N <- 2e6 # no of transactions

set.seed(1234)
P <- rep(w, s) # creating population
p_rt <- 0.1 # proportion risk takers
max_ra <- 1 # risk appetite of Risktakers, 1 = 100%
n_ra <- 0.1 # risk appetite of Normals
names(P) <- c(rep(max_ra, p_rt*s), rep(n_ra, (1-p_rt)*s)) # risk appetite


for (i in seq_len(N) {
  who <- sample(s, size = 2) # draw two agents for the transaction
  profit <- min(as.numeric(names(P[who[1]]))*P[who[1]], as.numeric(names(P[who[2]]))*P[who[2]])
  luck <- sample(c(1, 2)) # who comes in first wins the profit!
  P[who[luck[1]]] <- P[who[luck[1]]] + profit
  P[who[luck[2]]] <- P[who[luck[2]]] - profit
}

Risktakers <- P[1:(p_rt*s)]
Normals <- P[(p_rt*s+1):s]

summary(Risktakers)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     0.0     0.0     0.0   959.1     0.0 62525.8

summary(Normals)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##     0.181    92.055   385.436  1004.545  1322.948 12550.787

Just looking at the max values it seems that risk-taking really pays off bigly! The richest guy in town, with over 60,000 units, is a Risktaker! He increased his wealth more than sixtyfold! The richest Normal only has a comparable meager twelve thousand units. Risktaker beats Normal more than fivefold!

But wait, there is more…

Looking at the quartiles reveals that within the respective groups, wealth is distributed extremely unequally. Because the simulation is a zero-sum game the means are at about the initial wealth (Risktakers are a little bit lower but this is due to chance and can vary in different runs).

Yet all of the displayed quartiles of the Risktakers are zero! Let us visualize this with some boxplots and histograms:

par_bkp <- par(mfrow = c(1, 2)) # plot two plots side-by-side
boxplot(Risktakers, main = "Boxplot of Risktakers")
boxplot(Normals, main = "Boxplot of Normals")

hist(Risktakers, col = "red")
hist(Normals, col = "red")
par(par_bkp)

As you can again see, the distribution of wealth is extremely skewed a.k.a. fat-tailed in both cases but dramatically more so within the Risktaker’s group (as one can see in the boxplot, the outliers literally crush the rest of the rest of the distribution)! Where does this leave us for the overall population? Well, let’s have a look at the wealthiest one hundred agents:

head(sort(P, decreasing = TRUE), 100)
##         1         1         1         1         1         1         1         1 
## 62525.762 44291.214 42917.925 40677.429 31761.799 27872.380 23929.614 22753.382 
##         1         1         1         1         1         1         1         1 
## 22458.062 22030.760 21756.148 21544.639 20970.771 20688.107 19473.726 19060.899 
##         1         1         1         1         1         1         1         1 
## 18342.086 18235.872 17411.690 16657.627 16277.219 16040.849 15266.584 14974.140 
##         1         1         1         1         1         1         1         1 
## 14156.247 14074.310 13847.214 13801.259 13729.240 13269.559 12951.397 12678.964 
##       0.1       0.1         1         1       0.1         1       0.1         1 
## 12550.787 12292.314 12002.368 11880.507 11715.641 11353.729 11193.644 10565.727 
##         1         1         1         1         1       0.1       0.1       0.1 
## 10532.670 10432.977 10385.944 10325.536 10266.249 10234.399 10178.293  9997.527 
##       0.1         1       0.1       0.1       0.1       0.1         1       0.1 
##  9995.841  9949.251  9834.962  9631.738  9439.200  9421.867  9359.496  9228.859 
##       0.1         1       0.1       0.1       0.1       0.1         1       0.1 
##  9224.529  9100.988  9029.623  9010.158  8910.210  8834.733  8711.897  8593.258 
##       0.1       0.1       0.1       0.1       0.1       0.1       0.1         1 
##  8543.662  8499.000  8404.759  8381.012  8373.831  8224.851  8190.105  8128.396 
##       0.1       0.1       0.1       0.1       0.1       0.1       0.1       0.1 
##  8107.256  8082.884  8080.619  8034.135  8033.168  7969.405  7955.725  7853.086 
##       0.1       0.1       0.1       0.1       0.1       0.1       0.1       0.1 
##  7809.438  7808.043  7778.937  7778.018  7759.078  7717.847  7681.713  7681.675 
##       0.1         1       0.1       0.1       0.1       0.1       0.1       0.1 
##  7671.718  7656.077  7654.444  7633.274  7617.269  7606.583  7562.145  7532.091 
##       0.1       0.1       0.1       0.1 
##  7518.953  7498.719  7483.523  7450.844

The top 30 comprises exclusively risk-takers (labeled 1 for 100% risk appetite) but…

tail(sort(P, decreasing = TRUE), 100)
## 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
## 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
## 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
## 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
## 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
## 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

…the bottom 100 are also exclusively risk-takers! In fact it is even worse:

length(Risktakers[Risktakers == 0]) / (p_rt*s) # proportion of broke Risktakers
## [1] 0.928

Over 90% of all Risktakers are broke! No Normal is broke by definition (risking only 10% of anything can never amount to zero!).

Finally, how many agents in each group have increased their initial wealth?

length(Risktakers[Risktakers > 1000])
## [1] 70

length(Normals[Normals > 1000]) # a lot more Normals who have increased their initial wealth than Risktakers
## [1] 2765

Only 70 Risktakers but nearly 2,800 Normals!

All of this brings us to a very, very important lesson: If you want to find a formula for success don’t only look at successful people! Look at the losers too and try to find differences in their behaviour!

Yet everybody only looks at the winners, the stars, the celebs, the super-rich, the centenarians (and the list goes on and on) to find the magic formula but the insight gained is equal to zero by design:

Source: themuse

We already learned in the above-mentioned post (The Rich didn’t earn their Wealth, they just got Lucky) that this fallacy of looking only at the winners has a name, it is called survivorship bias (and by our simulation, we can understand this name now).

To summarize let me make a little adjustment to the above quote:

Only those willing to truly risk everything will gain everything. No person ever rose to greatness without the willingness to (most probably) lose it all.

BTW: Successful people share and comment on my posts a lot! 😉


We will be taking a little break and will be back on March 16, 2021!

3 thoughts on “How to be Successful! The Role of Risk-taking: A Simulation Study”

  1. Interesting! The binning in the histogram is a bit misleading – the bins are much larger in case of the risk takers group, so the histograms could look quite similar with the same binning applied. The first bin would cover nearly all the samples in the normals group. But you explain the intricasies later on.

    It is kind of intuitive that most risk takers end up at zero, if there’s a 50:50 chance to loose it all with each transaction if I understand correctly. It would be interesting to see what happens if they risked not everything but, say 80%. How would you optimize your risk-taking strategy, assuming a certain population?

    1. Thank you! Well, that is the whole point: the bins are larger in the case of the risk-takers group because of the much farther spreading out of their distribution (= extremely fat tails). I used the original base R hist() function with default settings for both plots (as can be seen in the code).

      Yes, there are many interesting experiments that come to mind. This is why I published the whole source code. Why don’t you play around a little bit with it and come back to share your findings with us? Looking forward to that!

Leave a Reply

Your email address will not be published. Required fields are marked *

I accept that my given data and my IP address is sent to a server in the USA only for the purpose of spam prevention through the Akismet program.More information on Akismet and GDPR.

This site uses Akismet to reduce spam. Learn how your comment data is processed.