The Stack That Helped Opendoor Buy and Sell Over $1B in Homes
stackshare.io
stackshare.io
If Opendoor works out how to quickly vacate the newly-bought property, then automate much of the project coordination activity that is done to flip the property by automatically scheduling and bringing in contractors and inspectors, that could lead to some really interesting returns. Even if the sprucing up is not to flip for huge amounts, just the usual repairs and freshening changes, combined with an empty house to show, could easily lead to semi-automation of a buy-low sell-high, high-volume business of conveniently buying a lived-in house, and selling a nice-looking, nice-smelling, high-curb-appeal house for much higher than the original property owners could bring. Automate the scheduling of staging and unstaging, and goose the numbers even more. I can see all sorts of other follow-on monetization streams from this simple change in the process you guys introduced, thanks for the thought-provoking write up, I look forward to reading much more about your successes in the future.
http://www.housingwire.com/articles/39523-home-flipping-hits...
House flipping is about finding underpriced houses (either by having a sharp eye, or by buying distressed houses), and then optimizing the amount of money invested vs. the return.
Opendoor is much more focused on the customer experience, trying to give fair offers to every home - everyday homes, not distressed ones. We typically don't spend very long renovating our homes. We'd rather reinvent the buying and selling experience itself, and do a larger number of transactions.
More info: https://www.opendoor.com/blog/flipping-the-real-estate-indus...
Flippers traditionally do benefit from a rising market because of longer hold times.
There are many types of 'house flipping' and most of the differences are just various shades of grey.
For illustration purposes:
At one extreme: Focus on buying dramatically undervalued assets, putting in minimum work and reselling. (Do this using lots of people labor in looking for deals.) - IMO, this is the only way to make money consistently flipping
At the other extreme: Buy houses, put dollars in to them and acheive an ROI (lots of people labor in rehab). This is what you see on "house flippers" or other TV based flipping shows. Typically these systems work when the market is appreciating, but the value the 'flipper' puts in is really questionable vs the market appreciation. Most of the people that do this strategy eventually end up getting hammered in a downturn.
Opendoor is basically disrupting the first group. They are using a quantitative process (automated valuation models), then overlaying a fundamental process on top (having someone look at the data to make sure it makes sense.) That is how they make sure they are buying undervalued assets.
The disruption happens because they are eliminating the huge amount of man hours it takes to find undervalued deals, by paying slightly more, and building a good brand and well as fine tuning their marketing channel.
At the end of the day, a certain percentage of people need to sell their house very, very quickly and OpenDoor will be able to pay more than flippers in the first extreme so they will gain a ridiculous amount of market share.
Downside risk: The risk is that they need to scale their operation so large to get economies of scale that when a downturn happens, they are too top heavy and end up getting financial destroyed. Many people may also assume that they could systematically missprice houses (pay too much), but I doubt that is a real risk.
>Opendoor is much more focused on the customer experience, trying to give fair offers to every home - everyday homes, not distressed ones.
So do you think that this response is being a bit coy and they are in fact buying deeply discounted homes?
Also, I guess I don't understand where they actually make money. If someone is unable to sell a home for a long period of time and then sells it to OpenDoor, why are they able to then turn around and sell it for more? In this very thread they attest that they're not flippers because they're not adding much real value to the home.
Opendoor: Targets sellers that want to sell quickly without any hassle.
Flippers: Targets sellers that want to sell quickly without any hassle. Some of them are distressed. Some of them are just in a hurry.
There really is no real distinction. How they make money is clearly laid out on their website. They buy for low, sell for higher than the bought. I believe they also cut out realtors.
I'm all for paying $2 for convenience if coffee on the run. Not sure I would pay $20k to save a few hours work around selling a house.
If getting an agent on your own cost 5%-6%, and opendoor is charging 12%... you are losing 6-7% by using opendoor. That is a LOT of money.
I wish real estate agents commissions where tiered. 1% for selling at market rate but 10% for anything over the market.
> Also, I guess I don't understand where they actually make money.
Sorry for not being more clear on that. When we make an offer on a home, we present a headline price ("we think your home is worth $X"), and an upfront fee for our service (6-12% depending on our estimation of the risk, where traditional real estate fees are 6%).
We try to make the fee as transparent to our sellers as possible, so they can make a fully informed decision.
I will buy your house immediately. The way I can do it is to offer you a lower price than you can get if you wait to sell it. Here is my offer for 88% of what your house is worth.
If they wanted to change their pitch it would be...
I buy houses from people. I can close right away, but I need to charge you a 12% fee for a fast closing. That really only costs you 6% because you dont have to hire a broker.
Economically, they are the exact same pitch. There is nothing wrong with either approach. I do understand you not wanting to be associated with flippers, but the reality is hard to argue against.
If you consider holding costs of a home, prepping to sell, etc Opendoor is often at or below cost parity for a segment of sellers for a dramatically better experience.
> We typically don't spend very long renovating our homes. We'd rather reinvent the buying and selling experience itself, and do a larger number of transactions.
I think we're getting a bit hung up on definitions in this thread. We do flip houses, in that we buy them and then resell them right away. But in real estate, the connotation of a "flipper" is someone who's either (1) really good at identifying underpriced houses, or (2) really good at getting return on investment (ROI) through renovations. One of the best ways to identify underpriced houses is to take advantage of people who are down on their luck and need to sell fast, so many people also think of "flippers" very negatively.
Opendoor's model isn't based on finding underpriced houses or renovation ROI. We charge a fee (transparently and upfront) for the service of buying your home and taking on the risk of selling it. Our goal is to make that fee as small as possible, and to provide our services to as many people as possible.
We're not trying to make huge amounts of money on every transaction. We're trying to do a lot of transactions, at a fair price.
Because of that model, it's very important that we (1) have access to a lot of capital, and (2) renovate and resell the property quickly, so we can put the money to use again.
the short term model is predicated on managing inventory like a retailer and diversifying holdings like a trader. mastering both functions, let alone one, is very challenging, but far from impossible. if opendoor can acquire data and predict transactions better than competitors, the mountain top becomes eminently more climbable. from a portfolio perspective, the early stages are actually the least risky because opendoor can cherrypick the best real estate markets, and within those markets, cherrypick the best homes, where "best" means the properties most likely to sell quickly and profitably.
the long term vision has not been articulated, but it seems like opendoor could grow into a platform for homes much like amazon is a platform for consumer goods. opendoor would provide the buyers, product guarantees (e.g., home inspections passed), the open house experience, and predictive analytics (e.g., home X has a 80% chance of turning over in 30 days if priced at $1M) while others manage financing and inventory risk. if this conjecture is right, look for opendoor to (a) lower prices and (b) streamline real estate transactions with automation where possible and where not possible, to empower untrained (i.e., cheap) individuals with computer vision and smart software to perform tasks like certified professionals. if neither happens, consider the conjecture wrong. :)
On a tangential note: empowering untrained individuals is important, but we often do the opposite too. Many of our internal tools are designed to make trained professionals/experts as efficient as possible.
For more speculation on Opendoor's business and where we might take it, I think Stratechery has a good writeup. https://stratechery.com/2016/opendoor-a-startup-worth-emulat...
what will be super interesting to watch is how the market size (i.e., annual real estate transactions) changes in response to reduced friction. historically, disruptive technology like uber widens the market substantially because it unlocks all this demand artificially suppressed by friction. because of opendoor and similar startups, will transaction volume increase by 10%? 50%? 200%?
opendoor is the classic VC investment: huge upside with controllable, sane risks.
Otherwise it's just a list that doesn't have much connection to the $1B part in the title.
Happy to answer any more questions about it.
Would you be willing to share an email so i can ask you a couple of questions if appropiate?
It's mentioned that the "projected cost" logic outgrew Rails, but there's no mention of what that microservice eventually wound up running. I'm curious what you had success with.
FYI, the title of https://www.opendoor.com is: "Opendoorflexible-dateno-repairopen-houseonline-processfair-inspectionfast-closinghome-readycustomer-supportfair-offertransparency | Sell your home the minute you're ready.", which looks like a mistake to me. Probably need to add another test ;)
Most of the time other engineers on your team will review your code, but often engineers will pop across teams and doing code reviews if they have the time and the context. One change we've made is moving towards tagging a few engineers who might have the right context when you submit the PR.
Thanks for the tip about the title; will take a look!
Give it a try!
Here's the text:
"While effective in your goal of creating Brand Recognition of 'Open Door' please be informed that the blitz campaign with the radio ad featuring the sound of a doorbell ringing, followed by the company name, 'Open Door,' was one of the most unabashedly Pavlovian ear-worm manipulation techniques I can recall. It almost makes 'Head On - apply directly to the forehead' look like high art. DING DONG - OPEN DOOR! DING DONG - OPEN DOOR!
Because of this tactic, I will never, ever reflect upon the brand of Open Door with anything but disgust. Yeah, you got market share, good for you. How you did it, however, makes me want to puke."
It might sound extreme, but I have a sensitive brain. That goddamn commercial was everywhere. And terrible.
I'll take fault for letting that through review; I got your email the first time it went live. I learned a lot from it, as did the team.
Glad you've decided to take a more mature tack in advertising, but as we all may well know, you only get one chance at a first impression. As such, I don't intend to brow-beat you or your team, just let you know that certain choices have consequences. That commercial was essentially a landmine and if shrapnel happened to take off a limb or two of yours in the process, I hope it's a good learning experience.
Like most companies, we used an agency and gave them a brief containing benefits we want to convey, which they turn into a script and produce. We learned that getting closer to the ads is quite important. We don't work with that agency anymore.
Within your MVP how did you handle authentication between your Angular apps and your Rails backend? I know you implemented Paladin to handle auth between your new microservices but I'm curious what auth looked like in your MVP.
Thanks!
When we first started we used a pretty vanilla version of Devise. The angular application just used session based auth. The easiest way to get the MVP happening was to have Rails generate the landing page of the SPA so we got sessions for 'free'. As we started to add more options for authenticating to the application to handle micro-services and our mobile application we took advantage of Warden/Devise and implemented a custom strategy for handling JWT authentication in addition to the regular session based strategy that comes out of the box.
The JWT authentication is Guardian compatible since we use Guardian to drive Paladin. It was a relatively straight forward addition with Warden/Devise to provide authentication based on either strategy which allows us to take advantage of these different schemes with minimal updates to our core application.
I use Devise most of my Rails apps, so in my ApplicationController I have `before_action :authenticate_user!`.
Did any of your frontend Angular apps send/request data to a Rails controller? If so, did you have to configure your Angular requests to send the session cookie so it would pass the Devise auth? This is the part that I don't quite understand yet.
In my next side-project I want to continue using Rails for the backend and scaffolding for most pages but I have a small React app that I want to include as well (keeping track of stats for a basketball game). But I'm not really sure what's the best way to go about authorizing whether or not the user has the permissions to upload data to a specific profile. I've only ever used Rails/Devise and all user input occurs through a form.
If you could point me in the direction of what I should be Googling for I'd appreciate it. Best of luck with Opendoor!
I'd usually google for a collection of the tools I'm looking at. To find that article I searched for "spa authentication with rails and devise"
Good luck with your side project :D
I love code reviews, and the code review pipeline, but one issue I keep running into is handling a bottleneck'd review process, and I'm wondering if you have any tips or advice.
How do you stay productive while blocked on a review request?
If you stay productive by swapping to a different task, how do you avoid merge, dependency, and task switching headaches between what's under review and the "back-up" tasks?
I'm not sure if that question is clear, but I'm betting on you having encountered similar enough situations to know what I'm getting at.
EDIT: As commentors on BiggerPockets are saying, it is just like Carmax.
We don't require experience in any of these tools to get a job at Opendoor. Most programming experience can be transferred between different technologies. We do a lot of pair programming to bring people on board, plus feedback in code reviews.
I haven't had a chance to look through it in-depth yet, but this looks pretty interesting: https://github.com/donnemartin/system-design-primer
As far as things that have had an important impact in my learning path, I do have a few Ruby books I really like (the key here is to get your hands dirty with code as you read along): - https://www.amazon.com/Ruby-Under-Microscope-Illustrated-Int... - https://www.amazon.com/Metaprogramming-Ruby-Program-Like-Fac... - https://gumroad.com/l/rebuilding_rails
I think reading about (and looking at the code) for things you use and trying to understand how they work under the hood has been super useful: http://aosabook.org/en/index.html
Having smart people around to learn from is extremely helpful too.
Happy to chat more if you'd like. Just drop me a line: connor[at]opendoor[dot]com
Global housing prices: http://www.economist.com/blogs/graphicdetail/2017/03/daily-c...
But i'm curious for two things:
-why they use those except for the different models Schlage has.
-where is Schlage api's documentation :p