In August 2026 we opened 421 paid digital products one at a time — templates, presets, plugins, 3D packs, Photoshop actions, teacher worksheets — across nine marketplaces (Gumroad, Etsy, GraphicRiver, 3DOcean, DLsite, Teachers Pay Teachers, Hotmart and two more). For each one we wrote down what the page proves: the price, the lowest unit count the page itself shows, whether a free sample is visible, what the buyer actually receives, and how complex the thing is.
The whole table is public domain (CC0): CSV / JSON on our site and as a Hugging Face dataset.
import pandas as pd
df = pd.read_csv("https://getreadystack.com/data/421-products.csv")
df.groupby("complexity")[["price_usd", "units_floor"]].median()
Here is what fell out of it. Every number below is computed from that file, nothing else.
1. The same file format sells at 30× to 2,900× the price
| format | paid listings | min | median | max |
|---|---|---|---|---|
| 96 | $0.99 | $5.50 | $223.75 | |
| .zip | 43 | $1.00 | $17.60 | $2,900 |
| .pptx | 10 | $4.99 | $13.50 | $143 |
| .unitypackage | 13 | $4.00 | $90 | $1,000 |
| .atn (Photoshop action) | 19 | $4.00 | $7.00 | $15 |
A .pptx at $4.99 and a .pptx at $143 are the same bytes on disk. The price is not a property of the file. It is a property of who needs it and what happens to them if they get it wrong.
2. Complexity buys price, not units
| complexity (as judged from the page) | n | median price | median proven units |
|---|---|---|---|
| trivial | 112 | $5 | 372 |
| simple | 122 | $7 | 506 |
| moderate | 89 | $15 | 544 |
| heavy | 98 | $65 | 291 |
"Heavy" products charge about 13× what "trivial" ones do and still move roughly 60% as many units. If you are choosing between making something small and making something serious, the table says: serious pays, and it does not cost you the audience.
3. A visible free sample correlates with 8× the proven sales
Of the 421 listings, 175 show a free sample of some kind on the page (a preview file, a free tier, a sample pack). 246 show none.
| free sample visible | n | median proven units |
|---|---|---|
| yes | 175 | 1,231 |
| no | 246 | 152 |
This is observational, not an experiment — sellers who bother to add a sample probably do other things right too. But the gap is not small, and it matches what the winners on every shelf do: give a real, usable piece away, then sell the rest.
4. Shelves differ more than products do
| marketplace | n | median price | median proven units | listings with ≥100 proven units |
|---|---|---|---|---|
| Gumroad | 112 | $20.00 | 504 | 83% |
| Etsy | 87 | $4.50 | 89 | 46% |
| GraphicRiver | 48 | $8.50 | 6,450 | 85% |
| DLsite (JP) | 42 | $6.60 | 2,305 | 100% |
| Teachers Pay Teachers | 30 | $22.00 | 220 | 70% |
| 3DOcean | 26 | $477.50 | 0 | 8% |
| Hotmart (pt-BR) | 13 | $17.60 | 62 | 46% |
3DOcean carries the highest prices in the set and the least proof that anything sells — the pages simply do not show a number. DLsite, at $6.60, proves sales on every single listing we opened. "Expensive shelf" and "selling shelf" are not the same shelf.
5. What the page proves vs. what people assume
- 292 of 421 listings (69%) prove at least 100 units sold on the page itself.
- 19 listings prove zero.
- The median floor is 416 units — for products that mostly cost under $20.
We call the column units_floor on purpose. It is the lowest number the page proves — a printed unit count, or a rating count, or nothing. It is never an estimate. Treat it as a floor, not a market size.
What we did with it
We are a small team building developer and professional tools, and this table changed what we build. The products that command real prices are attached to a moment when being wrong costs money: a filing deadline, a regulation that changed this year, a tax threshold, an audit. So that is what we make now — small linters and calculators pinned to a dated rule, each one citing its source, free for the core check and paid for the parts that protect a team (getreadystack.com). The dataset is the receipt for that decision.
Caveats, honestly
- One observer, one month, nine marketplaces that publish numbers unevenly.
-
units_flooris a floor. Some listings sell far more than the page shows. - The complexity and free-sample columns are human judgments from the listing page, not from the file.
- Correlation throughout. Nothing here was A/B tested.
If you use the data, we would genuinely like to hear what you find — the file is CC0, do whatever you want with it.
Top comments (0)