ProfiLLM: Utility-Aligned Agentic User Profiling for Industrial Ride-Hailing Dispatch
ProfiLLM is an agentic LLM data pipeline that overcomes the challenges of scaling user profiling for industrial ride-hailing dispatch by combining tool-augmented global knowledge mining with utility-aligned profile exploration, resulting in significant performance gains in DiDi's production matching system.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
Imagine a massive, bustling city where millions of people are trying to get rides, and thousands of drivers are looking for passengers. The "brain" of this city is a super-fast computer system called a dispatcher. Its job is to match the right driver to the right passenger in the blink of an eye (literally, within 2 seconds).
For years, this dispatcher has been like a very smart accountant. It looks at numbers: How far is the driver? How much is the fare? How long has the passenger waited? Based on these hard numbers, it makes matches.
But the authors of this paper, ProfiLLM, realized the accountant was missing something important: the human story.
The Problem: The Accountant vs. The Storyteller
Imagine a driver who hates driving to the airport because it's always stuck in traffic, or a passenger who will cancel a ride if the pickup spot is more than 5 minutes away. An accountant sees "Distance: 2 miles." A storyteller sees "This driver avoids airports; this passenger hates long walks."
The researchers tried using Large Language Models (LLMs)—the same kind of AI that writes poems and answers questions—to read the history of every driver and passenger and write a "story profile" about them. They hoped these stories would help the dispatcher make better matches.
But there were three huge problems:
- Too Much Data: There are millions of users. You can't ask an AI to read the entire history of every single person in real-time; it would take too long and crash the system.
- The "Long Tail" Issue: Most people (like 96% of passengers) only order a few rides a month. There isn't enough history to write a good story for them.
- Pretty but Useless: An AI can write a very fluent, beautiful story about a user that sounds great but doesn't actually help predict if they will cancel a ride. It's like writing a poem about a driver that sounds nice but doesn't tell you if they will actually show up.
The Solution: The "ProfiLLM" Factory
The team built a system called ProfiLLM that acts like a high-tech factory. Instead of trying to write a story for every single person in real-time, they do the heavy lifting offline (when the system is resting) and only use the results online (when the system is running).
Here is how the factory works, using a simple analogy:
Step 1: The "Global Detective" (Mining Knowledge)
First, the AI acts as a detective. It doesn't just look at one person; it looks at the entire city's history using 27 different "tools" (like a magnifying glass, a map, and a calculator).
- It discovers patterns: "On rainy Tuesdays, drivers in the north district cancel more often."
- It creates rules to group people together. Instead of treating 100,000 passengers as 100,000 unique individuals, it groups them into about 100 "tribes" or clusters based on similar behaviors.
- Analogy: Instead of interviewing every single citizen of a country, the detective interviews the leaders of 100 neighborhoods to understand the general mood of each area.
Step 2: The "Story Editor" (Utility-Aligned Exploration)
Now, for each of these 100 "tribes," the AI tries to write a profile. But it doesn't just write one and hope it's good.
- It writes many different drafts of the profile.
- It runs a quick test: "If we use this story to predict behavior, does it work better than just using numbers?"
- If a story is just "fluent" but doesn't help predictions, it gets thrown out. If a story helps predict cancellations or acceptances, it gets kept.
- It then uses a special training technique (called DPO) to teach the AI to write only the kinds of stories that actually help the dispatcher, not just the ones that sound pretty.
Step 3: The "Speedy Matchmaker" (Online Serving)
This is the magic part. When a real passenger requests a ride:
- The system does not ask the AI to think or write anything. That would be too slow.
- Instead, it looks up which "tribe" (cluster) the passenger belongs to.
- It grabs a pre-written, pre-tested "profile card" for that tribe that was made earlier.
- It combines this card with the numbers (distance, price) and instantly makes a match.
The Results: Does it Work?
The researchers tested this on Didi, one of the world's largest ride-hailing companies.
- Better Predictions: The system became much better at guessing if a driver would accept a ride or if a passenger would cancel. In tests, it improved prediction accuracy by up to 6.14%.
- More Money & Happy Riders: In a simulation, the system generated 4.35% more revenue (GMV). In a real-world test over 14 days, it actually increased revenue by 0.47% and completed 0.33% more rides.
- Fewer Cancellations: It reduced the number of passengers canceling before a driver even accepted by 0.82%.
- Super Fast: Because the AI does all its thinking before the rush hour starts, the actual matching process adds almost zero delay (less than a millisecond).
The Bottom Line
ProfiLLM is like hiring a team of expert biographers to write detailed character profiles for every neighborhood in a city, but doing it all at night. During the day, the dispatcher just carries a pocket-sized card with the neighborhood's "personality" to make instant, smarter decisions.
It bridges the gap between the "cold numbers" of traditional systems and the "warm context" of human behavior, proving that AI can be useful in real-time industrial systems if you keep the heavy thinking offline and the execution lightning fast.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.