← Resale IQ

How every number on this site is calculated

You are being asked to make buying decisions with our data. That is only reasonable if you can check how it is produced — so here is the whole method, including the parts that are unflattering.

If a figure on this page ever disagrees with the product, the product is wrong and we want to hear about it: support.

Where the data comes from

We continuously read public live listings, and watch which ones leave the shelf, across all five main EU Vinted domains — Spain, France, Germany, Italy and Portugal. Nothing is bought from a third party. Prices and counts trace back to listings that actually existed; momentum and sell-through are ratios computed from them, not predictions.

We anchor on listings that left the shelf, not active ones. Active listings tell you what sellers hope to get. Here is the honest version of what a departure tells you: we do not see a receipt. We see a listing disappear from a Vinted search shelf, and we infer a sale at its last asking price. A departure is also consistent with the seller delisting it, an account ban, an offline sale at a different price, or the seller relisting the same item under a new id — which we cannot always tell apart from a genuine sale. That last case matters more than it sounds: a seller relists what is not selling, so the items most likely to generate a fabricated “sale” are exactly the slow-moving ones a reseller most needs an honest warning about. We have not yet measured how often this happens. The price shown is therefore an asking price at the moment of departure — a real, useful proxy, and the closest honest signal Vinted's public data supports — but not an observed sale price. Most tools quote active-listing asking prices because they are far easier to collect; we go one step further and track departures, but we do not claim to have watched money change hands.

A departure on this site means we watched a listing go from active to gone. Listings we first saw already gone are in the catalogue count, not in weekly departures. That is why listings tracked can be millions while weekly watched departures are in the hundreds or thousands — not because the market died, and not because a refresh zeroed the table.

Right now
5,436,033 distinct listings tracked · 6,518 watched departures in 7 days across 26 brands on the public table (26 brands in the catalogue). Last calculated 2026-09-10 02:16 UTC.

How fresh it is

Listing collectionscheduled every 30 min/market, skips if busymeasured 2026-09-02 from the scraper run log: 83% of gaps under 1h over the trailing 7 days (n=1,157); 58% under 1h over the last 48h during a current backlog
Signal recomputation~every 2 hoursscores, sell-through, buy-below — a slower cycle than collection; 0 skips observed in the same window
Departure verificationevery 60 minutesconfirms a listing left the shelf — not that it sold; 0 skips observed
Public page refreshno page cache — live per requesteach request renders from the current database; not a 15-minute cache

So right now a new listing is usually in the dataset within an hour — worse than our 30-minute target while a scraper backlog clears (see the measured cadence above). The signal computed from it — buy-below, sell-through, confidence — can lag up to about 2 hours behind that. We publish the measured cadence rather than a rounder number that sounds better, and this table is the one we correct first if the schedule changes.

Sell-through rate — the formula

Sell-through is the share of the universe we actually watched: items we saw listed and then saw leave the shelf, versus items still listed. It is not weekly turns (departures ÷ active × 100), which can exceed 100% and must never be labelled sell-through.

str = sold_observed / (sold_observed + active_listings) × 100

The numerator is only transitions we watched (

sold_observed=1
) — a listing leaving the shelf, never a discovery-stamped
sold_at
. Null, not 0 or 100, when watched departures are below 30 or still-listed is 0 (active≤0 is the only way this share hits 100%). Raw departure and listed counts still show.

Why this matters
A tool showing you “760% sell-through” is not showing you a sell-through rate. It is showing you weekly turns and hoping you do not ask. 760 watched departures against 100 still listed is 88.4% — a share.

Buy-below price — the formula

buy_below = avg_departure_price × 0.95 × 0.70

avg_departure_price is the average asking price of comparable listings at the moment they left the shelf — the closest honest proxy we have for a sale price, not an observed one (see Where the data comes fromabove). The 0.95 is the 5% platform deduction we model for Vinted. The 0.70 targets roughly a 30% margin. Fee structures differ by platform, by market, and by whether you sell privately or as a business — and they change — so substitute your own figure if yours differs. The profit calculator applies current per-platform rates across Vinted, Depop, eBay, Poshmark, StockX and GOAT.

Verdict confidence — HIGH / MEDIUM / LOW

Every BUY / WATCH / SKIP carries a confidence band from the data we actually have: data-quality score, comparable watched departures, and snapshot recency. It is not a model guessing how sure it is.

HIGH≥ 30 comparable departures and quality ≥ 70snapshot younger than 48 hours
MEDIUM≥ 10 comparable departures and quality ≥ 40or HIGH but the snapshot is stale
LOWthinner than thatalways paired with “Only N comparable departures”
What LOW means
LOW is not a SKIP. It means we will not pretend precision we do not have. A call from four watched sales is labelled LOW on purpose.

The authenticity check is a confidence score, not a verdict

This one needs stating plainly because the downside of a misunderstanding is someone buying a fake. The check never sees the physical item. It reads a listing and weighs three things: how far the price sits below the real market for that model, seller trust signals, and patterns in how the listing is written and photographed. It returns a 0–100 confidence score in one of four bands.

75–100High confidencenothing unusual found
50–74Moderate — verifysome signals worth checking
25–49Low confidenceseveral unusual signals
0–24Very lowmultiple red flags
What it is not
It is not an authentication service and not a guarantee. A high score means we found nothing unusual in the listing — not that the item is genuine. A low score means the listing looks odd, which is sometimes just an unusual seller. For anything valuable, use a professional authentication service and your own inspection. We will not reimburse a purchase on the strength of this score.

What this data cannot tell you

Every dataset has edges. Ours are these, and we would rather you learn them here than discover them after a bad buy.

  • "Sold" timestamps are when our tracker first saw a listing leave the shelf — not a sale timestamp, and not necessarily a sale at all. Vinted does not publish transaction data, so a departure can also be a delisting, a removal, an offline sale at a different price, or a relist under a new id.
  • A seller who cannot sell an item tends to relist it, which reads to us as the old listing departing. We have not yet measured how often this happens, but the direction is not neutral: it means the slowest-moving items are the ones most likely to show a fabricated "sale," not a random sample of all items.
  • Days-to-sell measures time to departure, not time to sale, and is only directly observed for a very small fraction of items, because most departed items are first seen already gone. Speed is therefore inferred from weekly momentum against a monthly baseline for nearly all models, not measured per item.
  • Momentum needs roughly 30 days of history to rank models against each other. Before that the board collapses onto STABLE — and we now say so in the product rather than showing confident labels we cannot support.
  • Around 30–45% of listings fall into an 'Other' category because our multilingual keyword matching did not hit a term. That is a real bucket, not a discard bin, but it means category volumes understate reality.
  • We track a fixed set of brands. A brand we do not track has no data here — that is coverage, not a market signal.
  • For 11 of the tracked brands we have no per-model breakdown, either because the brand genuinely does not name its products (Zara, Pull&Bear, Bershka, Mango) or because our model catalogue has not been extended to them yet.

What we will not do

  • Quote an accuracy figure. We log every verdict to a prediction ledger so accuracy can be measured honestly later. Until enough of those have been scored against real outcomes, any number we published would be invented — so there isn't one.
  • Overstate the dataset. The site says 5,430,000+ because that is what COUNT(DISTINCT external_id) returns — the five Vinted domains are one catalogue, so a raw row count would say 2.8M and overstate by about 3x. We previously said 30M+, which came from a development database that does not serve this site. Both were corrected.
  • Count the same listing five times. Vinted's five domains are largely one shared catalogue — most listings appear on several at an identical price. Summing per-country volumes inflates the total by roughly 2.5–3.5×. We publish one aggregated figure.
Check the data yourself

The aggregate market data is public and free to cite with attribution. No account: 10 checks a day. Free account: the same 10 a day for life, plus 7 days of full Starter access, then 10 full unlocks a month for the deep numbers. Live Finder, Order Planner and Price Compare are Pro. No card.

Create a free accountOpen market dataThe reselling manual

Questions

How fresh is Resale IQ's Vinted data?

The scraper is scheduled every 30 minutes per market across all five EU Vinted domains, but a run is skipped if the previous one is still in progress. Measured on production over the trailing 7 days (2026-08-26 to 2026-09-02, from the scraper run log): 83% of gaps land under an hour — median 34 minutes, mean 43 minutes, n=1,157 gaps across the 5 domains. The most recent 48 hours ran slower, 58% under an hour (n=242), while a backlog of skipped runs clears. Signals are recomputed on a slower cycle, roughly every 2 hours, and that cycle has run on schedule with no skips in the same window. Departure verification — checking which listings have left the shelf — runs every 60 minutes, also with no skips observed. Public pages carry no page-level cache; each one renders from the live database on every request. So right now a new listing is usually in the dataset within an hour, worse than our 30-minute target while the backlog clears; the score built from it can lag up to about 2 hours behind that.

How is sell-through rate calculated?

Watched departures divided by watched departures plus still-listed items. Only transitions we observed (sold_observed) — a listing leaving the shelf, not a confirmed sale. We withhold the percentage (null, not 0) when watched departures are below 30 or still-listed is 0 — that last case is the 100% hole, not a rate. Raw counts stay. We never label weekly turns as sell-through.

How is the buy-below price calculated?

Recent average asking price at the moment a listing left the shelf, for that specific model, minus the platform deduction we model for Vinted (5%), multiplied by 0.70 to target roughly a 30% margin. We do not observe the sale price itself — see "What does 'left the shelf' mean" below for why. Substitute your own fee figure if yours differs — the arithmetic does not care what the number is, only that you use the real one.

What does HIGH / MEDIUM / LOW confidence mean?

It is a band from data-quality score, comparable watched departures and snapshot recency — not a model guessing. HIGH needs at least 30 comparable departures. LOW always says how many comparables we have. LOW is not a SKIP.

Is the authenticity check a guarantee?

No. It is a confidence score, not a verification, and it never sees the physical item. It weighs how far the price sits below market, seller trust signals and listing patterns, then returns a 0-100 score with a band. It cannot authenticate anything and must not be treated as a guarantee. For anything valuable, use a professional authentication service.