Subscription price test
A randomized price test for the monthly plan of a fictional language-learning app, Sadeem Lingo. About 9 000 visitors to the pricing page were randomly shown one of four monthly prices (49, 59, 69 or 79 SAR). Each row records the variant, traffic source, device, whether the visitor subscribed and the first-month revenue. Designed for comparing several proportions at once and for the multiple-comparisons problem: which price maximises revenue, and which differences are real?
- Rows
- 9,000
- Columns
- 7
- One row is
- one visitor to the pricing page
- Version
- v1
Data dictionary
| Column | Type | Unit | Summary | Description |
|---|---|---|---|---|
visitor_idVisitor | id | Anonymous visitor identifier. | ||
variantPrice variant | category | 4 levels: P49, P59, P69, P79 | Price shown: P49 = 49 SAR/month … P79 = 79 SAR/month. | |
price_sarMonthly price | integer | SAR | mean 63.95, median 59, SD 11.19, range 49–79 | Monthly price shown to the visitor. |
traffic_sourceTraffic source | category | 4 levels: search, social, direct, email | How the visitor arrived. | |
deviceDevice | category | 2 levels: mobile, desktop | Device type. | |
convertedSubscribed | integer | mean 0.048, median 0, SD 0.2138, range 0–1 | 1 if the visitor subscribed, else 0. | |
revenue_sarFirst-month revenue | number | SAR | mean 3.087, median 0, SD 14.01, range 0–94 | Price plus optional 15 SAR add-on for subscribers; 0 otherwise. |
What it is good for
- Compare four conversion rates with a chi-square test.
- Run pairwise comparisons and adjust for multiple testing (Bonferroni, Holm).
- Compare revenue per visitor (not just conversion) across prices.
- Explain why the 'winning' variant from many comparisons may be a false positive.
Methods: chi-square test, two-proportion z-test, Bonferroni correction, Holm correction, confidence intervals, ANOVA on revenue per visitor.
Data quality notes
- Conversion falls with price, but revenue per visitor peaks at a middle price — the differences in revenue are small and noisy.
- In this particular sample the observed revenue per visitor is highest at 49 SAR, although the true optimum (by construction) is 59 SAR — a concrete example of how noisy a 'winner' can be.
- Variants are not exactly equal in size (random assignment).
- No missing values.
Provenance and licence
Visitors are assigned to the four prices with equal probability. True conversion rates fall with price: 6.0%, 5.4%, 4.4%, 3.6%, adjusted by traffic source (email 1.5×, search 1.1×, social 0.7×, direct 1.0×, averaging ≈1). A subscriber adds an optional 15 SAR add-on with probability 0.2. True revenue per visitor is therefore highest at 59 SAR, but the differences between neighbouring prices are small relative to sampling noise.
Synthetic data · CC0-1.0 (synthetic data generated by Statistics Quest) · generated deterministically (seed 20241006). It does not describe real people or organisations; any resemblance is coincidental.
Preview
Dataset
Subscription price test
9,000 rows · one row = one visitor to the pricing page · synthetic data
| Visitor | Price variant | Monthly price (SAR) | Traffic source | Device | Subscribed | First-month revenue (SAR) |
|---|---|---|---|---|---|---|
| V0001 | P59 | 59 | search | mobile | 0 | 0 |
| V0002 | P59 | 59 | search | mobile | 0 | 0 |
| V0003 | P59 | 59 | social | mobile | 0 | 0 |
| V0004 | P59 | 59 | mobile | 0 | 0 | |
| V0005 | P69 | 69 | direct | mobile | 0 | 0 |
| V0006 | P49 | 49 | mobile | 0 | 0 | |
| V0007 | P59 | 59 | search | desktop | 0 | 0 |
| V0008 | P49 | 49 | search | desktop | 0 | 0 |
| V0009 | P69 | 69 | mobile | 0 | 0 | |
| V0010 | P59 | 59 | mobile | 0 | 0 | |
| V0011 | P59 | 59 | direct | mobile | 0 | 0 |
| V0012 | P69 | 69 | social | mobile | 0 | 0 |
Used in
- Multiple variants · Experiments and A/B Testing
- Credible intervals · Advanced Foundations