How Lyft guessed where a rider was going
In October 2020 two Lyft engineers described how the app guesses a rider's destination the moment it opens. The clever part is the shortlist, not the model: only places this rider has already been to by Lyft, near where they are now. An attention model then picks the top two. Offline it gained 8%; in a live test, riders used the suggestions 3.5% more often.

Typing an address on a phone, standing on a curb, is the slowest part of booking a ride. Yet most trips go to a handful of places: home, work, the gym, a parent's house. If the app can guess which one, the rider taps once and goes. On 20 October 2020 Hyungjun Lee and Jacob van Gogh of Lyft explained how the app makes that guess, in a post that "details how Lyft predicts riders’ destinations when they open the app."
The problem: one tap instead of a search
The goal, in Lyft's words, is "allowing riders to set their destination with a single tap instead of typing out search queries". Not every suggestion counts the same: "Our top 2 suggested destinations are highlighted in the app, so performance in these spots is especially important."
So the task is ranking with a tight budget. Out of every place a rider might go, put the right one into two slots.
How they built it
Shortlist first. The model never chooses from every address in a city. "The main idea is to limit candidate recommendations to addresses where the rider has previously taken a Lyft ride to or from." Places far from the rider are filtered out, because "a rider probably isn’t taking a Lyft to their home in San Francisco when they’re in New York on a business trip". The post names a second gain: "An added benefit of this approach is that it limits the number of candidate destinations to a reasonable size".
Few inputs. The model sees where the rider is now, the time now, and, for each past ride, its time and the latitude and longitude of where it started and ended. The post lists no other inputs: no profile, no weather, no search history.
Read each past ride in context. Small feed-forward layers turn the current moment and each past ride into vectors. Then two rounds of what Lyft calls joint self-attention let them look at each other. "There are four separate attention mechanisms in the joint self-attention layer: one self-attention for each current and each historical ride context, and two cross-attentions between the two." In plain terms, a ride home at six in the evening means more when the rider makes that same trip most weekdays.
Score the shortlist, with a way out. A last attention step compares the current moment with every past ride and gives each candidate place a probability. One extra slot covers an answer that is not on the list: Lyft appends "an additional output class to the historical origin/destination set to account for the possibility that the desired destination of the current session is not in the historical set."

Train on history, check on a strange year. "This model is trained on 16 million pre-COVID rides for 50 epochs." Because the pandemic changed how people rode, the team also checked the model on a set from early 2020 and on one from the peak of the pandemic. The post gives no figures for those checks.
The post cites no paper. Its formulas are the standard scaled dot-product and multi-head attention from the 2017 paper Attention Is All You Need, but that link is ours, and Lyft does not call its model a Transformer.
What it delivered
Two numbers, both Lyft-reported. Offline: "Our model improved the top 2 accuracy by 8% over the existing methodology." Top-2 accuracy is the share of rides where the right place is among the top two. Online: "Lyft conducted a two-week, user-split experiment across all regions", and riders on the new model "used them to set their destinations 3.5% more often than users still on the old model."
The post does not say what the old method was, whether the 8% and 3.5% are relative or percentage points, or what the absolute rates are. There are no error bars and no split between new and regular riders.
Lyft is open about the gap: "This 3.5% increase isn’t as large as the improvement we saw offline." It points at the screen, not the model: "We believe there are optimizations we can make to the way the suggested destinations are displayed that can help us get closer to the offline results." That is the honest order. An offline gain only counts once riders tap.
Two limits are ours to point out. The model can only suggest places the rider already went to by Lyft, so a new rider gets the extra slot and the search box; the post says nothing about cold start. And it says nothing about serving: where the model runs, how fast, or how often the history is refreshed.
What has changed since
Lyft's later writing points the same way. Its April 2023 post on recommendations says "one-tap" modules arrived in late 2022 and highlight "the best options (both destinations and modes) for riders upon opening the app". The shortcut is not for everyone: "This is available for high frequency users that have extensive travel history with Lyft." That fits a model that can only suggest places a rider has used. The same post ranks ride modes with LightGBM, a gradient-boosted tree, and does not say whether the destination part of one-tap still uses the 2020 model.
The company grew. In July 2025 Lyft completed its purchase of FREENOW, for about €205.9 million according to its annual report, its first large step outside North America. Whether the destination model runs there is not public.
Phones give apps less location than they did. Apple's iOS 14, released in September 2020, lets people "share their approximate location with app developers rather than their precise location". Android 12 added the same choice. In December 2023 Google said that Maps Timeline would soon be "saved right on your device", with auto-delete "set to three months by default" when Location History is first turned on.
The idea is also older than Lyft's post. Uber's November 2017 post says its Destination Prediction, "launched in November 2016", "fulfills over 50 percent of all destination entries", an Uber-reported figure. It picks candidates "from places people have previously traveled and searched" and, for new riders, "uses aggregate data to identify and suggest popular locations". Its ranker is a gradient-boosted tree. The shortlist is the industry default; attention was Lyft's way of ordering it.
Why it matters for your business
Indonesian apps already hold the raw material. Gojek lets riders save "alamat tujuan yang sering kamu kunjungi" as an Alamat Favorit. Grab's 2019 post found that "consumers usually visit five to seven unique locations" and that "More than 14 million users have saved close to 45 Million saved places." A short list covers most trips, which is why the shortlist trick works.
It works beyond rides. A laundry pickup, a courier booking, a clinic visit, a property viewing: any app where people type an address they have typed before can save them the typing.
The law asks for care. Under UU 27/2022 on personal data protection, a list of places tied to an account is personal data, and the law's explanation of profiling names location and movement. Pasal 28 says "Pengendali Data Pribadi wajib melakukan pemrosesan Data Pribadi sesuai dengan tujuan pemrosesan Data Pribadi", so ride history kept to run trips and reused for suggestions should say so in the notice. Pasal 34 requires an impact assessment when processing "memiliki potensi risiko tinggi terhadap Subjek Data Pribadi". The implementing regulation, PP 33/2026 dated 16 July 2026, adds a duty to answer objections to automated decisions and takes effect six months after it was promulgated, around January 2027. Our reading, not legal advice.
The lesson is not attention. It is that the hard part of a smart suggestion is deciding what not to suggest.
How we would build it today

- Shortlist from the app's own history. Past drop-offs and pickups, plus saved places, filtered by distance from where the user is now. It needs no background location.
- Start by counting. Rank by how often and how recently, weighted by hour and weekday, and show two or three chips. This is the baseline any model has to beat, and the one Lyft did not publish.
- Then a tree ranker. If the baseline stalls, use a gradient-boosted ranker on a handful of features, as Uber describes and as Lyft's own 2023 post uses for ride modes. Try attention only with a long history per user and a team to run it.
- Compute on the server at app open. Send three to five place names to the phone, so nothing heavy runs on a low-end Android.
- Cold start in the open. New users get popular places nearby, such as stations, malls and campuses, plus anything they saved, labelled as such.
- Privacy by default. Work with approximate location and one-time permission. Keep history short; Google's three months is a public reference point. Let users delete places and switch suggestions off, write the purpose into the notice, and decide on an impact assessment with counsel.
- Measure taps, not accuracy. Run an A/B test on suggestion taps and time to confirm a destination, split by new and returning users. Lyft's 8% offline became 3.5% online.
For an app with a few thousand users, steps 1, 2, 4 and 6 are enough. Add a model when there is enough traffic to measure what it adds.