Multiplicative Growth and Inequality
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
Multiplicative Growth and Inequality.nlogo
Author: Rupert Nagler, Jan 2020, nagler@idi.co.at
WHAT IS IT?
Simulation of multiplicative vs additive growth and the impact on equality of wealth.
Our turtles assume they have all the same chance to get wealthy doing business. They are represented in their blue 2d-world as yellow circles. Their vertical position reflects their actual wealth while their horizontal position reflects their unique "who" number.
You will experience the difference between additive growth (as generated by labour income vs. consumption) and multiplicative growth (as generated by investments, interests, shares). Multiplicative growth will automaticly lead to an uneven distribution of wealth, while a wrong ergodic hypothesis will make you think - like most traditional economists - that everybody has equal chances in multiplicative economic growth.
You can explore the intrinsic effects why "the rich get richer" and the benefits of cooperation induced by a form of wealth tax. Lorenz Curve, Gini Coefficient and a histogram show the current distribution of the current wealth of each turtle.
HOW IT WORKS
All turtles play by the same rules; nobody cheats or has more influence or better connections. In each round a percentage "leverage" of the current wealth of each turtle is multiplied by a normally distributed random variable with mean "mult-mean" and standard deviation "mult-sdev". Added to the wealth is another normally distributed random variable with mean "add-mean" and standard deviation "addd-sdev".
After the wealth of all turtles has been adopted, some redistribution in the form of a wealth tax may be applied: If "tax-factor" is > 0 and current wealth is > "tax-limit" a wealth tax (wealth * tax-factor) is subtracted. Then the collected wealth tax is redistributed evenly to all turtles or to the poor turtles below tax-limit, depending on the switch "redist-all?". So you can simulate the effects of cooperation between players through risk-sharing.
HOW TO USE IT
- Use the sliders to control the number of turtles "num-turtles" and the initial wealth "init-wealth".
- If you switch "random-init-wealth?" to "off" each turtle starts with equal "init-wealth" wealth; if you switch "random-init-wealth?" to "on" each turtle starts with a random wealth between 1 and "init-wealth".
- Set the fraction of current wealth to multiply in each round "leverage" (default: 1.0).
- Set the multiplicative parameters "mult-mean", "mult-sdev" (defaults: 1.05, 0.3) for the generation of the random normally distributed variable, by which the fraction of current wealth will be multiplied.
- Set the additive parameters "add-mean", "add-sdev" (defaults: 0.0, 0.0) for the generation of the random normally distributed variable, which will be added to current wealth.
- Optional set "tax-factor", "tax-limit", and "redist-all?"
- If you want bancrupt turtles to die, set "turtles-die?" to on.
- To setup the simulation, press "setup".
- To play one round press "go-1", to play as long as you wish, press "go".
THINGS TO NOTICE
- You see all turtles sitting on the blue world area. Each turtle will go up or down vertically dependent of its current wealth after each tick.
- In the wealth-plot you see min, max, mean and median of the turtles wealth on a log10 scale.
- In the wealth-distribution histogramm you see the number of turtles in different classes of wealth.
- In monitor "richest 1% own wealth%" you see the actual % of total wealth owned by the richest 1% of turtles
- In the Lorenz Plot you see the actual shape of the Lorenz Curve.
- In the Gini Plot you see the value of the Gini Coefficient over time.
THINGS TO TRY
- Try different values for multiplicative growth "mult-mean", "mult-sdev" and additive growth "add-mean", "add-sdev",
- Compare the wealth-distribution for no multiplicative growth (set "mean-mult" to 1.0 and "sdev-mult" to 0.0) to other values of multiplicative growth (eg. 1.01, 0.2)
- Compare the wealth-distribution for no additive growth (set both "heads-add", "tails-add" to 0.0) to other values of additive growth (eg. 0.5, 0.2)
- Try different "tax-factor"s and "tax-limit"s, switch "redist-all?" on/off.
- What changes can you see in the histogram, Gini Plot and Lorenz Curve?
EXTENDING THE MODEL
- better visualization ideas?
- turtles get children and die of age
- implement inheritance tax
NETLOGO FEATURES
- plotting on a log scale,
- using turtle world to show turtle ranking by position,
- histogram with varying upper and lower bounds,
RELATED MODELS
http://ccl.northwestern.edu/netlogo/models/WealthDistribution http://ccl.northwestern.edu/netlogo/models/Sugarscape3WealthDistribution
CREDITS & REFERENCES
Credit: computation of Lorenz Curve and Gini index copied from: NetLogo Wealth Distribution model. Wilensky, U. (1998). http://ccl.northwestern.edu/netlogo/models/WealthDistribution. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
in-depth readings:
Wikipedia: Distribution of wealth, retrieved 12/2019 https://en.wikipedia.org/wiki/Distributionofwealth
Wikipedia: Lorenz Curve, retrieved 12/2019 https://en.wikipedia.org/wiki/Lorenz_curve
Wikipedia: Gini Coefficient, retrieved 12/2019 https://en.wikipedia.org/wiki/Gini_coefficient
Wikipedia: Ergodic process, retrieved 12/2019 https://en.wikipedia.org/wiki/Ergodic_process
Ergodicity Economics, Ole Peters and Alexander Adamou, 2018 https://ergodicityeconomics.files.wordpress.com/2018/06/ergodicity_economics.pdf
Entrepreneurs, Chance, and the Deterministic Concentration of Wealth, Joseph E. Fargione u.a., 2011 https://journals.plos.org/plosone/article/file?id=10.1371/journal.pone.0020728&type=printable
An evolutionary advantage of cooperation, Ole Peters and Alexander Adamou, 2018 https://arxiv.org/pdf/1506.03414.pdf
Capital and Ideology, Thomas Piketty, 2019 http://piketty.pse.ens.fr/files/Piketty2020SlidesLongVersion.pdf
Farmers Fable: Simulation benefits of cooperation, retrieved 12/2019 https://www.farmersfable.org/
Gier, Marc Elsberg, novel, blanvalet 2019 https://gier-das-buch.de/gier.php
COPYRIGHT
Copyright 2020 Rupert Nagler. All rights reserved. Permission to use, modify or redistribute this model is hereby granted, provided that both of the following requirements are followed:
- this copyright notice is included.
- this model will not be redistributed for profit without permission from Rupert Nagler. Contact the author for appropriate licenses for redistribution for profit.
Comments and Questions
; Multiplicative Growth and Inequality, Rupert Nagler Jan 2020 globals [ gini-index-reserve ; actual Gini % lorenz-points ; list of Lorenz points rich1%own ; % of total wealth owned by richest 1% ] turtles-own [ wealth ; actual wealth of turtle tax ; actual amount of wealth tax turtle has payed ] to setup clear-all ask patches [set pcolor 104] setup-turtles update-lorenz-and-gini reset-ticks end to setup-turtles create-turtles num-turtles [ set heading 0 set color yellow set shape "circle" ifelse random-init-wealth? [; random distributuion set wealth random-float init-wealth ][; equal distribution set wealth init-wealth ] set tax 0 ; place turtle on plain according id(own) on x-axsis and wealth on y-axsis setxy (who / num-turtles * 100) wealth ] end to go playing taxing move-turtles if not any? turtles [stop] update-lorenz-and-gini tick end to playing ; each turtle throws coin ask turtles [ ; leverage is the fraction of wealth to bet set wealth winNorm (wealth * leverage) + wealth * (1 - leverage); compute new wealth on thrown coin ] end to-report winNorm [stake] ; function to compute new wealth according to coin throw with multiplicative and additive win let m random-normal mult-mean mult-sdev let a random-normal add-mean add-sdev report (stake * m) + a end to taxing if tax-factor > 0 [ ; do we have to compute taxes? let notax-turtles [self] of no-turtles ; empty unsorted list of turtles let sumtax 0 ask turtles [ ; pay wealth tax ifelse wealth > tax-limit [ ; is there a tax to pay? set tax wealth * tax-factor set wealth wealth - tax ; turtle pays tax set sumtax sumtax + tax ; add to total tax collected ] [ set tax 0 set notax-turtles lput self notax-turtles ; add to list of notax-turtles ] ] let count-notax-turtles length notax-turtles ; number of notax-turtles ifelse redist-all? or (count-notax-turtles <= 0) [ ; do we have to redistribute to all turtles? let mtax (sumtax / count turtles) ; divide total tax between all turtles ask turtles [ ; redistribute tax to all turtles set wealth wealth + mtax ; redistribute ] ] [; divide total tax between all no-tax-turtles let mtax (sumtax / count-notax-turtles) ask turtle-set notax-turtles [ ; changes list into agentset set wealth wealth + mtax ; redistribute ] ] ] end to move-turtles ; according to new wealth ask turtles [ if turtles-die? [ ; should bancrupt turtles die? if wealth < 1.0E-10 [die] ] set ycor (wealth + min [wealth] of turtles) / max [wealth] of turtles * 100 ] end to update-lorenz-and-gini ; recompute value of gini-index-reserve and the points in lorenz-points for the Lorenz and Gini-Index plots let sorted-wealths sort [wealth] of turtles let total-wealth sum sorted-wealths let wealth-sum-so-far 0 let index 0 let c-turtles count turtles set gini-index-reserve 0 set lorenz-points [] ; now actually plot the Lorenz curve -- along the way, we also calculate the Gini index repeat c-turtles [ set wealth-sum-so-far (wealth-sum-so-far + item index sorted-wealths) set lorenz-points lput ((wealth-sum-so-far / total-wealth) * 100) lorenz-points set index (index + 1) set gini-index-reserve gini-index-reserve + (index / c-turtles) - (wealth-sum-so-far / total-wealth) ] let clp length lorenz-points let rich1%ix clp - (clp / 100.0) - 1 set rich1%own 100.0 - item rich1%ix lorenz-points end
There is only one version of this model, created almost 5 years ago by Rupert Nagler.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Multiplicative Growth and Inequality.png | preview | Preview for 'Multiplicative Growth and Inequality' | almost 5 years ago, by Rupert Nagler | Download |
This model does not have any ancestors.
This model does not have any descendants.