An adaptation of a model developed by Colin R. Turner in NetLogo's free Agent-Based Modeling (ABM) software.

We want to model a number of agents trading with each other, and investigate the effects a simple free trade scheme has on wealth distribution.

Each agent starts with the same amount of wealth, and a randomly assigned skill value within some bound. Each round, every agent trades with a set number of customers randomly chosen among the agents.

A trade consists of selling one copy of the agent's skill with the price evenly divided among all the customers. In code, we write

trade(customers){
this.wealth += this.skill

let nCustomers = customers.length
let pricePerCustomer = this.skill/nCustomers

customers.forEach((customer)=>{
customer.wealth -= pricePerCustomer
})
}

Our model assumes everyone is self employed with no employees. While this is indeed a very simple model, and we leave out many dynamics found in our world such as businesses and employer/employee dynamics, it can give us a powerful insight into the dynamics of how wealth distributes under capitalism.

Population (100):

Starting Wealth (50):

Minimum skill (1):

Maximum skill (2):

Number of Customers (20):

There are several observations we can make from the simulation. I will just mention one. We see that as long as we have a difference in skill level, we see that the wealth gap between high skilled and low skilled agents widens over time.

In a more realistic scenario in which you can have employees, 'skill' is a bit misleading, and could be better understood as existing wealth or capital which can be used to hire people. So people with more existing capital will gain more capital faster than people with less or no capital such as workers.

This is the central divide in capitalism. Those with capital, and workers without capital. This is what leads to the wealth gap we see in society. It's an inevitable result of differences in capital.