This repository contains a "Norm Following Task" for oTree Lite (oTree 6+), based on:
Kimbrough, E. O., & Vostroknutov, A. (2018). A portable method of eliciting respect for social norms. Economics Letters, 168, 147-150.
Participants allocate 20 balls, one at a time, between two buckets:
- Blue bucket ("the norm"): each ball is worth €0.10.
- Yellow bucket ("the money"): each ball is worth €0.15.
The instructions explicitly state that the norm of the experiment is to put balls in the blue bucket, creating a conflict between following the stated norm and maximizing personal payoff. Balls can be moved with drag & drop, or by clicking a ball and then clicking a bucket (touch/keyboard-friendly fallback).
- Python 3.10+
otree>=6,<7(seerequirements.txt)
This repository is a self-contained oTree project: the app lives in NFT/, with settings.py at the repository root.
-
Install dependencies:
pip install -r requirements.txt
-
Start the dev server from the repository root:
otree devserver
-
Open the printed local URL and start a demo session for "Norm Following Task".
- Copy the whole
NFT/folder into your project's apps directory. - Add
'NFT'to theapp_sequenceof a session config in your project'ssettings.py. - Important: add
'RFT_payoff'toPARTICIPANT_FIELDSin yoursettings.py. The app setsparticipant.RFT_payoffdirectly, and oTree requires every custom participant attribute to be declared there — otherwise the app will raise an error at runtime.
MIT — see LICENSE.