Guide · updated
How these prices are collected
157,060 price observations from 4,657 locations. Here is exactly how they are gathered, what gets thrown out, and what these numbers cannot answer.
- size_price_inversion (warn) 3,807
- market_outlier (warn) 2,213
- intra_facility_ppsf (error) 150
- duplicate_facility (warn) 4
- facility_geo_outlier (error) 2
Where the data comes from
Public Storage publishes structured pricing on each location's own page, in the standard
schema.org format search engines read. We read the same published data, one
request at a time with a pause between them, only on paths the operator's
robots.txt permits. We do not create accounts, submit forms, or touch any
booking or account page.
What each figure means
Each listing carries an online rate and a regular rate. We store both. The online rate is promotional; the regular rate is what the unit reverts to, and it is consistently 1.5× the online rate — see the analysis. Tables label which is which. Neither figure includes insurance, administration fees, or taxes.
How locations are grouped
Locations are grouped into markets by distance — every location within 35 km (about a 30-minute drive) of the market centre, never crossing a state line. A market takes the name of its best-known city, and each market page lists the other places it covers. We use driving distance rather than official metropolitan boundaries because those are drawn on commuting patterns, which stretch much further than anyone hauls furniture.
What gets excluded
Every observation passes automated checks before it can appear on a page. Anything that fails is withheld rather than published, and the count is shown rather than absorbed: 292 observations are currently withheld.
| Check | Effect | Currently flagged |
|---|---|---|
| duplicate facility | published, flagged internally | 4 |
| facility geo outlier | withheld from pages | 2 |
| intra facility ppsf | withheld from pages | 150 |
| market outlier | published, flagged internally | 2,213 |
| size price inversion | published, flagged internally | 3,807 |
What never gets a page
Withholding a bad observation is one kind of exclusion. Declining to draw a conclusion at all is the other, and it is the larger one. A figure here is a median, and a median over two or three advertised prices is not a median — it is one branch, wearing a statistic. So there are floors, and below them we publish nothing rather than something shaky:
- A market needs at least 5 priced locations, and at least 3 unit sizes that clear their own floor. 1 market currently falls short and has no page.
- A unit size within a market needs at least 5 locations offering it.
The effect is bigger than it sounds. Across 170 published markets and 8 unit sizes there are 1,360 possible market-and-size combinations; 1,201 have a page and 159 — 12% — do not.
This matters when you find nothing. An empty result here does not mean the operator has no 10x25 in that city; it usually means it has a handful and we would rather say nothing than publish a median drawn from three prices. The bulk download carries the observation count behind every row, so you can apply a different floor than ours if you want one.
How to cite this
The figures are published under CC BY 4.0, so you may reuse them anywhere including commercially, provided you say where they came from. Two things belong in the citation and are routinely dropped: which operator, and when the prices were read. Without the first it reads as a market-wide figure; without the second it is quoted years later as current.
Storage Price Index, "Self storage advertised prices", Public Storage
online rates read 2026-08-31. https://storagepriceindex.comEvery page carries its own reading date beside its tables, and the bulk download carries one per row — use the row's date rather than this one if you are citing a single figure, because markets are re-read on different days as the crawl works through them.
How few is too few
Clearing the floor is not the same as being solid. A row drawn from nine advertised prices sits in the same table as one drawn from four hundred, and unmarked they look equally firm. Rows built from fewer than 11 prices carry an asterisk, and this is what it means.
The percentiles here are nearest-rank: the 10th percentile is the price standing one tenth of the way up the sorted list, not an interpolation between two of them. That choice is deliberate — an interpolated figure is a price nobody advertises — but it has an edge. Below 11 observations, one tenth of the way up the list is the bottom of it, so the 10th percentile and the cheapest price are the same number. Currently that is true of every single row we mark.
The consequence is narrow and worth stating plainly: on those rows the typical spread is the gap between the cheapest and dearest unit, not between the tenth and ninetieth percentile. It is the widest honest reading rather than the representative one, so treat it as an upper bound. Every other figure on the row — the median, the cheapest, the dearest — means exactly what it means everywhere else.
Hovering the asterisk gives the count for that row. Note that it counts prices, not locations: one branch often lists several units of the same size, so a row can show eight locations and rest on twelve prices, or nine locations and rest on nine. The bulk download carries the count for every row, if you would rather apply your own threshold than ours.
What these numbers cannot tell you
They are advertised rates, not quotes. Public Storage states its prices are not guaranteed and they move with availability. A rate shown here may be gone by the time you call.
They cover one operator. Some major competitors block automated access outright; others publish readable per-location rates that are not collected here yet. Either way this is a study of Public Storage, not of the storage market, and a cheaper unit may well exist next door under a different sign.
They do not adjust for what the unit is. A climate-controlled indoor unit and a drive-up metal unit are both sold as a 10×10, and part of any price gap you see is that difference rather than a bargain.
Prices are re-read weekly and stored append-only, so nothing is overwritten — the record of what a unit cost last month survives.