Skip to content
Can I Own a Home?

Our models

How good is our price model?

We trained five models on 22,507 Houston-area listings (June 2024) to estimate what a home like each one usually lists for. Here are the real results, including where Zillow's own estimate, the Zestimate, beats us.

Head to head

Our model vs Zillow's Zestimate

Both are scored against the same 21,106 homes that have a Zestimate. Each of our estimates is out-of-sample: made by a model that never saw that home.

Our typical error

6.7%

Half of homes are off by less than this

Zestimate typical error

3.1%

Same homes, same measure

Our average miss

$54,773

R² 0.89

Zestimate average miss

$17,733

R² 0.99

Zillow's Zestimate is clearly more accurate. It misses by about $17,733 on average; we miss by about $54,773. We are not claiming to beat it.

That makes sense. We only use what is in the listing file (size, location, home type, new construction, county assessed value). We have no year built, condition, photos or sale history, and Zillow has far more data and years of tuning.

One caution: these are homes currently for sale, and a Zestimate for a listed home may already take the asking price into account. If it does, this comparison flatters it. We cannot tell that from the data, so read the gap as an upper bound on Zillow's lead.

What we add is not a better estimate. It is what we do with one: check the fair price against the asking price, warn about flood-prone zips, and tie it all to what a household can afford.

Model comparison

Which model did best?

Average dollar miss for each model on all 22,507 homes, using 5-fold cross-validation (shorter is better). The three tree models cut the miss by about 38% compared with the simple baseline.

  • Ridge (baseline)Simple linear baseline$91,495
  • LightGBM (tuned)Tree model, best of 4 settings$57,367
  • XGBoostTree model$57,862
  • CatBoostTree model$60,131
  • EnsembleAverage of the three tree models: our final model$57,146
View as table
Model comparison
ModelAverage missMedian errorAverage errorR²
Ridge (baseline)$91,49512.2%16.9%0.73
LightGBM (tuned)$57,3676.6%10.1%0.87
XGBoost$57,8626.7%10.2%0.87
CatBoost$60,1317.4%10.8%0.87
Ensemble (LGBM+XGB+Cat)$57,1466.7%10.1%0.88

Where it works

Error by price range

Typical error (median, as a share of the price) in each price range. Both models are weakest at the cheap end, which is where buyers on a tight budget shop. Our weakest range is under $200,000, so treat bargains there with extra care.

  • Our model
  • Zillow Zestimate
  • Under $200k1,474 homes12.5%6.5%
  • $200-300k4,264 homes6.0%3.6%
  • $300-450k7,712 homes5.6%2.9%
  • $450-700k4,973 homes6.8%2.7%
  • Over $700k2,683 homes10.7%3.9%
View as table
Typical error by price range
Price rangeHomesOur typical errorZestimate typical errorOur average missZestimate average miss
Under $200k1,47412.5%6.5%$27,148$9,031
$200-300k4,2646.0%3.6%$22,334$9,485
$300-450k7,7125.6%2.9%$28,503$10,954
$450-700k4,9736.8%2.7%$52,616$15,809
Over $700k2,68310.7%3.9%$201,010$58,676

Predicted vs actual

How close are the estimates?

Each dot is a home: its asking price across, the estimate up. A dot on the dashed line was estimated exactly. A tighter cloud around the line is a better model. Random sample of 1,200 homes; 36 above $1.5M are off the chart.

  • Our model
  • Zillow Zestimate
Our model
$0$0$500k$500k$1.0M$1.0M$1.5M$1.5MAsking priceEstimate
Zillow Zestimate
$0$0$500k$500k$1.0M$1.0M$1.5M$1.5MAsking priceEstimate
View as table
Accuracy summary on the same homes
Average missMedian errorAverage errorR²
Our model$54,7736.7%9.9%0.89
Zillow Zestimate$17,7333.1%3.5%0.99

Inside the model

What drives the price?

How much, on average, each factor moves a home's estimated price up or down. Size matters most, then the county's assessed value and how expensive the zip usually is.

  • Living area±24.6%
  • County assessed value±11.3%
  • Typical price per sqft in the zip±7.3%
  • New construction±5.2%
  • Lot size±5.1%
  • Home type±3.5%
  • Distance to the Galleria±2.9%
  • Bathrooms±2.8%
View as table
What drives the price
FactorTypical swing in price
Living area±24.6%
County assessed value±11.3%
Typical price per sqft in the zip±7.3%
New construction±5.2%
Lot size±5.1%
Home type±3.5%
Distance to the Galleria±2.9%
Bathrooms±2.8%
East-west location±2.0%
North-south location±1.4%
Distance to downtown±1.3%
Bathrooms per bedroom±0.9%
Number of listings in the zip±0.9%
Distance to Medical Center±0.8%
Days on market±0.7%
Flood claims in the zip±0.6%
Bedrooms±0.5%

Read this

What these numbers do and don't mean

  • The models learn asking prices, not final sale prices. "Fair" means what similar homes list for.
  • They cannot see condition, age, photos or the street. A cheap home may be cheap for a real reason.
  • The data is one June 2024 snapshot, so prices will have moved.
  • A "Real bargain" needs all three tree models to say the asking price is at least 10% below fair. That cuts noise, but it is still a screening tool, not a verdict.
  • Accuracy is measured out-of-sample with 5-fold cross-validation, so the numbers are not flattered by memorizing the data.