# tax

Model was written in NetLogo 5.3.1
•
Viewed 416 times
•
Downloaded 28 times
•
Run 0 times

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)

Info tab cannot be displayed because of an encoding error

## Comments and Questions

Please start the discussion about this model!
(You'll first need to log in.)

Click to Run Model

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 over 6 years ago by Al Pugh.

This model does not have any ancestors.

This model does not have any descendants.