oTree teaching experiments

If you are using the WULABS oTree server, then all these experiments are installed there. Demo versions can be found on the server at otree.wu.ac.at. General instructions on how to run experiments on the WULABS oTree server can be found here.

You will only need
  • access to the oTree server to run your ow experiment sessions,
  • the experiment instructions (download below),
  • possibly the R scripts to generate data files for students and (download below),
  • possibly the powerpoint slides tbhat discuss the experiments (download below).
If you would like to install the experiments on your own server, then
  • Download the experiment code zip file (below), and unpack it in your oTree directory.
  • You will need to configure a session of such an experiment in your settings.py in your oTree directory. We provide the respectove snippets from our sessions.py file below for download.
  • In a session, one determines the sequences of "apps" to be run. We usually precede our experiment app with the "ready" app (a simple green screen) and add the "thankyou" app (a red screen) at the end.
  • We usually give each student a permanent link for the whole course, which identifies the student in the data. Since some experiments require certain group sizes, it is sometimes necessary that some students work jointly at one computer, representing one player. To accommodate these cases, we usually add the "inputsecondid" app after the "ready" app where the second student can put in her ID so her experriment earnings can be counted towards her account.
  • These three apps can be found at the very bottom of the list.
Experiment Name Class multiple of Rounds Description Typical behavior Learning outcome Instructions Data R script Figure R script Slides Experiment code Session config code All in one zip
Simultaneous price competition 5 10 Groups of 5 students engage in Bertrand price competition. Quick convergence to lowest prices. Strong forces of market competition, no room for cooperation.sim_price_comp_instr.docx--sim_price_comp_slides.pptxsim_price_comp_code.zipsim_price_comp_settings.py-
Sequential price competition 5 5 Groups of 5 students engage in Bertrand price competition, with price choices made sequentially. Quick convergence to lowest prices, later players undercut earlier players. Still strong market forces, even when decisions are not simultaneous. Forward-looking and backward induction.seq_price_comp_instr.docx--seq_price_comp_slides.pptxseq_price_comp_code.zipseq_price_comp_settings.py-
2-Person price competition (PD) 2 10 Groups of 2 students engage in Bertrand Price Competition. (Prisoner's Dilemma) Some cooperation, but very little. Dominant strategies not to cooperate.finite_prison_stranger_instr.docx---finite_prison_stranger_code.zipfinite_prison_stranger_settings.py-
Monopoly 6 3 One monopolist sets price, 5 buyers decide on quantity to buy. Monopolist quickly finds monopoly price maximizing profits, buyers can only adapt. Exploitation of monopoly power, welfare loss. monopoly_instr.docx--monopoly_slides.pptxmonopoly_code.zipmonopoly_settings.py-
Stackelberg competition 2 3 Two firms set quantities sequentially, with one firm moving first. First movers set higher quantities than second movers. But also some punishment with high quantity responses. First-mover advantage. Backward induction. The value of commitment.stack_comp_instr.docx--stack_comp_slides.pptxstack_comp_code.zipstack_comp_settings.py-
Stackelberg competition with revision option 2 3 Two firms set quantities sequentially, with one firm moving first. However, first mover can revise her choice while the second makes a decision � Cournot competition. Relatively slow convergence to Cournot price. Some use cheap talk Loss of first mover advantage. Conditions for effective commitment. Cheap talk. Strategic ignorance.stack_comp_rev_instr.docx--stack_comp_rev_slides.pptxstack_comp_rev_code.zipstack_comp_rev_settings.py-
Price matching policies in Bertrand competition 5 3 Groups of 5 students engage in Bertrand price competition, but before they can enable a price matching policy or not, which will automatically match the lowest market price. Students quickly learn to set price matching policies and set high prices. However, some students don�t understand and drag whole market down. Price matching policies are not good for consumers, they are a strategic signal/commitment to competitors.price_match_instr.docx--price_match_slides.pptxprice_match_code.zipprice_match_settings.py-
Dictator Game 2 1 One person can freely distribute money between herself and another person. Some give nothing, some give something (up to 50%). Average about 20-25%. People are not completely selfish.dictator_game_instr.docx--dictator_game_slides.pptxdictator_game_code.zipdictator_game_settings.py-
Ultimatum Game 2 1 One person makes proposal on distribution between herself and another person, other person agrees or disagrees. If disagrees, both receive nothing. Modal offer is 50%, lower than 50% are often rejected. People anticipate others to be concerned with fairness.ultimatum_game_instr.docx--ultimatum_game_slides.pptxultimatum_game_code.zipultimatum_game_settings.py-
Repeated Ultimatum Game 2 10 Same as Ultimatum Game, only with 1/10th of stakes and 10 times repeated. Same as Ultimatum game, only higher offers on average. People try to teach others that they are fair-minded.ultimatum_game_rep_instr.docx--ultimatum_game_rep_slides.pptxultimatum_game_rep_code.zipultimatum_game_rep_settings.py-
Market Game (2 proposers, 1 responder) 3 5 Two players propose split of pie, 1 responder selects which proposal to accept. Quick convergence to split where responder gets everything. You are only as much worth as you bring to the table (your �marginal� value.)market_game_instr.docx--market_game_slides.pptxmarket_game_code.zipmarket_game_settings.py-
Centipede Game 2 3 Classical centipede game Moderate convergence to earlier dropouts. Limited depth of reasoning.centipede_game_instr.docx--centipede_game_slides.pptxcentipede_game_code.zipcentipede_game_settings.py-
Finitely Repeated Prisoners Dilemma 2 10 Framed as a low/high price competition interaction. Some groups cooperate, others don't. End game effect. finite_prison_instr.docx--finite_prison_slides.pptxfinite_prison_code.zipfinite_prison_settings.py-
Infinitely Repeated Prisoners Dilemma 2 ? Framed as a low/high price competition interaction. Number of rounds needs to be set in advance. More cooperation tat in finitely repeated game. Shadow of the future allows for cooperation in equilibrium.infinite_prison_instr.docx--infinite_prison_slides.pptxinfinite_prison_code.zipinfinite_prison_settings.py-
Chain Store Game 2 1 Incumbents fight different entrants, entrants try to enter different markets. The more an incumbent has fought in the past, the less likely an entrant will enter. The building and value of reputation (to be strong).chain_store_instr.docx--chain_store_slides.pptxchain_store_code.zipchain_store_settings.py-
Repeated Trust Game - Strangers 2 10 Buyers first send mony or not, then seller sends product or not. Each round new partner. Cooperation breaks down quickly. With no historical information available cooperation is hard to achieve.rep_trust_instr.docx--rep_trust_slides.pptxrep_trust_code.ziprep_trust_settings.py-
Repeated Trust Game - Strangers with reputation 2 10 Same as before, only now history of seller's previous behavior is shown before buyer buys. More trust and trustworthiness than without reputation information. The building and value of reputation (to be trustworthy).rep_trust_reputation_instr.docx--rep_trust_reputation_slides.pptxrep_trust_reputation_code.zip--
Repeated Trust Game - Partners 2 10 Same as before, only now the same buyer and seller interact in all rounds. Partners interact even more. There are also personal relationships which make people trustworthy.rep_trust_partner_instr.docx--rep_trust_partner_slides.pptxrep_trust_partner_code.zip--
Japanese Auction 4 1 The 5 auctions are usually done in one go, and then all repeated. In this auction, 4 bidders stay in auction while price increases until choose to drop out. Last standing bidder wins at price when 2nd-to-last drops out. Rational bidding. Very efficient. Revenue equivalence in auctions.japanese_instr.docx--japanese_slides.pptxjapanese_code.zipjapanese_settings.py-
English Auction 4 1 4 bidders submit bids until no one raises anymore. Last bidder wins at her bid. Some jump bids, but still efficient. english_auction_instr.docx--english_auction_slides.pptxenglish_auction_code.zipenglish_auction_settings.py-
Dutch Auction (old version) 4 1 4 bidders observe decreasing price clock until first decides to bid. Wins as her bid. Early bids right at or below value. dutch_instr.docx--dutch_slides.pptxdutch_code.zipdutch_settings.py-
1st-price Sealed-bid Auction 4 1 4 bidders submit sealed bid. Highest bid wins and pays own bid. Bids above rational risk-neutral bidding. first_price_auction_instr.docx--first_price_auction_slides.pptxfirst_price_auction_code.zipfirst_price_auction_settings.py-
2nd-price Sealed-bid Auction 4 1 4 bidders submit sealed bid. Highest bid wins and pays second highest bid. Mostly bids at value, but some bids very high. second_price_auction_instr.docx--second_price_auction_slides.pptxsecond_price_auction_code.zipsecond_price_auction_settings.py-
Minimum (weakest link) game 6 5 6 bidders each choose a number between 1 and 7, payoff depends on own number and minimum number in group. minimum_game_instr.docx--minimum_game_slides.pptxminimum_game_code.zipminimum_game_settings.py-
6 little coordination games: Head or Tails 2 1 This and the folllowing 5 games are usually played in one go one after the other. This experiment asks pairs to choose heads or tails, if same then prize. Most choose Heads as focal point (first). Coordination problems. Focal points.coord1_instr.docx--coord1_slides.pptxcoord1_code.zipcoord1_settings.py-
6 little coordination games: Choose a number I 2 1 Choose one of 6 numbers, all are focal points (somewhat special). Not much coordination. ----coord2_code.zip--
6 little coordination games: Nash bargaining 2 1 Choose an amount, if both amounts are less or euqal to 100, both receive their requested amount. Most choose 50, some are risk averse. Many equilibria.----coord3_code.zip--
6 little coordination games: Right or left 2 1 Choose to drive on the left or right side of the road, when crash then loss of money. Coordination on country norm. Path dependence.----coord4_code.zip--
6 little coordination games: Choose a number II 2 1 Choose one of 6 numbers, one is a focal point (stands out). Good coordination. ----coord5_code.zip--
6 little coordination games: Tails or head 2 1 Asks again to choose heads or tails, if same then prize. Because options are reversed, lots of miscoordination. ----coord6_code.zip--
Battle of the Sexes 2 3 Two people have to choose simultaneously where to go, pefer one of the places but also to be together. Lot's of miscoordination, people go for their own. Coordination harder because one NE favors one player and the other favors the other player.battle_sexes_instr.docx--battle_sexes_slides.pptxbattle_sexes_code.zipbattle_sexes_settings.py-
Market Entry 2 5 Two people decide whether to enter a market where there is only plce for one. One player has cost advantage. Coordination on NE where cost advantage player enters and other stays out. Player wtih high costs must be more aggressive (in mixed NE).market_entry_instr.docx--market_entry_slides.pptxmarket_entry_code.zipmarket_entry_settings.py-
Chicken 2 3 Two people drive onto each other, can or straight or swerve. Lot's of crashes (lose money). Too much aggression.chicken_instr.docx--chicken_slides.pptxchicken_code.zipchicken_settings.py-
The Hermit and the Socialiser 2 5 Two people have to choose their location, one likes to be with the other, the other likes to be alone. (Matching pennies game) One can send cheap talk message. Chasing around. Lot's of lying. Talk is cheap. Randomization (being unpredictable) and mixed strategies.hermit_instr.docx--hermit_slides.pptxhermit_code.ziphermit_settings.py-
Penalty Kick 2 5 Differently framed matching pennies game: A striker can shoot left or right, the goalie can jum left or right. Goalie can say where he will jump. Chasing around. Lot's of lying. Talk is cheap. Randomization (being unpredictable) and mixed strategies.penalty_kick_instr.docx--penalty_kick_slides.pptxpenalty_kick_code.zippenalty_kick_settings.py-
Job Market Game (without signalling) 2 3 Employer has to offer wage to employee, doesn't know employee skill. Quick convergence to low wages. job_market_instr.docx--job_market_slides.pptxjob_market_code.zipjob_market_settings.py-
Job Market Game (with signalling) 2 5 Employee can get a degree, which is less costly for high skill employee. Employer observes degree before offering wage. Convergence towards high skill->degree, degree->high wage. Bayesian Nash equilibria. Pooling and separting equilibrium.job_market_signal_instr.docx--job_market_signal_slides.pptxjob_market_signal_code.zipjob_market_signal_settings.py-
Information Cascade set group size 3 X persons (set N cohorts) sequentially receive signals about state of world and ty to match true state. Observe previous choices but not signals. Many conform choices (cascade starts), but also many non-conform (break cascades). Herding in the wrong direction can be individually rational.information_cascade_instr.docx--information_cascade_slides.pptxinformation_cascade_code.zipinformation_cascade_settings.py-
Repeated Price Comp ----rep_price_comp_code.zip--
Public Goods 4 5 Four mayors decide to invest in joint tram or own streets. Intermediate cooperation breaking down over rounds. Fragility of cooperation.public_goods_instr.docx---public_goods_code.zippublic_goods_settings.py-
Public Goods with Conditional Strategies 4 3 Three mayors move first, fourth can observe others' investments before investing. A little more cooperation, mostly selfish and conditional people. Prevalence of conditional cooperation. The carrot.public_goods_cond_instr.docx---public_goods_cond_code.zippublic_goods_cond_settings.py-
Public Goods with Punishment 4 5 After observing each mayor's investment, mayors can destroy the streets of others. Higher investments, but no gain in efficiency due to excessive punishment. Peer punishment. The stick.public_goods_punish_instr.docx---public_goods_punish_code.zippublic_goods_punish_settings.py-
Random Hermits 2 3 The hermit (matching pennies) game from above, but with incomplete information about type of one player. Lot's of noise and uncertainty. Bayesian Nash equilibria.random_hermits_instr.docx--random_hermits_slides.pptxrandom_hermits_code.ziprandom_hermits_settings.py-
Penalty Kick with Incomplete Information 2 3 The penalty (matching pennies) game from above, but with incomplete information wether the goalie is bribed or not. Lot's of noise and uncertainty. Bayesian Nash equilibria.penalty_kick_bribery_instr.docx--penalty_kick_bribery_slides.pptxpenalty_kick_bribery_code.zippenalty_kick_bribery_settings.py-
Comittee Agenda Setting 1 1 3 Manager sets agenda for meeting with two other (computerized, honest) managers with different preferences. Convergence towards strategi agenda favoring chair. Agenda setter can determine meting outcome.agenda_1_instr.docx---agenda_1_code.zipagenda_1_settings.py-
Comittee Agenda Setting 2 3 10 Manager sets agenda for meeting with two other real managers with different preferences. Stragegic voting, agenda setter adapts. Votes can be strategic, agenda can adapt.agenda_2_instr.docx---agenda_2_code.zipagenda_2_settings.py-
A green screen with no button, usually put at start 1 1 A green screen, usually shown as first screen to indicate that people are connected. Can then be skipped with ""Advance slowest user"". ----ready_code.zip--
A red screen saying thank you, usually put at end. 1 1 A red screen with a thank-you. Usually shown as last screen to indicate end of experiment. ----thankyou_code.zip--
A screen asking for a second ID, in cs two students share the screen. 1 1 A screen collecting an ID number. We used it to ask for the second student's ID in case there are two students are participating jointly as one. ----inputsecondid_code.zip--