Machine learning · UC Berkeley DATASCI W207

What does an Airbnb in Los Angeles actually earn?

We merged 35,870 Los Angeles Airbnb listings with Zillow neighborhood home values, then compared four modeling approaches to predict each listing's estimated annual revenue.

Kala Fejzo, Kevin & Hubert View code on GitHub →
35,870
listings after cleaning
264
neighborhoods
median est. annual revenue
0.455
best test R² (neural net)

Where the listings are, and what they earn

A random sample of listings across the LA basin, colored by estimated annual revenue. Hover a dot for details.

Revenue is extremely right-skewed

Number of listings by estimated annual revenue, in $10K bins

Almost half of all listings earn under $10K a year, while the mean ($23K) is pulled up by a long tail. That's why we trimmed the 1st and 99th percentiles before modeling.

Room type matters

Median estimated annual revenue by room type

Entire homes make up 77% of listings and earn about 2.6× more than private rooms.

Top-earning neighborhoods

Median estimated annual revenue, neighborhoods with at least 75 listings

Avalon (Catalina Island) earns about 3× more than any other neighborhood. Beach cities and the Santa Monica Mountains fill out the rest of the top five.

Pricier neighborhoods don't mean higher Airbnb revenue

Each dot is a neighborhood with a Zillow match and ≥30 listings: median home value vs. median estimated annual revenue

Neighborhood home value correlates only weakly with revenue (r = 0.14 across 120 neighborhoods). Listing-level factors like price, availability and room type carry far more signal.

Model comparison

R² on the held-out test set (higher is better)

explains varianceworse than predicting the mean

Error by model

Test-set error in dollars of annual revenue

ModelMAERMSER²

The neural net trained on all features roughly halved MAE compared to the tree ensembles, to about $10.8K per listing.

Where the best model works, and where it breaks

Neural net test R² by listing price tier

The model is strong for mid- and high-priced listings (R² 0.75–0.83) but fails on the top tier. Luxury listings are rare and volatile, which points to a separate model for that segment as the next step.

How we built it

Define the target

Estimated annual revenue = nightly price × (365 − available nights), from Inside Airbnb LA listings.

Clean & trim

Parsed prices, dropped invalid rows, removed the 1st/99th percentile tails and minimum stays over 365 nights.

Join Zillow

Exact, partial, city-level, then fuzzy name matching linked 76% of listings to a neighborhood home value. The rest were median-imputed.

Model

Scaled numeric + one-hot categorical features. Compared linear regression, random forest, gradient boosting and tuned neural nets on MAE, RMSE and R².