Recent Sold House Data in San Jose, Scraping from

Posted on Nov 27, 2018

House marketing is going crazy these years, especial in the Bay area where you can’t get a house for under a million dollars. For new home buyers, it’s important to understand what’s behind the local housing market.  A typical city in the area like  San Jose can offer generally applicable insights for real estate. The objective of this project is to analyze the house market in the San Jose area and provide suggestions tailored to the new buyer’s requirements.


Why is a website that lists all recent sales as well as the houses currently on the market. Buyer can search for new houses or review sold houses on this website, but there is no summary to show how the house market going. Thus, the goal for this project is to provide a summary of the sold houses and show how house price relates to other house features.



I divided this project into four parts: data scraping, data cleaning, data engineering and data visualization.

I used beatifulsoup, Xpath and css to relocate and scrape the data from Then used R package dplyr to remove incomplete data and clean dirty data. After that, I did some data engineering to generate new features, transfer data into the desired format and analyze those data. The last step is to visualize the data and present a clear summary.



We Scraping

In the data scraping, I used skills like beautifulsoup, Xpath and css to relocate and scrape the information from the  One challenge in this project is that there are about 50 house links in each page of the website and about 70 pages. I need to make sure I can extract all the house link from the pages and go to next pages when finished.


The above script allows me to locate the next page link and enter it when current page finished.

Since the web information is not quite same in each house page, another challenge is to make sure I got correct and same information for each house. This can be solved by finding the format of the web and search for specific value format.


Data Cleaning & Engineering

The data from the has lots of missing value. I filled in with median value in it’s group. For example, the missing area for the house is filled in median value at the same structure. Most data cleaning is done by the dplyr package in the R.

More features are also introduced to make the data more sense and more understandable.

After data cleaning on houses sold between June 11 and November 19, 2018, I had 1392 houses and 23 features.


Feature correlation

When I analyzes the house market, the first question I want to know is: which feature related to the house price most? Below is a correlation graph that shows the correlation between price and other numeric features.

No surprise, house price most correlate with house structure (bath, beds, area). The relationship with school also show up here. There is a 0.41 correlation rate with minimum school rate, which means a higher school rank contributes to a higher house price.

Another point we can notice is that built year negatively correlates with the house area and lot area, which means old house tend to have large area. So someone with a big family or who want to have a garden  may need to considerate older houses.


Zip code vs Price


Traditionally, the three factors that matter most in real estate are said to be“Location, location, location!” Below is a bar chart shows the total amount of house been cold in each zip code. The black point line is the median price/ft, and the blue line is the average school rate for each zip code area.

We can see that the most popular area is the 95123, possibly because the price/ft is below average with an average school rate. That may make the area appealing to young people who don’t have much money and are not so concerned about schools.

Price increase

I believe the most important things people care about is will  house that will retain its value. The graph above showing the median price change from June to Nov for different property types. We can see that condo, multi-family and single-family home price are pretty stable, mostly within the range of 500K to 1.5 M. The highest house price is the multi-family property, and the lowest is the mobile home.


In summary, the analysis does prove that house price is related the house structure and school rate. And if you want to buy a new house, it might be a good chance to buy it now because the house price is pretty stable these past  6 months. Other information about relative pricing like like house in area 95123 is the most popular one because the low rate and average school rate, 2B3B is the house structure has the highest increase rate and 95133 area increase rate around 0.25 in this half year, can also help buyers better find their target.

Future extension of this project can  include a house price forecasting base on several features, so the seller can better price their house and the buyer be more informed about the market pricing when placing a bid. 

About Author

Leave a Comment

No comments found.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp