Free Trade - Transfer of Wealth & Energy
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
A simple demonstration of how wealth and energy are poorly correlated in a normal trading economy, and how wealth inevitably ends up in the hands of the wealthy. ('Energy' denotes effort and value to society)
HOW IT WORKS
Each agent is 'self-employed' with a varying skill range and offers / buys services from an allotted number of 'customers'.
Each agent starts with the same amount of money / energy capital and has a randomly allocated 'skill' attribute that sets the price for his 'product'. His customers are selected randomly at each tick. A copy of each agent's skill (product) is distributed equally as energy among his customers who in return pay an equal share of their wealth.
For example, a skill value of 2 sold among 10 customers, costs each customer 0.2 units of wealth and gains them 0.2 units of energy. Each time an agent sells, he spends 1 unit of his own energy - regardless of the wealth value of his 'product'.
HOW TO USE IT
Set your population size, the starting capital (money and energy), the skill range, the number of customers, set [numpad 1] and click 'run' [numpad 3]. (Or 'step' through each tick [numpad 2])
THINGS TO NOTICE
Depending on what parameters you enter, the result will be a concentration of wealth for the greater 'skilled' and increasing poverty for the lesser 'skilled'. NOTE: 'skill' in this case simply means your ability to earn wealth and bring value to society. How that actually happens is outside the scope of this model.
THINGS TO TRY
Increasing the 'safetynet' from zero will prevent agents from falling into poverty. Each time they are about to cross the value set by the 'safetynet' parameter, they receive 1 free wealth credit which is 'taxed' on all the other agents equally. This has the effect of distributing wealth more evenly, but doesn't prevent concentration of wealth with the already wealthy.
Track energy instead of wealth and you will see a very different picture emerge of how energy / quality of life is transferred among the population. This demonstrates the effect of net improvement of all lives discussed at openaccesseconomy.org
CONCLUSIONS
In considering any improvements to society, it would appear to be strongly advantageous to measure the transfer of quality of life (energy in this case) instead of wealth. It appears that the only way to make a fairer wealth system is to continually clanp it with regulation which doesn't seem to be efficient due to the effort and oppressive measures required to achieve it.
If the transfer of wealth is not conducive to an efficient, improving society, it might be time to consider other base operating options available to us.
CREDITS AND REFERENCES
Written by Colin R. Turner for https://openaccesseconomy.org and https://versavice.tv. A page describing this model can be found at: https://openaccesseconomy.org/doku.php?id=freetradewealthvsenergy_model
Credits for previous authors of similar models and the software itself:
Dragulescu, A. & V.M. Yakovenko, V.M. (2000). Statistical Mechanics of Money. European Physics Journal B.
Wilensky, U. (2011). NetLogo Simple Economy model. http://ccl.northwestern.edu/netlogo/models/SimpleEconomy. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
Wilensky, U. & Rand, W. (2015). Introduction to Agent-Based Modeling: Modeling Natural, Social and Engineered Complex Systems with NetLogo. Cambridge, MA. MIT Press.
COPYRIGHT AND LICENSE
Written by Colin R. Turner for https://openaccesseconomy.org.
Feel free to use, share and adapt.
Comments and Questions
turtles-own [wealth energy skill assets] globals [startsize minsize yscale sscale] to setup clear-all set minsize 10 set startsize 20 ;; DESIRED STARTING TURTLE SIZE set sscale startsize / start_capital set yscale (max-pycor / start_capital / 2) ;; VERTICAL SCALING FACTOR let spacing round (max-pxcor / population) ;; TURTLE SPACING let i 0 while [i < max-pxcor] [ ;; CREATE TURTLES crt 1 [ set shape "person" set wealth start_capital set energy start_capital ifelse track = "wealth" [ set assets wealth ][ set assets energy ] set size assets * sscale + minsize ;; SIZE ACCORDING TO INITIAL WEALTH set color [0 255 0] ;; RANDOMLY ASSIGN APTITIDE ifelse skill_levels = 1 [ set skill 1 ] [set skill precision (((1 + random ((skill_levels - 1) * 100 )) / 100 ) + 1) 2];; RANDOMLY ASSIGN APTITIDE set xcor i set ycor assets * yscale ] set i i + spacing ] ask patches with [ pycor = round (safety_net * yscale) ][ set pcolor red ] ask turtles [ set label skill ] reset-ticks end to go ask turtles with [ assets > 0 ] [ let myprice (skill / customers) ; SET EQUAL PRICE PER CUSTOMER ask up-to-n-of customers other turtles with [ assets >= myprice ] [ set wealth wealth - myprice set energy energy + myprice ifelse track = "wealth" [ set assets wealth ][ set assets energy ] ] set wealth wealth + skill set energy energy - 1 ifelse track = "wealth" [ set assets wealth ][ set assets energy ] set size assets * sscale + minsize ] ask turtles with [ assets < safety_net ][ ; SAVE TURTLES WITH SAFETY NET AND TAX OTHERS set assets assets + 1 ask other turtles with [ assets > safety_net + 1 ][ set assets assets - ( 1 / (count turtles with [ assets > safety_net + 1 ])) ] ] ask turtles [ ; SET TURTLE HEIGHT WITHOUT GOING OVER EDGES ifelse ((assets * yscale) + ((assets * sscale + minsize) / 2)) > max-pycor [ set ycor (max-pycor - ((assets * sscale + minsize) / 2)) ] [ ifelse ((assets * yscale) - ((assets * sscale + minsize) / 2)) < (safety_net * yscale) [ set ycor (safety_net * yscale) + ((assets * sscale + minsize) / 2) ] [ set ycor assets * yscale ] ] ] ; SET COLOURS ACCORDING TO Y POSITION ask turtles with [ ycor > max-pycor / 5 * 3 and ycor <= max-pycor / 5 * 4 ] [ set color [ 255 255 0 ] ] ask turtles with [ ycor > max-pycor / 5 * 2 and ycor <= max-pycor / 5 * 3 ] [ set color [ 0 255 0 ] ] ask turtles with [ ycor > max-pycor / 5 and ycor <= max-pycor / 5 * 2 ] [ set color [ 0 255 255 ] ] ask turtles with [ ycor >= 0 and ycor < max-pycor / 5 ] [ set color [ 255 255 255 ] ] ask turtles with [ ycor > max-pycor / 5 * 4 and ycor <= max-pycor ] [ set color [ 255 0 0 ]] if any? turtles with [color = [ 255 0 0 ]][ ask turtles with [ assets > min [ assets ] of turtles with [ color = [ 255 0 0 ]]][ set color [ 255 0 0 ]] ] ; ask turtles [ ; if assets > min [ assets ] of turtles with [ color = [ 255 0 0 ]][ set color [ 255 0 0 ]] ; ] ; ask turtles [ set label precision skill 2 ] tick end ;; REPORT THE TOTAL WEALTH OR ENERGY (WHICHEVER IS BEING TRACKED) to-report total report sum [ assets ] of max-n-of (count turtles) turtles [ assets ] end ;; REPORT THE WEALTH / ENERGY OF THE TOP 10% to-report top-10-pct-wealth report word round (sum [ assets ] of max-n-of (count turtles * 0.1) turtles [ assets ] / total * 100) "%" end ;; REPORT THE WEALTH / ENERGY OF THE BOTTOM 90% to-report bottom-90-pct-wealth report word round (sum [ assets ] of min-n-of (count turtles * 0.90) turtles [ assets ] / total * 100) "%" end ; Written by Colin R. Turner for openaccesseconomy.org ; Feel free to use, share and adapt.
There are 3 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Free Trade - Transfer of Wealth & Energy.png | preview | Preview for 'Free Trade - Transfer of Wealth & Energy' | almost 4 years ago, by Colin R. Turner | Download |
This model does not have any ancestors.
This model does not have any descendants.