NetLogo banner

 Home
 Download
 Help
 Resources
 Extensions
 FAQ
 References
 Contact Us
 Donate

 Models:
 Library
 Community
 Modeling Commons

 User Manuals:
 Web
 Printable
 Chinese
 Czech
 Japanese
 Spanish

  Donate

NetLogo Models Library:
Sample Models/Social Science

(back to the library)

Bidding Market

[screen shot]

If you download the NetLogo application, this model is included. (You can also run this model in your browser, but we don't recommend it; details here.)

WHAT IS IT?

This model demonstrates a very simple bidding market, where buyers and sellers try to get the best price for goods in a competitive setting.

HOW IT WORKS

The agents in the inner ring of represent sellers, who bring some goods they want to sell to the market. The agents in the outer ring are the buyers, who bring money to the market to buy the goods.

Each round (tick), the buyers move to their right (counter-clockwise) and are paired with a seller. Then each buyer checks its paired seller's asking price. If it's lower than their asking-price, they'll buy 1 item. If it's higher, they'll buy nothing. Then each seller individually decides to either raise prices or lower prices based on their buyer's behavior. The buyers also individually lower or raise their expectations based on their seller's behavior.

The market will run through rounds until no buyer who wants to buy an item has money left to spend, or until all items are bought.

PURCHASE DISPLAY

If a purchase is made, the link from seller to buyer turns yellow and a little star animation will start. Otherwise, the link will be blue with no animation. If the transactions still take place too quickly to be noticed, the speed slider can slow the model down a bit.

As buyers get what they want, they get bigger and fill their maximum-buy-sized gray shadow. If they fully satisfy their demand, they'll turn dark grey.

Sellers start with a size based on how many items they brought to the market. As they sell items, they get smaller. If they sell all their items, they'll turn dark grey.

HOW TO USE IT

Press SETUP to generate a market, then the GO-ONCE button to run a single round, or the GO button to run the market until it completes.

  • Initial supply and demand can be High or Low, and distributed can be even among all buyers and sellers or concentrated among a few.
  • Behavior is set when SETUP is run and can be set to one of a few options (the description given is for buyers, but mirrored for sellers):
    • Normal - buyers will increase their willing to pay by a small amount if they are unable to make a purchase, otherwise they'll lower their willing-to-pay if they do manage to buy an item.
    • Desperate - increases the amount buyers will increase thier willing-to-pay when they fail to make a purchase.
    • Random - the behavior of each buyer will be random - some will be very desperate, others might decrease the amount they're willing-to-pay when they fail to make a purchase.
    • Mix of all - each buyer will be set to one of the three above behaviors randomly.
  • You can also toggle whether sellers will consider full buyers or not. A full buyer is one who has already satisfied their demand. This would simulate the sellers being able to tell who is walking past their market stall without even looking at the items' prices.

THINGS TO NOTICE

Try slowing the tick speed down and watching a single buyer on the outside ring as it moves. See how it gets bigger when it makes a purchase and its link turns yellow, and how big it is when it turns completely dark grey (if it does).

Run the model multiple times with the same settings to get an idea of what's happening to the asking and buying prices over time.

THINGS TO TRY

Play around with the different setup options to try the following:

  • Can you get to 100% of both items sold and demand satisfied? If not, how close can you get?
  • What's the longest you can get a market to run for (in number of ticks)?
  • What's the highest average price you can get at the end of a round?
  • Sometimes the market stops when there are buyers on the outside ring who still want to purchase things (% Demand Satisfied is not 100%) and there is still money available to spend (% Money Taken is not 100%). How this can be?

EXTENDING THE MODEL

It's fairly easy to add new behaviors to buyers and sellers, just adjust the chooser box with a new option, then add it in the appropriate create-ordered-sellers or create-ordered-buyers block in the setup procedure.

NETLOGO FEATURES

In order to try to keep the Asking Price and Buying Price plots displaying relevant information, we set the plot-y-range manually using an update command based on the most recent average price.

Behaviors for buyers and sellers are set during setup, and we use anonymous procedures stored in turtles-own variables. This allows us to very easily execute different behavior while the market is running by just using the run keyword with those behavior variables.

RELATED MODELS

See the Simple Economy model or Sugarscape models to explore other economic concepts.

HOW TO CITE

If you mention this model or the NetLogo software in a publication, we ask that you include the citations below.

For the model itself:

Please cite the NetLogo software as:

COPYRIGHT AND LICENSE

Copyright 2017 Uri Wilensky.

CC BY-NC-SA 3.0

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.0/ 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 Uri Wilensky at uri@northwestern.edu.

(back to the NetLogo Models Library)