tax
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
Economic inequality & tax redistribution
© Al Pugh, 2016.
Background
Adapted from a model popularized by Bryan Hayes in American Scientist. Agents meet randomly to wager a small amount on the outcome of a coin flip. With this simple model the distribution of agent wealth will become increasingly skewed and asymptotically leads to all the wealth being held by one agent.
Should one be tempted to at least consider the possibility that the above model represents reality (however tenuously), it begs the question if anything can be done to stabilize it.
Two methods of taxation (for wealth redistribution) are examined. One is to set aside a percentage of each transaction between agents – a sort of an excise or sales tax. The second is to tax those with a wealth above some threshold value, somewhat like a property tax. Wealth redistribution can also be done is two ways: equally divided among all agents, or a larger share going to poor agents.
Design
Agents are homogeneous and unsophisticated with the single property of wealth. They move randomly about the environment, follow rules for wealth exchange upon encountering another and paying any taxes assessed. The environment includes user-adjustable parameters for sales and wealth tax rates, tax redistribution frequency, and the method by which taxes are redistributed. Those parameters serve as inputs. The primary output is the level of inequality as represented by the Gini coefficient.
Initially, each agent is endowed with a small amount of wealth drawn from a constant plus a uniform random deviate (specifically, $90 + URD $0-21 which yields an expected value of $100 per agent). They are then set free to randomly roam about the environment.
Should two agents meet, an amount equal to a fifth (1/5) of the lesser of the agent's wealth is awarded the winner (determined by coin flip). Sales tax and a wealth tax applied to those with greater than 10 times the average wealth may be applied.
Tax receipts are evenly distributed to all agents at a chosen interval, or a greater share is allocated to poor agents if one toggles the switch on the interface. Here the specific method of enhanced redistribution is to grant all agents an equal share of half the collected amount, with the other half granted to agents with wealth below average.
Inequality is shown by displaying the percentage of total wealth owned by the wealthiest agent, a histogram of agent wealth and by the Gini coefficient change over time. This metric varies between 0 (indicating uniform wealth distribution) and 1 (indicating one agent has acquired all the wealth). A plot the total amount traded during each period is shown to indicate economic activity. Note it contains essentially the same information as the Gini plot, except in noisier form. For clarity, agents are color-scaled in proportion to their relative wealth.
Results & analysis
The results are not completely unexpected. Taxation appears to forestall the collapse of the economy. Both forms of taxation will prevent, or profoundly delay, the onset of collapse. If the option to give a greater portion of tax receipts to the poorer agents is selected, the Gini metric is reduced significantly. However, once the economy has decayed to the point that any semblance of a middle class has evaporated, taxation of wealth seems to be slightly more effective in restoring vitality. In any scenario, redistribution favoring poorer agents is effective. The redistribution frequency appears to have minimal effect other than adding noise to the metric.
What does this simple model imply about the nature of economies? The first is that the really simple model exhibits characteristics in agreement with actual data, the most important of these is the distribution of wealth. The second is that an economic system based upon unencumbered trade is likely to collapse. Lastly, collapse might be avoided through the use of taxation for the redistribution of wealth, especially if it is biased toward the poor.
One might complain this model is based upon agents that are so simple-minded that it could not possibly represent reality. But richly complex systems can emerge from the interaction of simple elements. There is also empirical evidence – the similarity of wealth distributions for real economies and the simulated economy is remarkable.
Things to observe
- When no or minimal taxes are imposed, and tax redistribution is equally allocated, the Gini coefficient (the metric for inequality) soars.
- If the above-mentioned conditions are left to run for some time, it is difficult to recover.
- The Gini coefficient and economic activity appear inversely correlated.
- Even with heavy taxation and redistribution favoring the poor, the histogram of agent wealth remains weighted toward the poorer side.
References & credits
- Gini-coefficient calculation algorithm due to: Wilensky, U. (1998). NetLogo Wealth Distribution model. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
- NetLogo software: Wilensky, U. (1999). NetLogo. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
- Hayes, Bryan. Follow the Money, American Scientist, v90, September-October 2002, pp 400–405.
Comments and Questions
turtles-own [ wealth ] ; A economic inequality ABM globals [ exc tax totaltax gini counter sumexc ] ; © Al Pugh, 2016 to setup ca set gini 0 set counter 0 set totaltax 0 ask patches [ set pcolor green ] ; set green background for contrast ask n-of 400 patches [ ; ask some patches to create agents sprout 1 [set shape "person" set wealth (90 + random 21) set heading random 360 ] ] ask turtles [ set color yellow ] ; initialize agent color update-gini reset-ticks end to go set sumexc 0 ask turtles [ set heading heading + random 10 fd 1 ; move agent randomly wealthtax ; tax wealthy encounter ] ; resolve agent encounters redistribute ; redistribute taxes update-gini ; update Gini coefficient ; checkwealth ; (for debugging only) tick end ; (plot set up commands in plots) to wealthtax if ( wealth > 1000 ) [ ; tax those with 10x mean starting wealth set tax ( wealthtaxrate / 100. * wealth ) set wealth wealth - tax set totaltax totaltax + tax ] end to encounter if ( count turtles-here = 2 ) [ ; for every interaction of 2 agents: let n2 one-of other turtles-here set exc ( min [ wealth ] of turtles-here / 5.0 ) ; determine exchange amount set sumexc sumexc + exc ; add to sum of exchanges set tax ( exc * salestaxrate / 100. ) ; extract sales tax set totaltax totaltax + 2 * tax ifelse ( random 2 ) = 0 ; determine winner [ set wealth ( wealth - exc - tax ) ask n2 [set wealth ( [wealth] of n2 + exc - tax ) ] ] [ set wealth ( wealth + exc - tax ) ask n2 [set wealth ( [wealth] of n2 - exc - tax ) ] ] set color scale-color yellow ; color agents by wealth wealth 0 int max [ wealth ] of turtles ] end to redistribute set counter counter + 1 if ( totaltax > 0 ) [ ; distribute tax receipts ifelse ( poordist? ) [ let share ( totaltax / count turtles ) / 2.0 ask turtles [ set wealth wealth + share ] ; all agents get reduced share let npoor count turtles with [ wealth < 100.0 ] ; define poor as < mean starting wealth let poorshare share * count turtles / npoor ; poor get additional share ask turtles with [ wealth < 100.0 ] [ set wealth wealth + poorshare ] set totaltax 0 ] [ let share ( totaltax / count turtles ) ; agents share tax redistribution equally ask turtles [ set wealth wealth + share ] set totaltax 0 ] ] end to update-gini ; find Gini coefficient let sorted-wealths sort [wealth] of turtles let total-wealth sum sorted-wealths let wealth-sum-so-far 0 let index 0 let gini-index-reserve 0 repeat count turtles [ set wealth-sum-so-far (wealth-sum-so-far + item index sorted-wealths) set index (index + 1) set gini-index-reserve gini-index-reserve + (index / count turtles) - (wealth-sum-so-far / total-wealth) ] set gini (gini-index-reserve / count turtles) / 0.5 end to checkwealth ; check total wealth remains unchanged print sum [ wealth ] of turtles + totaltax end
There is only one version of this model, created almost 8 years ago by Al Pugh.
This model does not have any ancestors.
This model does not have any descendants.