Throwing Money Around
Here’s a fun place to kick off a discussion about simulations. Give a room full of people a hundred bucks each in dollar bills. Then get them to hand money to random people they meet as they walk around, one dollar at a time. What do you think happens?
I discovered in researching this post that this interesting phenomenon has seen some recent interest on the internet, which delights me. You can read another post about this effect here. Or see a great Twitter conversation about that post here.
But before you follow those links, here’s a model of the random-money-gifting effect that I built so you can find out for yourself. Each vertical bar represents a person and the height of each person’s bar represents how much money they’ve got. I’ve colored the bars randomly so you can see them clearly. As you can see, at the start of the game, everyone has the same amount of money. Click once the sim once to start it. Click again to freeze, and click a third time to reset.
What are we seeing here? Unexpectedly, some people are making out like bandits while others end up with empty pockets. Why is that?
Well, it’s not really that surprising if you think about it. Consider the first gifts made by each of the five hundred agents in the simulation. It would be weird if every agent chose a partner to give to such that everyone received exactly one dollar and nobody got left out. So some people are going to end up with more money than others early on in the game. Then consider the second round of gifts. It would be just as strange if the second round of offered dollars was perfectly balanced to counteract the imbalance of the first round. So within two rounds of everyone handing out money, we already know that some people are going to get ahead. And the bigger that asymmetry gets, the less likely that the gifts that follow are going to make that cumulative imbalance magically go away.
What I think’s interesting about this pattern is how much it looks like the ones that show up in real life. Take a look at this plot of the UK’s wealth distribution for instance.
It’s a little uncanny. Unsurprisingly, some economists have used this kind of game to model national economies. And why not? You can think of this model as capturing one half of what makes a market run. Every transfer of money is an instance of someone paying for something. We’re just not bothering to model the good or services that they’re getting in return for their cash. And models like this are really easy to build. Try viewing the source for this page to see just how simple the code is.
But to make our model of a national economy more realistic, we should add some extra detail to make sure that the similarity we’re seeing isn’t some kind of fluke. For starters, not everything in life costs a dollar, and not everyone starts off with the same amount of money. So let’s vary the amount transferred in each transaction, and give everyone a random amount of cash within a given range to start with.
Let’s also add a metric to look at how the inequality in the model is changing over time. For this, we’re going to use the GINI coefficient, a well-understood if imperfect yardstick for understanding societies and wealth.
GINI is easy to understand. Basically, we calculate the differences from the average wealth that every agent has and find the mean of that number. Then we divide that mean by the largest possible value we could get, to give us a number between zero and one. Zero means that a society is equal. One means that someone has all the money and everyone else is penniless.
I’ve also measured something else here: social mobility. I look at where people start out on the social ladder and compare that to where they end up after people start handing them dollars. Finding the average distance traveled in the social order and comparing that to the maximum amount of possible change gives us a number similar to GINI that tells us whether individual wealth levels have changed. This gives us a way to model whether our toy economy is keeping people in one class, or letting them move about. I’ve called this measure ‘start fit’ because it tells us whether the amount that you start with is a good fit for how much you’ll end up with. A high Start Fit value shows a static society. A low number shows an extremely liquid one.
I’ve added one more feature that’s worth mentioning here. Instead of just giving every agent a random color, I’ve ranged the colors from dark to light based on how much money they have at the beginning of the sim. That way you can see at a glance whether our agents are moving. This should help us check whether our made-up mobility index is working properly.
As for all the sims I’ll be putting in this blog, the source code is freely available. That’s why I hosted it on Github. :)
So here’s the question: does adding extra complexity to the model change how it behaves? Click the sim to see.
Interesting. It makes you wonder: if a random process gives you something like the wealth curve that shows up in real life, why do we suppose that attributes like talent make a difference to why people get rich? It seems from this like the rich would get richer even if life was perfectly random, so why do we imagine that those at the top of the social hierarchy earn what they get?
A political Conservative might reply by saying something like this:
“You’ve shown nothing. There’s no variable for individual talent in this model. If you don’t put talent in and look at how it affects things, how can you possibly assert that talent isn’t relevant?”
And she’d be right. So next time, we’ll try that and see what happens.