Opendoor’s algorithm

The secret sauce behind Opendoor pricing model

“It amazes me how people are often more willing to act based on little or no data than to use data that is a challenge to assemble.”
 — Robert Shiller

Homes are the most expensive possession the average American has, but they are also the hardest to trade. It is difficult to sell a house in a hurry when someone needs the cash, but Machine Learning could help solve that. Keith Rabois, a tech veteran who served in executive roles at PayPal, LinkedIn, and Square, founded Opendoor to solve this problem. His premise is that hundreds of thousands of Americans value the certainty of a sale over obtaining the highest price. Opendoor charges a higher fee than a traditional real estate agent, but in return, it provides offers for houses extremely quickly. Opendoor’s motto is, “Get an offer on your home with the press of a button.”

“Get an offer on your home with the press of a button.”

Opendoor buys a home, fixes issues recommended by inspectors, and tries to sell it for a small profit. To succeed, Opendoor must price the homes it buys accurately and quickly. If Opendoor prices the home too low, the sellers have no incentive to sell their house through the platform. If it prices the home too high, then it might lose money when selling the house. Opendoor needs to find the fair market price for each home.

Real estate is the largest asset class in the United States, accounting for $25 trillion, so Opendoor’s potential is huge. But for Opendoor to make the appropriate offer, it must determine the price of each house with all the information it has about the house that is being sold. Opendoor focuses on the middle of the market and does not make offers on distressed or luxury houses because their prices are not predictable.

Opendoor builds programs that predict the price of a house. It does that by analyzing features that a buyer in the market would think about, and then it teaches its models that. Opendoor does that by analyzing three main factors:

  • The qualities of the home;
  • The home’s neighborhood; and
  • The prices of neighboring homes over time.

If you were to tell someone that you are selling a 2,000-square-foot home in Phoenix with two bathrooms and four bedrooms, can the buyer give a price? No, they cannot. The buyer has to see the home. Similarly, the Opendoor model needs to determine a house price from hard data and turn that into something that is machine-readable and algorithms can analyze. So, Opendoor also takes pictures of the house so that it can analyze more than the number of bedrooms and other features. Pictures show more qualitative and quantitative data compared to the number of rooms.

Pictures inform Opendoor about quantitative information like is there a pool in the backyard, the type of flooring, and the style of cabinetry. But other features are also important to price a home, and they are much harder to identify. For example, is the look and feel of the house good or what is the curb appeal of the house. Pictures fill in the details to the raw facts. While these characteristics are present in pictures, not all of them are easily identifiable by algorithms. Opendoor identifies these characteristics using both Deep Learning to extract some of the information into machine-readable information and also crowdsourcing, meaning using large numbers of people, to do some of the work. Opendoor needs crowdsourcing for the qualities that are less quantifiable in order to turn these visual signals into structured data.

After that, Opendoor takes the data and analyzes it, adding other factors, like which neighborhood the house is in and its location in that area. But that is not easy either because even if houses are close to each other, their prices vary depending on many other factors. For example, if a house is too close to a big highway that is noisy, then the price of the house might be lower than a house in the same neighborhood but farther from the highway. Or, a house located next to a football field or strip mall can affect the price. Many things impact a home price, but the first stage is trying to identify the price of a home.

The next stage is determining the price of a home across time. The same home has a different price depending on when it is sold. So, Opendoor needs to identify how prices change over time. For example, before the bubble of 2008, home prices were extremely high, and after the bubble burst, prices plummeted. Opendoor must figure out what the price of a home should be depending on the time when sold.

Price changes over time. The redder the dots are, the more expensive the houses.

The first image shows the price of the homes in a normal market. The second image presents the prices of homes in Phoenix right before the housing bubble exploded. And, the third image depicts the prices of homes right after the housing bubble exploded.

Opendoor not only needs to think about price but also market liquidity, i.e., how long it takes on average for a home to sell in a certain market. How willing is the market to accept a home that Opendoor is about to buy and resell? Opendoor has to price the risk it takes when making an offer. Liquidity affects how many houses it can buy in a certain period and how much risk it is taking on. The longer it takes for a house to sell, the higher the risk. The more the price can vary, the worse it is for Opendoor because it wants to pay a fair price for every single house.


Other competitors are catching up and offering similar services, which benefits customers. For example, in 2018, Zillow started offering a service to buy homes with an “all-cash offer” only with the customer entering the information about the home, including pictures. Zillow predicts the price of these houses with the help of Machine Learning.