How the Rent Check works
The Rent Check answers one question: for a flat like yours, are you paying a fair price?
You give us four things — city, area (a district or city-wide), number of rooms, and your monthly rent. We compare your number against the asking rents of comparable listings and hand back a percentile, a fair range, and a plain verdict. No account, no catch.
This page explains exactly how that verdict is calculated and what each number means. We'd rather show our working than ask you to take the figure on faith.
The short version
- For each available city × area × room-count combination, we fit a distribution to measured asking rents. City-wide checks use the city aggregate; district checks use only that district.
- We work out what share of comparable flats rent for less than yours. That share is your percentile.
- We report the middle 50% of the market — the 25th to 75th percentile — as the fair range.
- We tell you the sample size behind that estimate, so you know how much weight to give it.
If your rent sits inside the fair range, your rent is within the middle half of comparable asking prices. Below it, you've done well. Above it, you're paying a premium — which may be justified (great flat, great location) or may just be a premium.
The model, in detail
Rents are lognormal, not normal
Rent prices don't spread out symmetrically. There's a hard floor — nobody rents a flat for negative money, and very little rents for near-zero — but no real ceiling, so a few luxury flats stretch the top end a long way. That produces a distribution that's bunched on the left and has a long tail to the right.
The standard, well-behaved way to model that shape is the lognormal distribution: a distribution where the logarithm of the price is a normal (bell-curve) distribution. It's the same model used across economics and real estate for prices, incomes, and city sizes, for exactly this reason. Using it instead of a plain bell curve stops the maths from doing silly things like implying negative rents or treating a 20,000 PLN penthouse as evidence the "average" flat is wildly expensive.
Each rent segment is described by two numbers:
- Median — the middle rent. Half of comparable flats cost more, half cost less. We lead with the median rather than the mean (average) because a handful of luxury listings drag the mean upward and make a normal flat look like a bargain by comparison. The median is the honest "typical" number.
- Sigma (σ) — how spread out the segment is, measured on the log scale. Low sigma means rents in that segment cluster tightly around the median (a uniform building stock); high sigma means a wide mix of cheap and expensive flats under the same label (a district that's gentrifying unevenly, say). Sigma is what makes two districts with the same median feel completely different to rent in.
Together, median + sigma per city / district / room-count fully describe the segment. Everything else — your percentile, the fair range — is read off that.
Your percentile
Percentile = the share of comparable flats that rent for less than yours.
If your Rent Check comes back at the 70th percentile, it means roughly 70% of comparable flats rent for less than you're paying, and 30% rent for more. Higher percentile = you're paying more than most. Lower = you're paying less than most.
"Comparable" is doing real work in that sentence. It means same city, same district, same number of rooms — not every flat in Poland, and not every flat in your city. We compare like with like, because a 2-room flat in central Kraków and a 2-room flat in a Gdańsk suburb are not the same market.
The fair range (p25–p75)
The fair range is the 25th percentile to the 75th percentile — the interquartile range, the middle half of the market with the cheapest quarter and the priciest quarter trimmed off.
We use the middle 50% rather than a single number because "fair" was never one exact figure. Two identical flats can rent for meaningfully different amounts depending on floor, furnishings, the landlord's mood, and how fast they needed a tenant. The fair range is the band where a reasonable price lives. Inside it, your rent is unremarkable. Outside it, something is worth a second look — in either direction.
Sample size (n)
Every verdict carries an n — the number of comparable observations behind that segment's estimate. This is the single most important honesty signal on the card.
- Larger n gives more observations, but does not remove listing-selection bias or differences in flat quality and fees.
- Small n makes the estimate less stable. Treat exact percentiles as directional.
- Unavailable segments receive no verdict. The pipeline publishes cells with at least five observations; it does not automatically widen the range or attach a confidence score when n is small.
Where the data comes from
The pipeline reads asking rents from Otodom, OLX and Morizon through a residential proxy, removes duplicates and aggregates listings seen in the previous 14 days. It fits a lognormal distribution after outlier trimming. A nightly run is scheduled; the published date shows the snapshot actually serving.
Every available cell carries its median, spread (sigma), sample size and date. Room count follows Polish listing conventions: two rooms usually means a living room plus one bedroom. City and district cells overlap, so adding their sample sizes double-counts some listings.
The open API serves dated aggregates. It does not expose individual listings, real-time inventory, lease records or a student-area filter.
Honest limitations
A few things the Rent Check cannot see:
- Quality and condition. We compare on city, district, and room count. We don't (yet) know if your flat is freshly renovated or hasn't been touched since 1989. A high percentile might simply mean you're renting a genuinely nicer flat. Read the verdict with your own eyes on the flat.
- What's included. Rent figures don't all treat utilities, building fees (czynsz), and parking the same way. A "high" rent that bundles everything can be cheaper in practice than a "low" rent plus surprises.
- Asking vs. paying. Public listings show asking prices. Signed rents may differ. Rent Check compares your input but does not persist it as a verified tenant-paid observation or add it to the rental dataset.
- Thin and fast-moving segments. Rare flat types and rapidly changing districts are the hardest to estimate and the most likely to be off. The n is your warning light.
- Precision vs. direction. Treat exact percentages as directional, especially in thin segments: a strong signal (you're 40% over) is worth acting on; a marginal one (4% over) is within the noise. The n is your guide.
If a verdict looks obviously wrong for a flat you know well, it might be — and we want to hear about it. Real corrections from people on the ground make the model better.
Licensing
The underlying rent data — medians, spreads and samples per available segment — is published as an open dataset under Creative Commons Attribution 4.0 (CC-BY 4.0).
That means you're free to use it, including commercially, as long as you credit PolandRent with a link back. Quote a number in an article, drop a chart in a report, build something on top of it — go ahead. Attribution is the only ask, and it's what keeps an open dataset open. For programmatic access, see the API.
Citing this data
The dataset is archived on Zenodo with a permanent DOI, so a citation stays valid even as the figures update:
PolandRent (2026). Poland Rental Market Medians [Data set]. Zenodo. https://doi.org/10.5281/zenodo.21892638
That concept DOI resolves to the latest archived edition, which may lag the live API. Check the date on each edition. Periodic exports, including monthly history, are also mirrored on GitHub.
The Rent Check is informational, not financial or legal advice. It tells you how your rent compares to the market — what you do with that is yours.