Prospect Theory
People feel losses 2x more than equivalent gains. Understanding loss aversion enables better payout structures and promotion design.
๐ง The Core Insight
Loss aversion coefficient ฮป โ 2.25: losses hurt more than twice as much as equivalent gains please.
Value Function Parameters
๐ Current Settings
Prospect Theory Value Function
Note: Curve is steeper for losses (left) than gains (right). This asymmetry = loss aversion.
Gamble Evaluation
โ ๏ธ Loss aversion makes people reject this +EV gamble!
๐ Key Concepts
Loss Aversion
Losses hurt 2-2.5x more than equivalent gains
Losing $100 feels worse than winning $100 feels good
Implication: Users avoid risky bets even with +EV
Diminishing Sensitivity
Value function is concave for gains, convex for losses
$100โ$200 feels bigger than $1000โ$1100
Implication: Small wins feel proportionally better
Reference Point
Gains/losses evaluated vs reference, not absolute
Winning $50 after expecting to win $100 = loss
Implication: Frame outcomes relative to expectations
๐ฐ Pricing Applications
Payout Design
- โ Smaller, more frequent wins feel better than rare big wins
- โ Insurance/cashout options appeal to loss-averse users
- โ Frame bonuses as gains, not reduced losses
Promotion Design
- โ "Win $20 free" beats "Get 20% back on losses"
- โ Loss rebates feel 2x as valuable as equivalent bonuses
- โ Streak bonuses leverage reference point shifts
R Code Equivalent
# Prospect Theory value function
prospect_value <- function(x, alpha = 0.88, lambda = 2.25, ref = 0) {
adjusted <- x - ref
ifelse(adjusted >= 0,
adjusted^alpha,
-lambda * (-adjusted)^alpha)
}
# Evaluate a gamble
evaluate_gamble <- function(win_amount, lose_amount, win_prob,
alpha = 0.88, lambda = 2.25) {
ev <- win_prob * win_amount - (1 - win_prob) * lose_amount
pv <- win_prob * prospect_value(win_amount, alpha, lambda) +
(1 - win_prob) * prospect_value(-lose_amount, alpha, lambda)
list(expected_value = ev, prospect_value = pv,
rational_choice = ev >= 0, behavioral_choice = pv >= 0)
}
# Example: 50/50 bet for $100
result <- evaluate_gamble(100, 100, 0.5)
cat(sprintf("EV: $%.0f | PV: %.0f | Take it: %s\n",
result$expected_value, result$prospect_value,
result$behavioral_choice))โ Key Takeaways
- โข Losses hurt ~2.25x more than gains please
- โข People reject +EV gambles due to loss aversion
- โข Frame outcomes relative to reference points
- โข Frequent small wins > rare big wins psychologically
- โข Insurance/cashout taps into loss aversion
- โข Loss rebates have outsized perceived value