Most housing scores hand you one number and hope you trust it. We do the opposite. Every county is read across three gauges, each answering a different question, and this page shows you exactly how each one is built, down to the arithmetic. If you can read a nutrition label, you can read this. Worked start to finish for Erie and Niagara County, using the current published dataset.
A single housing number is almost always dishonest, because it tries to answer two different questions at once. “How competitive is this market right now?” and “Is this market heating up or cooling down?” are not the same question, and their answers can point in opposite directions. A market can be intensely competitive today and, at the same time, a little calmer than it was six months ago. Blend those into one score and you get a middling figure that misrepresents both.
Absolute answers “what is it?” Relative answers “what changed?” Two of our gauges are absolute: they use fixed lines that are identical for every county, so a 70 in Erie means the same thing as a 70 in Niagara. One gauge is relative: it measures a county only against its own recent history. We never let one number pretend to answer both questions.
Everything starts with six public housing figures published monthly by the Redfin Data Center for each county. Nothing here is scraped, guessed, or private. The six figures are the raw material for all three gauges:
| Figure | What it measures | Hotter when |
|---|---|---|
| Sale to list ratio | Final price versus asking price | Higher |
| Months of supply | How long to sell every active listing | Lower |
| Median days on market | How fast a typical home sells | Lower |
| Share sold above list | How often homes clear over asking | Higher |
| Off market in two weeks | Share of listings gone within 14 days | Higher |
| Inventory, year over year | Direction of supply versus a year ago | Lower |
Three of these run “backwards”: more supply, slower sales, and growing inventory all mean a cooler market, not a hotter one. The math accounts for that direction explicitly, as shown below. Each monthly reading is frozen when it publishes. Redfin revises its history over time, but a number we publish for a given month stays as published and is not quietly rewritten later.
Who has the power in this market, buyers or sellers? This is the classic buyer's market versus seller's market call. It is mostly a question of supply: when there are very few homes for sale relative to demand, sellers hold the leverage.
| Input | Weight | Why |
|---|---|---|
| Months of supply | 50% | The textbook definition of market balance. It is the spine. |
| Sale to list ratio | 30% | Leverage made visible in the final price. |
| Share sold above list | 20% | How often bidding pushes a sale over asking. |
We place each raw figure on a fixed 0 to 100 scale using anchor points. If a value lands between two anchors, we slide proportionally between them. This is called linear interpolation, and it is the same idea as reading a value off a ruler. These anchor lines never move and are identical for every county.
| Months of supply | score | Sale to list | score | Above list | score |
|---|---|---|---|---|---|
| 0.5 | 100 | 96% | 10 | 10% | 15 |
| 1.0 | 90 | 98% | 35 | 25% | 35 |
| 2.0 | 75 | 100% | 55 | 40% | 55 |
| 3.0 | 55 | 103% | 80 | 55% | 78 |
| 4.0 | 40 | 106% | 95 | 70% | 92 |
| 6.0 | 0 |
| Input | Erie raw | score | weight | Niagara raw | score |
|---|---|---|---|---|---|
| Months of supply | 2.2 | 71 | 50% | 3.0 | 55 |
| Sale to list | 106.9% | 95 | 30% | 103.6% | 83 |
| Share above list | 68.2% | 90 | 20% | 59.3% | 82 |
| Market Type | 82 | 69 |
Erie and Niagara are calculated from the current published dataset. This gauge is the fixed-threshold leverage read; it stays comparable across counties when next month is loaded.
Market Type tells you who has the leverage. This tells you how hard that leverage is being used right now: how fast homes sell, and how much buyers fight over each one.
| Input | Weight | Role |
|---|---|---|
| Median days on market | 35% | Speed. Fewer days is a faster market. |
| Share sold above list | 25% | Competition. Direct measure of bidding. |
| Off market in two weeks | 20% | Urgency. Listings gone inside 14 days. |
| Sale to list ratio | 20% | Competition confirmed in the final price. |
| Days on mkt | score | Above list | score | Off in 2wk | score | Sale/list | score |
|---|---|---|---|---|---|---|---|
| 5 | 100 | 15% | 25 | 20% | 20 | 98% | 28 |
| 15 | 78 | 35% | 50 | 40% | 45 | 100% | 50 |
| 30 | 52 | 50% | 65 | 55% | 62 | 102% | 66 |
| 45 | 32 | 68% | 85 | 70% | 80 | 105% | 88 |
| 60 | 18 | 80% | 95 | 85% | 95 | 108% | 98 |
| 90 | 0 |
| Input | Erie raw | score | weight | Niagara raw | score |
|---|---|---|---|---|---|
| Days on market | 10 | 89 | 35% | 14 | 80 |
| Share above list | 68.2% | 85 | 25% | 59.3% | 75 |
| Off market in 2wk | 66.2% | 75 | 20% | 62.6% | 71 |
| Sale to list | 106.9% | 94 | 20% | 103.6% | 78 |
| Speed & Competition | 86 | 77 |
Erie and Niagara are calculated from the current published dataset. This gauge moves more with the season because pace and competition change faster than the underlying leverage backdrop.
Is this market heating up or cooling down, compared to how it has behaved lately? This is the only gauge measured against a moving target, on purpose. Momentum has no meaning without a “compared to what.” Here, 50 means a typical recent month, above 50 is hotter than the county's own normal, below 50 is cooler.
| Input | Weight | Direction flipped? |
|---|---|---|
| Sale to list ratio | 25% | No |
| Months of supply | 20% | Yes |
| Median days on market | 20% | Yes |
| Share sold above list | 15% | No |
| Off market in two weeks | 10% | No |
| Inventory, year over year | 10% | Yes |
Step 1, smooth. One month of data is noisy, so we average the latest three months of each input. That is the trailing three month average.
Step 2, compare to the county's own recent normal. We ask how unusual this month is for this county by measuring it against the last 24 months of that same smoothed figure. The tool for this is a z-score: how many standard deviations above or below its own two year average the current value sits. For the three “backwards” inputs (supply, days on market, inventory growth) we flip the sign, because for those a high value is a cooling signal.
Step 3, put it on the 0 to 100 scale, then blend. Each z-score becomes a sub-score, then we combine them with the weights above.
For Direction, each input is first smoothed using a trailing three-month average, compared with that county's own trailing 24-month normal, converted into a z-score, and then placed on a 0 to 100 scale. Supply, days on market, and inventory growth are flipped because higher values are cooling signals. That is why a county can still be a seller's market while Direction shows cooling versus its own recent history.
| Sub-score | Erie | weight | Niagara |
|---|---|---|---|
| Sale to list | 52.1 | 25% | 55.9 |
| Months of supply | 11.8 | 20% | 7.6 |
| Days on market | 58.6 | 20% | 56.3 |
| Share above list | 56.3 | 15% | 53.7 |
| Off market in 2wk | 71.2 | 10% | 73.2 |
| Inventory YoY | 25.5 | 10% | 51.3 |
| Direction | 45 | 47 |
Erie and Niagara are calculated from the current published dataset. The verdict combines position and movement: below 42 is Below Normal, 42 to 57 is Near Normal, 58 and up is Above Normal; a month-over-month move beyond 1.5 points is labeled Rising or Falling.
Because every month is judged against its own recent history, Direction is not a thermometer. Erie has better raw numbers than Niagara yet a slightly lower Direction score, because Erie has cooled a little more from its own recent peak. That is not a contradiction. Read Direction next to the two absolute gauges, never alone.
To explain why Direction landed where it did, we group the six sub-scores into three plain-language drivers. They are not new math. They are the same six numbers, paired up, and the three of them add back up to the Direction score exactly.
| Driver | Erie score | Erie points | Niagara score | Niagara points |
|---|---|---|---|---|
| Market Speed | 63 | 18.8 | 62 | 18.6 |
| Over-Ask Pressure | 54 | 21.5 | 55 | 22.0 |
| Supply Tightness | 16 | 4.9 | 22 | 6.7 |
| Points sum to Direction | 45.2 | 47.3 |
The “score” column is on the same 50-is-normal scale as everything else. The “points” column is each driver's share of the headline number, and the three shares add up to the Direction score. The strongest and weakest driver language below updates from the current dataset.
Erie and Niagara use the exact same inputs, the exact same weights, and the exact same threshold lines. We do not tune the formula per county. Tuning weights to make a particular market look a particular way would mean fitting the model to the answer we wanted, which is the opposite of credible. Same formula, different readings, is precisely what lets you set an Erie number beside a Niagara number and trust the comparison. When two counties differ, it is because the markets differ, not because we moved the goalposts. Every number on every report is produced by a single shared calculation engine reading a single shared dataset, so a report and this page can never disagree.
Absolute gauges tell you where each market is and are comparable across counties. Direction tells you which way each is moving and is each county against itself. Here is the full picture.
The current Erie and Niagara comparison loads from the shared county dataset.