PJ's Elicitation Toolbox
Some of these are backed by science. Others, not so much.
Feel free to steal the source code for any of the example screens for your own use.
Compatibility: These examples use only HTML & JavaScript; they should work in any browser from 2022 or later (Chrome 37+, Firefox 98+, Safari 15.4+, Edge 79+).
Tool: MPL Maker® —
Design a custom Multiple Price List and download the HTML source code.
Stock MPLs, with explanations:
-
Eliciting the probability of an event
(eg, "Pr(your opponent chooses Cooperate)"):
Example page
Details
- Use a multiple price list (MPL) with the following 2 columns:
- Option A: $10 if [your opponent chooses Cooperate]
- Option B: $10 with probability p%
(where p increases on each row from 0% to 100%)
- No need to show it on the actual decision screen. Explain it in the
opening instructions or in an optional pop-up window.
- Embed the MPL in a scroll box to avoid list effects.
- Enforce a single switch point (unless multiple switches are part of
your research question).
- Have them type in a number. If the MPL is shown, use JavaScript to
auto-fill the list.
- What's better? Frequency (what % of people cooperated) or Probability (what's the probability a random person cooperated)?
My answer
- Beliefs about a frequency are much more complicated. They're an entire distribution:
- Pr(freq=0%)
- Pr(freq=1%)
- ...
- Pr(freq=100%)
- Then what do you elicit? The mode of that distribution? The median? The mean?
- Beliefs about the probability that one random person cooperated is a single number p
- In theory they should be linked via the binomial distribution:
- If Pr(random person cooperated) = p then the probability that q% of people cooperated should be
.
- But Leo & Stelnicki show that people's beliefs don't follow the binomial distribution in this case. So you have to pick one or the other!
- My recommendation: Elicit Pr(a random person cooperated). It's just simpler.
-
Eliciting the dollar value for a good (eg, a cheeseburger):
Example page
Details
- Use a multiple price list (MPL) with the following 2 columns:
- Option A: [the good]
- Option B: $[x] (x increases on each row)
- If it's not too cluttered, show the MPL on the actual decision screen.
- Embed the MPL in a scroll box to avoid list effects.
- Enforce a single switch point (unless multiple switches are part of
your research question).
- Have them type in a number. If the MPL is shown, use JavaScript to
auto-fill the list.
-
Eliciting a complete ranking of a (finite) set of options:
Example page
Details
- Simply have them rank everything from best to worst.
- The list of options can be changed in the JavaScript code of the page.
- Payment: Randomly pick 2 options and pay the one they ranked higher.
- This assumes a strict ranking. Eliciting indifferences requires an extra trick:
- If you want to elicit (approximate) indifference between A and B, have them first rank "A+$0.01" against "B". Then have them rank "A" against "B+$0.01".
-
Eliciting a belief about a number (eg, someone's test score out of 100):
Example page
Details
- Do not elicit the mean. The mean is not a real thing. It's a
calculated quantity. Consequently, eliciting it in an
incentive-compatible way requires additional assumptions.
- Instead, elicit the mode. They type in a guess and they're paid
$10 if their guess is correct.
- If there are many possible values, pay them $10 if their guess is
within ±Δ.
- This technically elicits the (center of the) interval of
width 2Δ that has the greatest mass.
- If you really don't like the mode, consider eliciting the median
using the following MPL: (Example page)
- Option A: $10 with 50% chance
- Option B: $10 if [their test score] is less than
[x] (x increases on each row)
-
Eliciting an entire distribution about a number (eg, someone's test score):
Example page
Details
- Simply break the possible scores into bins and elicit the
probability of each bin (see above).
- Then randomly pick one bin and pay for the reported probability
given to that bin.
-
Eliciting a risk preference or time preference: see details below
Details
- Unlike a probability or a dollar value, risk and time preferences
cannot be summarized by a single number — not without first
assuming a functional form for preferences. At that point you're
not really eliciting a preference; you're estimating a parameter
of a model that is likely misspecified.
- These parameters are also highly context-dependent. Discount rates
vary with the time horizon, the domain (money vs. health vs. effort),
and the direction (delays vs. speedups). Risk aversion varies with
stakes, domain, and whether gains and losses are treated symmetrically.
A preference measured in one context often tells you
almost nothing about behavior in another.
- My recommendation: if all you want is to predict behavior in one
specific risky or intertemporal decision, just present that actual
decision. Only elicit a structural parameter if you need it as an
input to a model. And even then, temper your expectations
about how well it will generalize.
- That all being said, people still like to elicit risk preferences.
So, here's a clean option: Example page
For details and citations, see our book chapter on belief elicitation below. If you must cite something, cite this.
Healy, Paul J. and Greg Leo,
"Belief Elicitation: A User's Guide"
Chapter 3 in
Handbook of Experimental Methodology
edited by E. Snowberg & L. Yariv
December 2025.
AI Disclaimer: although I programmed original versions of most of these, the final code was substantially improved by the use of AI.
Back to my website. Or, to something more useful.