Competitive Market
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model is a fairly simple model of a competitive market. One of the key characteristics of a competitive market is consumer behavior which consists of consumer income, consumer consumption, and other attributes that are mentioned throughout this model. Another simple explanation to this model is consumer behavior towards goods. Withing each tick is representing consumers buying goods within the market if they have the income or leaving the market if they do not. Within this experiment in every tick which represents time or more specifically on a quarterly, yearly, or a daily measurement of the consumer's buying behavior and how it connects to various economic factors that help someone determine how competitive the market is, how close it is to achieving equilibrium, (from a consumer perspective) if it is worthwhile to stay in the market or leave, along with many other components.
HOW IT WORKS
The SETUP for the model places the red line in relation to the x-axis representing the average initial income for the consumers. The number of consumers is determined by the slider in the interface which ranges from 1-1500. Once the user has determined the number of consumers in the market then press go the consumers will be moving towards or away the average consumer consumption and the average consumer income depending on the users’ preferences. Because the incomes of the consumers are determined at random it is very difficult to predict how competitive the market will be if the number of consumers is not abnormally scarce or abundant. (Better visualization of a competitive market) [with the purpose of illustrating what a competitive market amongst various different consumers with different purposes, wants, needs, and ambitions within that market. Additionally, because consumer backgrounds and preferences are difficult to pre-determine it felt best to leave it to a random selection]
Each tick represents the consumer consumption within the market (perfect tool for representing the competitiveness of the market). Because each tick represents a consumer buying a good if they have the income, that leaves consumers with less than the necessary income to compete in the market to leave the market.
Each consumer moves along the x-axis of the main interface equivalent to its level of income.
HOW TO USE IT
Press SETUP to setup the model, choose the number of initial consumers, to show the initial level of income for each consumers press the switch show-income, then press GO to watch the model develop.
PSEUDOCODE
global variables average-consumer-incomes plot-demand-points number of consumer amount-of-consumer-consumption average-consumer-income consumers-income total-consumer-income
turtles-own create initial income for consumers
setup inlcude slider setting the initial number of consumers update the demand plot and average consumer income for each tick
turtle setup create red circles representing consumers set the x-axis of the interface as one of the primary measurements of consumer income set consumer income to random between 0-200 set y-axis as the randome starting amount of consumer income incorporate slider showing the starting level of consumer income with proper labels
go when consumers have income > 50 then transact if consumers are <= max income set the income appropriately
transact when one consumer leaves the market another must enter when another consumer enters the market it will start at the minimum consumer income
reporting top 10% consumer income report the sum of consumer income (# consumers * 0.10
reporting bottom 50% consumer income report the sum of minimum consumer income (# consumers * 0.50)
updating demand points and average consumer income allow the income amount to count consumers let sorted income sum to total income so far use this total income thus far to start at 0 let index start at 0 set the average consumer income at 1 setup the demand points so the demand curve will be starting as close to unit elasticity as possible add code to each plot pen within each plot update if necessary income so far + index of sorted income based of plots and calculations set demand points as (income so far divided by average consumer income multiplied by 100 use histogram numbers and plots for precice calculations of updating plots
THINGS TO NOTICE
Notice how the histogram of the consumer consumption changes according to the number of initial consumers, what the highest level(s) of consumer consumption is, how many consumers were involved withing that quantity of consumer purchases, and how this might change over time.
Depending on the number initial consumers the starting incomes will end up in different places along the x-axis. With a large number of initial consumers those with an initial income larger than the average will most likely have their income levels fluctuate slightly higher than most of the consumers. This is an excellent example of basic welfare economics and how consumers compete in a market. Those who start with a higher income are competing with slightly less consumers which gives them less competition and higher likelihood of remaining withing the market. That occurs when the user chooses to start the initial consumers toward the highest setting (closer to 1500) which poses a threat of a highly competitive market amongst all consumers on one hand, but on the other provides an opportunity for the wealthier consumers to have less competition, because those goods are priced higher and require more income. This is represented in the average consumer income graph as the red line representing the top 10 % of consumers (based off of income) has much less quantity compared to the bottom 50% of consumers. Furthermore, within this scenario of a high numbers of initial consumers, the consumer with the highest income isn't always the consumer with the highest initial income. When turning on the switch for the income one notices how the highest could be an initial income with 196, 205, 185, 197, etc.
Depending on the level of competitiveness of the market consumer will be met with an extremely competitive market, and under competitive market, or a perfectly competitive market. Notice how the histogram for the amount of consumer consumption can be a perfect tool for this question and analysis of a consumer decision making withing the market or potentially a firm observing from the outside. From either perspective the consumer consumption is a direct measurement of the consumers buying different goods and how that affects their incomes which makes it an ideal measurement for many economic, financial, and possibly even social measurements.
When consumers are moving along the x-axis of the interface it will vary depending on the users’ preferences. Initially with a large number of consumers in the market, the consumers will start to the left and right of the average consumer income and flock towards this point. The average consumer income in this case can be viewed as the optimum quantity of income necessary to survive within the market. Any quantity below this point will be deemed as a consumer who will not make in the market due to its low income. Another observation is how when there is a large number of initial consumers many of the consumers income is constantly aborded with this point of collective (or minimum) optimum quantity of consumer income required to purchase good within the market. One can see how most of the consumers in a highly competitive market with many consumers are not progressing with their income.
Examining how the different graphs and numbers compare can be very useful when determining how competitive the market is and how close or how far away it is to achieving a socially optimum equilibrium quantity or achieving efficiency.
In terms of thinking in the real world, this model holds to potential to represent the various levels of the United States income. The central interface with the red consumers buying goods can be depicted as the median household income within the U.S. Under the users’ preferences of many initial consumers, the large amounts of consumers that are drawn towards the average consumer income could be interpreted as the middle-class households throughout the United States. The middle class contributes to the majority of the consumption of goods and this income class is considered the most compact (in terms of consumption) amongst the various ranges of wealth.
THINGS TO TRY
Try running the model for 1000 ticks, 2,000, 10,000. See what would happen after 5 minutes if you're bored. Try to figure out the number of ticks affects the graphs. Try to determine how long it would take for the top 10% and bottom 50% of consumers to intersect. (This could be considered an equilibrium for equal income competition, NOT efficiency) Try different amounts of the number of initial consumers, how does this affect the demand curve? How does this impact how high or how low the amount of income (%) will be on the y-axis within the consumers by percent graph. How do the user settings affect the average consumer income graph? How will this line vary?
How will the user setting impact the number of consumers leaving the market. Are consumers leaving because the market is too competitive or because there are too many consumers or because their randomly assigned average consumer income was far too low? [Often times it's all three]
Try to track individual consumers and track their progression or their regression. How does their current income relate to their starting income?
Try to watch/zoom into individual patches? How do the behaviors of consumers vary depending on the amount of initial consumers determined by the user? How do the condensed patches differ from the
After how many ticks does the consumer consumption stabilize? How can you measure this stabilization?
EXTENDING THE MODEL
Change the rules so that consumers will not spend based off of their income, but how much they value the good (their willingness to buy) this would allow consumers to potentially plunge into debt. How these various factors affect consumer surplus, total surplus, and altogether economic welfare?
In replacement of consumers the model could display how firms or businesses want to find the optimum quantity which would give them the best level of profit maximization? How would firms be able to meet the wants and needs of consumers while at the same time focusing on finding the most efficient levels of production. How much of an influence would consumers have on these production decisions?
Overall, how would one be able to find a socially optimum quantity level of output that would be desirable for both consumer and producer?
NETLOGO FEATURES
NetLogo plots have an auto scaling feature that allows a plot's x range and y range to grow automatically, but not to shrink. We do; however, the y range of the consumer consumption histogram will vary depending on the users’ preferences. The initial income of the consumers displays useful information for many financial, economic, and possibly social conclusions about the market and its consumers behavior.
In order for the graphs to calculate accurate data there must be commands in the coding tab with the proper math and formatting. With each tick NetLogo is able to move the consumers along at random or not while plotting multiple graphs which are indirectly related.
RELATED MODELS
Simple Economy movement of the consumers is very closely related as well as construction of the Sugarscape models 1, 2 and in particular 3: Sugarscape module #3 moving patterns of consumer is related, as well as the philosophy of the module and the framework. Sugarscape module #3 measures wealth distribution whereas this model is primarily measuring consumer behavior through consumption. Calculations of the demand curve and average consumer income correspond with similar graphical economic plots withing Sugarscape 3.
CREDITS AND REFERENCES
Simple Economy * 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. NetLogo software: * Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL. textbook: * Wilensky, U. & Rand, W. (2015). Introduction to Agent-Based Modeling: Modeling Natural, Social and Engineered Complex Systems with NetLogo. Cambridge, MA. MIT Press. Models of this kind are described in: * Dragulescu, A. & V.M. Yakovenko, V.M. (2000). Statistical Mechanics of Money. European Physics Journal B.
Suagarscape #3 (Wealth distribution) Li, J. and Wilensky, U. (2009). NetLogo Sugarscape 3 Wealth Distribution model. http://ccl.northwestern.edu/netlogo/models/Sugarscape3WealthDistribution. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL. NetLogo software: Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
COPYRIGHT AND LICENSE
If you mention this model or the NetLogo software in a publication, include the citations below.
For the model itself:
Dowd T. (2022). Netlogo Competitive Market Model. University of Hartford, West Hartford, CT.
Please cite the NetLogo software as:
Dowd T. (2022). NetLogo Competitive Market Model. University of Hartford, West Hartford, CT.
Copyright 2022 Tom Dowd.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc-sa/3. O/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Commercial licenses are also available. To inquire about commercial licenses, please contact Tom Dowd thdowd@hartford.edu
Comments and Questions
globals [ average-consumer-income-index demand-points consumers consumers-consumption average-consumer-income consumers-income total-consumers-income ] turtles-own [ income ] to setup clear-all create-turtles initial-consumer [ turtle-setup] update-demand-points-and-average-consumer-income ;; ensures that with each tick the demand points and plots with update according to the interface and other numbers reset-ticks end ;; visualize the consumers from left to right in ascending order of income to turtle-setup set shape "circle" set color red set size 3 set xcor income set income random 200 setxy income random-ycor set income income + 10 ifelse show-income? ;; shows the starting amount of consumer income for each consumer competiting in the market [ set label income ] [ set label "" ] end to go ;; transact and then update your location ask turtles with [ income > 50 ] [ transact ] ;; prevent consumers with higher incomes from moving too far to the right -- that is, outside the view ask turtles [ if consumers <= max-pxcor [ set xcor income ] ] update-demand-points-and-average-consumer-income tick end to transact ;; give income (or purchasing power) to another turtle ;; when a consumer is leaving the market because the they do not have an income greater than 50 set income income - 1 ask one-of other turtles [ set income income + 1 ] end ;; report the total income of the top 10% of consumers to-report top-10-pct-income report sum [ income ] of max-n-of (count turtles * 0.10) turtles [ income ] end ;; report the total income of the bottom half of consumers to-report bottom-50-pct-income report sum [ income ] of min-n-of (count turtles * 0.50) turtles [ income ] end to update-demand-points-and-average-consumer-income let num-income count turtles let sorted-income sort [ income ] of turtles let total-income sum sorted-income let income-sum-so-far 0 let index 0 set average-consumer-income 1 set demand-points [] repeat num-income [ set income-sum-so-far (income-sum-so-far + item index sorted-income) set demand-points lput ((income-sum-so-far / average-consumer-income) * 100) demand-points ;demand-points set index (index + 1) set average-consumer-income-index average-consumer-income-index + (index / num-income) - (income-sum-so-far / average-consumer-income) ] end
There is only one version of this model, created over 1 year ago by Tom Dowd.
This model does not have any ancestors.
This model does not have any descendants.