Data Scraping Recently Sold House Data in San Jose
The skills the author demoed here can be learned through taking Data Science with Machine Learning bootcamp with NYC Data Science Academy.
Data shows 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.
Realtor.com 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 Realtor.com. 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.
Data Web Scraping
In the data scraping, I used skills like beautifulsoup, Xpath and css to relocate and scrape the information from the Realtor.com. 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 Realtor.com 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.
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.
Data on 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.
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.