What is comparative advantage?

The idea that each party gains by focusing on what it gives up least to produce, even if another party is better at everything.

Comparative advantage diagram example

Public diagram from the Machinations Community. Open it on its own page

Comparative advantage says that two parties can both do better by specializing in the task where their opportunity cost is lowest and then trading. It matters because it shows why trade benefits both sides, even when one side is more productive at every task.

How it works

The key measure is opportunity cost, which is what you give up to make one more unit of something. A party has a comparative advantage in a good if its opportunity cost for that good is lower than the other party's. Each party should specialize in the good where it has this advantage and trade for the other.

Both gain because total output rises when each does what it sacrifices least to do. The terms of trade then divide that extra output. The gain depends on the difference in opportunity costs: the larger the difference, the larger the benefit of specializing.

Example

Say Anna can make either 10 chairs or 20 tables in a day, while Ben can make 2 chairs or 8 tables. Anna is better at both. Her cost of one chair is 2 tables, while Ben's is 4 tables, so Anna has the advantage in chairs and Ben in tables. If Anna makes 10 chairs and Ben makes 8 tables, and they swap 3 chairs for 8 tables worth of trade, both end up with more than if each tried to make both items. The figures are an illustration.

How to model it in Machinations

Create two Pools for each party's output, with Sources whose rates are Registers of time spent on each good. Use a Lever to set how many hours each party spends on each. Connect a Trader between them to exchange chairs for tables at a chosen ratio. Play with each party making both goods and then specializing, and chart the combined totals to see the gain.

See comparative advantage in a system you can Play

Build the rules in a Machinations diagram, change a value and Play it to watch how the system responds.