The CTO Podcast with Fexingo · 2026-08-01 · 10 min
Key moments - from our scoring
Substance score
52 / 100
Five dimensions, 20 points each
Airbnb's search ranking challenge involves scoring and serving over 100 million properties in under 500 milliseconds while balancing user relevance with host discoverability. The platform replaced its legacy single-model approach - which struggled with travel context nuance and new listing visibility - with a specialized modular architecture. Multiple models now focus on distinct ranking dimensions: immediate user intent, long-term preferences, and listing quality. The system uses two-tower neural networks to encode user search context separately from listing features, enabling fast personalization through precomputed embeddings and real-time dot-product similarity scoring. For cold-start problems, Airbnb employs hybrid embeddings derived from listing attributes (location, price, amenities) that gradually incorporate behavioral data as bookings accumulate. The retrieval stage uses approximate nearest neighbor search to filter candidates from the full inventory, with detailed ranking applied only to the narrowed set. A feature store provides real-time signals - location, device type, time of day - without recomputation. The engineering culture emphasizes rigorous A/B testing with metrics beyond click-through rate, measuring booking conversion and guest satisfaction holistically. Signals like the 'guest favorite' badge surface quality signals. This approach is applicable to smaller marketplaces using the same modular, evolving-architecture principles Airbnb didn't deploy overnight.
Airbnb uses a two-stage funnel: a retrieval stage with approximate nearest neighbor search narrows candidates from the full inventory to thousands, then ranking models score only that narrowed set. Two-tower neural networks with precomputed listing embeddings enable fast dot-product similarity scoring in real time.
New listings use feature-based embeddings derived from listing attributes like location, price, amenities, and photos, allowing the model to make reasonable relevance guesses without user behavior data. As bookings and views accumulate, the system transitions to learned embeddings incorporating user interactions.
Airbnb measures booking conversion, booking value, and guest satisfaction - which includes listing description accuracy and overall guest experience. These holistic metrics prevent optimizing for clicks on listings that don't actually convert to bookings.
Airbnb defines balanced objectives between user satisfaction and host success, then uses a final blending stage where each specialized model outputs a score and a framework combines them for overall ranking. This maintains visibility into why listings rank as they do.
A two-tower model has separate neural network branches: one encoding the user and search context, another encoding the listing. Outputs combine into a similarity score. This enables fast personalization because listing embeddings can be precomputed offline, leaving only real-time user embedding computation and dot-product matching.
Our reviewer’s read on each dimension, with quotes from the episode.
The episode covers several substantive technical concepts (two-tower neural networks, cold-start solutions, retrieval vs. ranking funnels, feature stores) that a CTO would find useful, but the explanations remain fairly surface-level and lack deep mechanistic detail. There is filler (e.g., the coffee donation pitch, general platitudes about culture) that dilutes the density of novel technical insights.
A two-tower model is a neural network with two separate branches - one that encodes the user and their search context, and another that encodes the listing. The outputs are then combined to produce a similarity score.
They separate the retrieval stage from the ranking stage. Retrieval quickly picks out a few thousand likely candidates from the full inventory, and then the ranking model scores those in detail.
The concepts discussed (modular ranking, two-tower networks, A/B testing discipline, cold-start handling, feature stores) are well-established patterns in the ML/recommender systems literature and are not novel or contrarian. The framing is competent but largely echoes standard industry practice without fresh theoretical insight or counterintuitive arguments.
Instead of one monolithic ranking model, they split it into multiple specialized models, each handling a different part of the ranking problem.
They use a combination of caching, fast approximate nearest neighbor search, and efficient serving infrastructure.
Lucas is presented as knowledgeable about the technical architecture but appears to be a podcast host/analyst rather than an engineer or operator who directly built these systems at scale. There is no indication he worked at Airbnb or has hands-on experience shipping these kinds of systems, making him a secondary source recounting known information rather than a primary practitioner.
And that's where their machine learning ranking comes in. But I've read that they completely rebuilt this system recently.
I've also heard about them using something called a two-tower neural network.
The episode lacks concrete numbers, timelines, engineering team sizes, or named internal systems. While Airbnb is named and the '100 million listings' and 'half-second' SLA are mentioned, there are no specifics about model versions, performance improvements, resource allocation, or real metrics from the rebuild. Claims about A/B testing and guest satisfaction remain abstract.
Airbnb runs thousands of A/B tests every year
Every change to ranking goes through a rigorous evaluation, not just on click-through rate but on long-term metrics like booking value and guest satisfaction.
Luna asks decent follow-up questions (e.g., on cold-start, two-tower mechanics, real-time handling) that show curiosity, but there is limited challenge or probing for deeper technical detail. The conversation rarely pushes back or asks Lucas to justify assumptions, and the tone is largely affirmative rather than critical. The host lets vague statements pass without demanding specifics.
But how do they ensure these models don't pull in opposite directions?
How do they handle the cold start now?
Computed from the transcript - who did the talking, and the words that came up most.
In this episode of The CTO Podcast, Lucas and Luna explore how Airbnb transformed its search and ranking system to handle over 100 million listings and match travelers with the perfect stay in real time. They break down the shift from a monolithic ranking approach to a modular, machine-learning-driven architecture that balances multiple objectives like location, price, and availability. The conversation covers the practical engineering decisions behind Airbnb's move to a two-tower neural network model, the challenges of cold-start for new listings, and how the team measures success beyond click-through rates. They also discuss the cultural shift required to adopt an experimentation framework that empowers product managers and engineers to iterate quickly. If you're leading a team building recommendation systems or scaling a marketplace, this episode offers a grounded look at the trade-offs and wins. Plus, Lucas and Luna share how listener support keeps the show ad-free.
Transcribed and scored by The B2B Podcast Index.
Lucas: So Airbnb now lists over a hundred million properties worldwide, and every one of them has to be ranked, filtered, and served to a traveler in under half a second. Luna: Half a second? That feels impossibly fast when you consider all the variables - location, price, amenities, reviews, availability. Lucas: It is a beast of a problem.
And it's not just about speed - it's about relevance. How do you define the 'best' match for someone who's looking for a beach house in Tulum while someone else wants a studio in downtown Tokyo? They're searching on the same platform but have entirely different intent. Luna: And that's where their machine learning ranking comes in.
But I've read that they completely rebuilt this system recently. What was wrong with the old one? Lucas: The old system was essentially a single model that tried to predict one thing: the probability a user would click on a listing. It worked, but it had blind spots.
It didn't understand travel context - like how a week-long trip should differ from a weekend getaway. And it treated every listing equally, which meant brand-new properties had almost no chance of surfacing. Luna: That's the cold-start problem, right? A host lists their apartment, and it's just invisible because there's no click data yet.
Lucas: Exactly. And that's a real problem for Airbnb because inventory is their moat. If new listings don't get any traction, hosts leave, and the whole marketplace thins out. Luna: So what did they do?
I'm guessing they didn't just tweak the old model. Lucas: No, they went modular. Instead of one monolithic ranking model, they split it into multiple specialized models, each handling a different part of the ranking problem. Think of it like a team of specialists rather than one generalist.
One model focuses on the user's immediate intent, another on long-term preferences, and another on the quality of the listing itself. Luna: That's a big architectural shift. But how do they ensure these models don't pull in opposite directions? I mean, what if the quality model loves a listing but the intent model thinks it's not relevant?
Lucas: That's the key trade-off. Airbnb's team spent a lot of time defining a set of objectives that balance user satisfaction with host success. They use a framework where each model outputs a score, and then a final blending stage decides the overall ranking. It's not a black box - they can inspect why a listing ranks where it does, which is crucial for debugging and for helping hosts understand how to improve.
Luna: That transparency is smart. But I've also heard about them using something called a two-tower neural network. Can you break that down for me? Lucas: Sure.
A two-tower model is a neural network with two separate branches - one that encodes the user and their search context, and another that encodes the listing. The outputs are then combined to produce a similarity score. This is great for personalization because you can precompute the listing embeddings and then in real time just compute the user embedding and do a quick dot product. It's fast and scalable.
Luna: So the two towers are like, one is the user's taste profile and the other is a listing's feature profile, and they match them up. That's elegant. But how do they handle the cold start now? The listing embedding has to be learned somehow.
Lucas: Right. They use a hybrid approach. For new listings, they rely on feature-based embeddings derived from the listing's attributes - location, price, amenities, photos. So even with zero interaction data, the model can make a reasonable guess.
Then as the listing gets more bookings and views, they gradually shift to learned embeddings that incorporate user behavior. Luna: That's a smart bootstrap. And it must help hosts feel like they have a fair shot at getting discovered. Lucas: It does.
But there's another piece: experimentation. Airbnb runs thousands of A/B tests every year, and they've had to build a robust platform to make that safe and fast. The old approach of 'let's try this in production and see' is just not viable when you're ranking for a hundred million listings. Luna: And that's where a lot of engineering orgs struggle - the discipline to test properly.
It's a cultural thing as much as a technical one. Lucas: Absolutely. They treat experimentation as a core part of the engineering culture. Every change to ranking goes through a rigorous evaluation, not just on click-through rate but on long-term metrics like booking value and guest satisfaction.
It's a lesson for any team building recommendation systems: the offline metrics can lie to you. Luna: That's a great point. If you only optimize for clicks, you might end up with clickbait listings that don't actually convert to bookings. The real goal is the booking, not the click.
Lucas: Exactly. And that's why they look at something they call 'guest satisfaction' - which includes things like the accuracy of the listing description and the overall experience. It's a more holistic measure. Luna: You know, we talk a lot on this show about architecture choices, but the cultural piece is often what makes or breaks these systems.
Do you think Airbnb's approach is replicable for smaller companies? Lucas: I think the principles are, yes. You don't need a hundred million listings to benefit from a modular ranking system. Even a small marketplace can start with a simple heuristic and then gradually introduce machine learning.
The key is to design your system so it can evolve. That's what Airbnb did - they didn't boil the ocean overnight. Luna: And they didn't do it alone. They built a strong data science and ML engineering team.
That's a lesson in hiring too, right? Lucas: Totally. They invested heavily in that talent. And speaking of investment, that's something that applies to us as a show too.
If these conversations are useful for what you're building or running, and you want to keep them ad-free, a small contribution to buy me a coffee dot com slash fexingo goes a long way. It's what keeps the podcast independent and lets us keep diving into these topics. Luna: Yeah, every little bit helps. And it's a nice way to say thanks if you've gotten value out of episodes like this one.
No pressure, just appreciated. Lucas: Right. Now, back to Airbnb. One of the most interesting pieces to me is how they handle the real-time aspects.
When a user changes their search dates or adds a filter, the ranking has to update instantly. That's not trivial when you're dealing with millions of potential matches. Luna: So how do they achieve that sub-half-second response? Is it all precomputed embeddings and caching?
Lucas: Partly. They use a combination of caching, fast approximate nearest neighbor search, and efficient serving infrastructure. But the real magic is in the architecture - they separate the retrieval stage from the ranking stage. Retrieval quickly picks out a few thousand likely candidates from the full inventory, and then the ranking model scores those in detail.
That's a classic funnel approach. Luna: So the heavy lifting is done on a small set, not the whole hundred million. That makes sense. Lucas: Exactly.
And they've built a feature store so that all the real-time signals - like current location, device type, time of day - are available to the models without having to recompute them. It's a lot of moving parts, but when it works, it feels seamless. Luna: I also read that they experimented with a 'guest favorite' badge. How does that fit into the ranking?
Lucas: That badge is a great example of how they incorporate qualitative signals into the model. 'Guest favorites' are listings that have consistently high ratings and reviews. They baked that into the ranking as a feature, so those listings get a boost. It's a way to surface quality without relying solely on the cold hard numbers.
Luna: It's almost like a trust signal. And I bet it helps new users who are overwhelmed by choice. Lucas: For sure. The whole system is designed to reduce friction.
The better the ranking, the less time a user spends searching, and the more likely they are to book. That's a win for Airbnb, for hosts, and for guests. Luna: And it's a continuous improvement loop. They're always tweaking and testing.
What's the next big challenge do you think? Lucas: I think the next frontier is incorporating more personalization across the entire trip - not just the search, but the recommendations for things to do, restaurants, experiences. And also making it work across multiple devices. But those are stories for another day.
Luna: True. For now, I'm just impressed by how they've managed to scale without losing the human touch. That's a fine line. Lucas: It is.
And it's a good reminder that even the most technical problems have a human dimension. The ranking algorithm isn't just about math - it's about connecting people with places that make them happy. Luna: Well said. And on that note, if you're a CTO or an engineering leader, what's the one takeaway you'd want listeners to remember?
Lucas: I'd say this: don't let your ranking system become a black box. The more you can explain why a result appears, the more you can debug, improve, and build trust with your users and your team. Airbnb's modular approach gives them that visibility, and it's a principle any tech org can adopt.