pricing-psychology-guide
Behavioral economics in pricing strategies and consumer decisions
Best use case
pricing-psychology-guide is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Behavioral economics in pricing strategies and consumer decisions
Teams using pricing-psychology-guide should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/pricing-psychology-guide/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How pricing-psychology-guide Compares
| Feature / Agent | pricing-psychology-guide | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Behavioral economics in pricing strategies and consumer decisions
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Pricing Psychology Guide
## Overview
Pricing psychology sits at the intersection of behavioral economics, marketing science, and consumer research. Classical economics assumes consumers evaluate prices rationally -- comparing marginal utility to marginal cost. Decades of experimental evidence show this is wrong. Consumers use heuristics, are influenced by reference points, respond to framing, and systematically deviate from rational price evaluation.
Understanding these deviations is both scientifically important (they reveal how human cognition processes economic information) and practically consequential (pricing is one of the highest-leverage decisions firms make). This guide covers the key psychological mechanisms in pricing, experimental methods for studying them, and the analytical tools researchers use to measure willingness to pay and price sensitivity.
The focus is on academic rigor: well-identified causal effects, incentive-compatible elicitation methods, and results that replicate. The field has been significantly impacted by the replication crisis, and this guide emphasizes methodological best practices that meet current standards.
## Core Psychological Mechanisms
### Anchoring and Price Perception
```
Anchoring in pricing (Tversky & Kahneman, 1974):
MECHANISM:
- Initial price exposure creates a reference point
- Subsequent judgments are adjusted (insufficiently) from that anchor
- Effect persists even when the anchor is clearly irrelevant
EXPERIMENTAL EVIDENCE:
1. Ariely et al. (2003): Social security number → WTP for wine
- Students with higher SS numbers bid more for identical wine
- Effect size: r = 0.33-0.52 across product categories
2. Northcraft & Neale (1987): Real estate anchoring
- Listing price influenced expert appraisers
- Experts denied being influenced (unaware of the effect)
3. Nunes & Boatwright (2004): Incidental anchors in retail
- Adjacent product prices influence focal product evaluation
- Even when products are in different categories
RESEARCH DESIGN:
- Random anchor assignment is critical for causal identification
- Include manipulation check: "Were you influenced by the initial number?"
- Pre-register the anchor-WTP relationship hypothesis
```
### Reference Price Theory
```
Reference price = the price consumers expect or consider "normal"
TYPES OF REFERENCE PRICES:
1. Internal reference price (memory-based)
- Last price paid
- Expected future price
- "Fair" or "just" price
2. External reference price (context-based)
- Competitor prices displayed
- MSRP / "was" price (strikethrough pricing)
- Unit price comparisons
PROSPECT THEORY APPLICATION (Kahneman & Tversky, 1979):
- Price < Reference → GAIN → Purchase more likely
- Price > Reference → LOSS → Loss aversion kicks in
- Loss aversion coefficient lambda ≈ 2.0-2.5 for prices
- Implication: Price increases hurt more than equivalent decreases help
```
### Key Pricing Effects
| Effect | Description | Evidence Strength |
|--------|-------------|------------------|
| Left-digit effect | $3.99 perceived much cheaper than $4.00 | Strong (Thomas & Morwitz, 2005) |
| Decoy effect | Asymmetrically dominated option shifts choice | Strong (Huber et al., 1982) |
| Compromise effect | Middle option preferred in three-option sets | Strong (Simonson, 1989) |
| Endowment effect | WTA > WTP (owners value goods more) | Moderate (post-replication) |
| Mental accounting | Money categorized into separate mental accounts | Strong (Thaler, 1999) |
| Price-quality heuristic | Higher price = higher quality perception | Moderate (context-dependent) |
| Pain of paying | Neural pain response to spending money | Strong (Prelec & Loewenstein, 1998) |
| Bundle bias | Preference for bundled pricing over itemized | Moderate |
## Experimental Methods
### Willingness-to-Pay Elicitation
```python
import numpy as np
from typing import List, Dict
def bdm_mechanism(stated_wtp: float, price_range: tuple = (0, 50)) -> dict:
"""
Becker-DeGroot-Marschak (BDM) incentive-compatible mechanism.
Participants state WTP; random price drawn; buy if WTP >= price.
Truthful reporting is the dominant strategy.
"""
random_price = np.random.uniform(*price_range)
purchase = stated_wtp >= random_price
return {
"stated_wtp": stated_wtp,
"random_price": round(random_price, 2),
"purchased": purchase,
"payment": round(random_price, 2) if purchase else 0,
}
def multiple_price_list(prices: List[float]) -> Dict:
"""
Multiple Price List (MPL) method for WTP elicitation.
Present a series of binary choices: buy at price X or keep money.
WTP = switching point from "buy" to "keep money."
"""
return {
"instructions": (
"For each price below, indicate whether you would buy "
"the product at that price (one row will be randomly selected "
"for real payment)."
),
"choices": [
{"price": p, "buy": None, "keep_money": None}
for p in sorted(prices)
],
"wtp_estimate": "Midpoint between last 'buy' and first 'keep money'",
}
def van_westendorp_psm(
too_cheap: List[float],
cheap: List[float],
expensive: List[float],
too_expensive: List[float],
) -> dict:
"""
Van Westendorp Price Sensitivity Meter.
Four questions about price perception; intersections define optimal range.
"""
# In practice, compute cumulative distributions and find intersection points
return {
"point_of_marginal_cheapness": "Intersection: too_cheap & expensive",
"point_of_marginal_expensiveness": "Intersection: cheap & too_expensive",
"optimal_price_point": "Intersection: too_cheap & too_expensive",
"indifference_price_point": "Intersection: cheap & expensive",
}
```
### Conjoint Analysis for Price Research
```python
# Discrete Choice Experiment (DCE) for price research
# Standard method for decomposing preferences across attributes including price
design_example = {
"attributes": {
"brand": ["Brand A", "Brand B", "Brand C"],
"features": ["Basic", "Standard", "Premium"],
"price": ["$9.99", "$14.99", "$19.99", "$24.99"],
"warranty": ["1 year", "3 years"],
},
"design": "D-optimal fractional factorial",
"choice_sets": 12, # Number of choice tasks per respondent
"alternatives": 3, # Options per choice set (+ no-purchase)
"sample_size": 300, # Respondents
"analysis": "Mixed logit (random coefficients) for heterogeneity",
"output": {
"part_worths": "Utility contribution of each attribute level",
"price_sensitivity": "Distribution of price coefficients",
"wtp_for_features": "WTP = -beta_feature / beta_price",
"optimal_price": "Price that maximizes share or revenue",
},
}
```
## Price Elasticity Estimation
```python
import numpy as np
from scipy import stats
def estimate_price_elasticity(
prices: np.ndarray,
quantities: np.ndarray,
method: str = "log-log",
) -> dict:
"""
Estimate price elasticity of demand.
Methods:
- "log-log": ln(Q) = a + e*ln(P) + error (constant elasticity)
- "arc": Midpoint elasticity between two points
"""
if method == "log-log":
log_p = np.log(prices)
log_q = np.log(quantities)
slope, intercept, r_value, p_value, std_err = stats.linregress(log_p, log_q)
return {
"elasticity": slope,
"std_error": std_err,
"r_squared": r_value ** 2,
"p_value": p_value,
"interpretation": (
"elastic" if abs(slope) > 1
else "unit elastic" if abs(slope) == 1
else "inelastic"
),
}
elif method == "arc":
# Midpoint method for discrete price changes
elasticities = []
for i in range(len(prices) - 1):
pct_q = (quantities[i+1] - quantities[i]) / ((quantities[i+1] + quantities[i]) / 2)
pct_p = (prices[i+1] - prices[i]) / ((prices[i+1] + prices[i]) / 2)
if pct_p != 0:
elasticities.append(pct_q / pct_p)
return {
"arc_elasticities": elasticities,
"mean_elasticity": np.mean(elasticities),
}
```
## Experimental Design Checklist
```
Pricing experiment design checklist:
1. INCENTIVE COMPATIBILITY
[ ] Use BDM, Vickrey auction, or real purchase
[ ] Never use hypothetical WTP without validation
[ ] Endow participants with money to make purchases real
2. REFERENCE PRICE CONTROL
[ ] Measure or manipulate reference prices
[ ] Control for prior brand/product experience
[ ] Randomize presentation order
3. DEMAND CHARACTERISTICS
[ ] Blind participants to the pricing manipulation
[ ] Include filler products to mask the focal comparison
[ ] Use between-subjects design for price comparisons
4. ECOLOGICAL VALIDITY
[ ] Use realistic product descriptions and images
[ ] Set price ranges within the market range
[ ] Include a "no purchase" option
5. ANALYSIS
[ ] Pre-register hypotheses and analysis plan
[ ] Report effect sizes and confidence intervals
[ ] Test for heterogeneity across consumer segments
[ ] Check for order effects and carryover
```
## Best Practices
- **Use incentive-compatible methods.** Hypothetical WTP overstates actual WTP by 2-3x on average.
- **Control for reference prices.** Uncontrolled reference prices are the biggest confound in pricing experiments.
- **Report effect sizes, not just p-values.** A statistically significant 2-cent WTP difference is not managerially meaningful.
- **Test external validity.** Lab results do not automatically generalize to market settings.
- **Account for heterogeneity.** Price sensitivity varies enormously across consumer segments.
- **Pre-register.** Pricing studies have many researcher degrees of freedom (outlier exclusion, model specification, subsample selection).
## References
- Kahneman, D. & Tversky, A. (1979). Prospect Theory. Econometrica, 47(2), 263-291.
- Ariely, D., Loewenstein, G., & Prelec, D. (2003). Coherent Arbitrariness. QJE, 118(1), 73-106.
- Rao, V. R. (2009). Handbook of Pricing Research in Marketing. Edward Elgar.
- Thomas, M. & Morwitz, V. (2005). Penny Wise and Pound Foolish. JCR, 32(1), 54-64.
- [oTree documentation](https://otree.readthedocs.io/) -- Experimental economics platformRelated Skills
thuthesis-guide
Write Tsinghua University theses using the ThuThesis LaTeX template
thesis-writing-guide
Templates, formatting rules, and strategies for thesis and dissertation writing
thesis-template-guide
Set up LaTeX templates for PhD and Master's thesis documents
sjtuthesis-guide
Write SJTU theses using the SJTUThesis LaTeX template with full compliance
novathesis-guide
LaTeX thesis template supporting multiple universities and formats
graphical-abstract-guide
Create SVG graphical abstracts for journal paper submissions
beamer-presentation-guide
Guide to creating academic presentations with LaTeX Beamer
plagiarism-detection-guide
Use plagiarism detection tools and ensure manuscript originality
paper-polish-guide
Review and polish LaTeX research papers for clarity and style
grammar-checker-guide
Use grammar and style checking tools to polish academic manuscripts
conciseness-editing-guide
Eliminate wordiness and redundancy in academic prose for clarity
academic-translation-guide
Academic translation, post-editing, and Chinglish correction guide