How We Measure Hotel Prices

Last updated: August 4, 2026

VerifiedStays publishes hotel price statistics for individual cities: the median, lowest and highest nightly rate, how many properties were sampled, and how the median has moved. This page explains exactly how those figures are produced, so anyone quoting one knows what it measures — and what it does not.

Where the data comes from

Every figure comes from live hotel searches run against our partner booking sites — the same inventory and the same rates a traveler sees when booking. Nothing is modeled, licensed from a third-party dataset, or carried over from a previous week. When a capture fails we store nothing: the last good snapshot keeps serving the page, and no zero or filler value is ever written.

The fixed basket

Comparability requires holding the search constant, so every city is priced on the same basket: 2 adults, 1 room, a Friday-to-Sunday weekend stay about 30 days ahead of the capture date. Rates are per night in US dollars, before taxes and fees, taking each property's cheapest available rate at the moment of capture. The basket never changes between cities or between weeks — that is what makes one week's median comparable to the next.

Refresh cadence

Cities are re-priced on a tier: the best-covered cities once a week, the rest once a fortnight, with each tier's cities spread across the days of its cycle so a run captures a slice of the list rather than every city at once. Every capture is stored as its own dated snapshot instead of overwriting the last one. A price page therefore shows the most recent snapshot, a month-by-month rollup of the snapshots behind it, and the date that data was captured. The date on a price page is always the capture date of that city's own data — never the date the page was built or deployed, and never the tier it sits on.

Minimum sample size

A city's price page is published only when its most recent capture found at least 15 priced properties. Thinner captures are still stored — a thin market is a real measurement and worth tracking — but the page stays unpublished and out of the sitemap until a capture clears the bar. That check runs against the latest snapshot on every capture, so a city starts publishing as soon as its data improves and stops if it thins out again, with no list edited by hand.

Why thin samples are not estimated

A city that does not clear the minimum simply has no price page. We do not interpolate from nearby cities, blend in older captures taken on a different basket, or publish a number with a caveat attached. A median drawn from two properties is not a market rate, and presenting one as a statistic is exactly the failure this rule exists to prevent. Coverage grows on its own as captures succeed; no city is added or removed by hand.

Why trends appear late

Trends, month-to-month comparisons and every other change-over-time claim wait until a city has at least 3 stored snapshots; until then its page shows current statistics and nothing that implies a direction. After that, month-over-month change is shown only when a stored snapshot at least 21 days older than the latest one exists for that city. Two captures a week apart cannot describe a monthly movement, so a newly covered city shows no percentage change for its first few weeks. When a trend does appear, it compares the latest median with the stored snapshot closest to 30 days earlier.

What the numbers mean

Corrections and citation

Every statistic on the site traces back to a single stored, dated snapshot, so any figure can be checked against the capture it came from. If a number looks wrong, or you want to cite one and need the capture date, get in touch through our about page.

Price statistics live on each city's price page, linked from that city's hotel pages — start from the hotel comparisons index or read the about page for how VerifiedStays makes money.