← Ecommerce SkillsCONTENT HISTORY
WHAT CHANGED
Update to Ecommerce Skills
Snapshot Oct 26, 2026 · 00:05 UTC · version 1.0.0
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save Ecommerce Skills and check future changes in Following.
Up to 10 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Use when someone needs to find out how much customers will actually pay before setting or changing a price — e.g. \"what's the most profitable price for this\", \"should I survey my list about pricing\", \"how do I test willingness to pay\", \"is Van Westendorp the right method\", \"we're just copying competitor prices\".",
"included_files": [
{
"relative_path": "reference.md",
"size_in_bytes": 3846
},
{
"relative_path": "scripts/wtp_calc.py",
"size_in_bytes": 6079
}
],
"name": "price-research",
"skill_md_contents": "---\nname: price-research\ndescription: Use when someone needs to find out how much customers will actually pay before setting or changing a price — e.g. \"what's the most profitable price for this\", \"should I survey my list about pricing\", \"how do I test willingness to pay\", \"is Van Westendorp the right method\", \"we're just copying competitor prices\".\n---\n\n# Price research\n\nFind the profit-maximizing price with two one-question surveys and a correction step, instead of guessing, copying competitors, or averaging \"what would you pay?\" answers. The method combines an open question (which people overstate) with a randomized yes/no question (which is unbiased but coarse) to get an accurate demand curve cheaply.\n\n## When to use\n\n- Pricing a new product, plan, or course before launch\n- Deciding whether to raise or lower an existing price\n- The user proposes a \"how much would you pay?\" survey, Van Westendorp, or competitor matching\n\n## When not to use\n\n- Choosing the digits or presentation of a price already decided → the `pricing` skill\n- Unable to get ~500 completed responses (30 per closed price × 7, the same again for the open survey, plus drop-off): the method needs volume; suggest a price A/B test instead\n\n## Inputs\n\n- Product description, images, or a demo (realism matters)\n- Unit cost, reachable audience size, currency\n- The lowest and highest price you can imagine charging\n- Channels to recruit respondents (site, newsletter, customers, panel)\n- Strategy: maximize profit now, volume/reach, or premium positioning\n\n## Procedure\n\n1. **Why not the usual methods.** Averaging open \"how much would you pay?\" answers overstates by a large margin (often ~50%). Asking \"would you buy at $X?\" alone is biased by the price acting as a quality cue. Competitor matching ignores your own demand. Van Westendorp gives an \"acceptable range\", not the profit-maximizing point. The lab-standard auction method (BDM) is accurate but requires selling the real product and is too costly for most teams.\n2. **Build the price ladder.** Pick 7 prices with equal steps from the lowest to the highest plausible price ($20, $40 … $140). More steps need more respondents. †\n3. **Write two surveys with identical product descriptions.** Survey A (open): \"What is the most you would pay for [product]? (in $)\". Survey B (closed): \"Would you buy [product] for $X? Yes / No\", where X is one ladder price chosen at random per respondent. Use a tool that supports random-subset questions (Qualtrics does) and a random link splitter to send 50% to each survey.\n4. **Sample size.** At least 30 answers per closed price → 210 for B, the same for A, plus ~80 for drop-off ≈ 500 total. † Work back from your expected response rate: at 5%, a list of 10,000 yields ~500. Recruit existing or prospective customers first; panels are a fallback. Say \"one quick question\" and offer a reward (coupon, prize draw). Keep it open 2–3 weeks.\n5. **Test before launch.** Preview both surveys, open the split link in incognito several times, confirm prices randomize, delete test answers.\n6. **Clean.** Drop $0 and absurd answers from Survey A (the script drops anything above 5× the median; adjust with `--max-multiple`). †\n7. **Correct.** `corrected = open_answer − mean(open) + mean(closed)`, where `mean(closed)` is the area under the yes-share curve across the ladder (the script uses the trapezoid rule, assuming 100% would buy at $0 and 0% one step above the top price). Each corrected value is an estimate of that respondent's willingness to pay; the distribution, not any single value, is what you use.\n8. **Demand and profit.** For each ladder price: share of corrected values ≥ price; buyers = share × audience; profit = (price − unit cost) × buyers. Pick the maximum; the script also lists near-ties (within 10% of the best profit), refuses to recommend a price when none is profitable at the given cost or when any price (or the open survey) has fewer than 30 answers, and stops on any closed-survey answer that isn't a recognisable yes/no. *Audience* is the number of people who will actually see the offer (expected launch reach), not the size of the survey list. *Unit cost* is the marginal cost per sale; for digital products that is near $0 plus any per-sale fees, and the profit-maximizing price then equals the revenue-maximizing one. If two adjacent prices are within ~10% on profit, treat them as a tie and let strategy (step 9) or a live A/B test decide.\n9. **Override by strategy.** A premium brand may choose a higher price at lower profit to attract future buyers; a reach-first launch may go lower. Say which you chose and why. †\n\nRun `scripts/wtp_calc.py --open open.csv --closed closed.csv --cost 5 --audience 8000` (`open.csv`: column `wtp`; `closed.csv`: columns `price,answer`). Example output on synthetic data (230 open answers, 30 per price on a 7-step ladder):\n\n```\nOpen survey: 230 answers, 3 dropped (<=0 or >5x median)\nClosed survey: 210 answers across 7 prices\n 30.00 yes 96.7% n=30\n 60.00 yes 86.7% n=30\n 90.00 yes 40.0% n=30\n 120.00 yes 23.3% n=30\n 150.00 yes 13.3% n=30\n 180.00 yes 3.3% n=30\n 210.00 yes 0.0% n=30\n\nmean_open = 125.59\nmean_closed = 94.00\ncorrection = mean_closed - mean_open = -31.59 (applied to every open answer)\ncorrected mean WTP = 94.00\n\n price share willing buyers profit\n 30.00 83.7% 6696 167401\n 60.00 63.0% 5040 277181\n 90.00 42.3% 3383 287577\n 120.00 26.9% 2150 247225\n 150.00 17.2% 1374 199295\n 180.00 11.9% 952 166520\n 210.00 7.5% 599 122819\n\nProfit-maximizing price: 90.00 (profit 287577 at cost 5, audience 8000)\nNear-ties (within 10% of the best profit): 60.00 — treat as tied; decide by strategy or a live A/B test.\nOverride for strategy: a premium brand may pick a higher price; a reach-first launch a lower one.\n```\n\n## Output\n\n| Item | Value |\n|---|---|\n| Price ladder | 7 prices, equal steps, range stated |\n| Survey A / B wording | exact text |\n| Sample plan | ≥30 per price; target ~500; channels; incentive; duration |\n| Correction constants | mean_open, mean_closed, shift |\n| Demand & profit table | per ladder price |\n| Recommended price | with the strategy override, if any |\n\n## Common mistakes\n\n- Averaging \"what would you pay?\" answers — overstated; needs the closed-survey correction.\n- Reaching for Van Westendorp — gives a range, not the profit-maximizing point.\n- Uneven ladders ($20, $50, $100) — steps must be equal for the correction to hold.\n- Too many prices for the sample (10 prices with 276 answers) — under 30 per price; use 7 and run longer.\n- Thin product description — respondents price what they imagine; show images or a demo.\n- Picking the top-profit price blindly when the brand is premium — state the strategic override.\n\n## Quick reference\n\n| Step | Rule |\n|---|---|\n| Ladder | 7 prices, equal steps, generous range |\n| Split | 50/50 random to open vs closed; random price within closed |\n| Sample | ≥30 per closed price, ~500 total |\n| Clean | Drop 0 and outliers (>5× median) |\n| Correct | open − mean(open) + mean(closed) |\n| Choose | max (price − cost) × audience × share ≥ price, then apply strategy |\n\n† No primary citation on file for this rule — a practitioner tip, not a measured finding.\n\nEvidence and effect sizes: see [reference.md](reference.md).\n"
}SHA-256 of public snapshot: 86292ebb310bb31217fe1cdf7391f2bae5769dcc2b8531d8d3018be8ed05023b