Where to Find My Next Passenger? Jing Yuan 1 Yu Zheng 2 Liuhang Zhang 1 Guangzhong Sun 1 1 University of Science and Technology of China 2 Microsoft Research Asia September 19, 2011 Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 1 / 19
Motivation Taxis in big cities (103,000 in Mexico, 67,000+ in Beijing) Problems brought by cruising taxis: gas, time, profit Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 2 / 19
Motivation Taxis in big cities (103,000 in Mexico, 67,000+ in Beijing) Problems brought by cruising taxis: gas, time, profit, traffic jams, energy, air pollution Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 2 / 19
Motivation Taxis in big cities (103,000 in Mexico, 67,000+ in Beijing) Problems brought by cruising taxis: gas, time, profit, traffic jams, energy, air pollution Passengers are still hard to find a vacant taxi sometimes Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 2 / 19
Recommender Scenario P P P A) Taxi recommender Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 3 / 19
Recommender Scenario P P P A) Taxi recommender B) Passenger recommender Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 3 / 19
Recommender Scenario P P P A) Taxi recommender B) Passenger recommender Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 3 / 19
Recommender Scenario P P P A) Taxi recommender B) Passenger recommender Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 3 / 19
Data I Beijing Taxi Trajectories I 33,000 taixs in 3 month I Total distance: 400M km I Total number of points: 790M I Average sampling interval: 3.1 minutes, 600 meters I Beijing Road Network I 106,579 road nodes I 141,380 road segments Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 4 / 19
Profit-variant taxi drivers 0.2 0.8 proportion 0.15 0.1 0.05 0 Low High 2 4 6 fare distance/unit time (m/s) occupied ratio 0.7 0.6 0.5 0.4 high low overall 1 4 7 10 13 16 19 22 time of day (hour) (a) Distribution of profit (b) Occupied ratio during a day Figure 1: Statistics on the profit distribution and occupied ratio Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 5 / 19
Cruise More, Earn More? cruising distance/unit time (m/s) 4 3 2 1 r = 0.0874 0 0 1 2 3 4 5 6 7 fare distance/unit time (m/s) density Figure 2: Density scatter of cruising distance/unit time w.r.t. profit Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 6 / 19
System overview Online Recommendation Taxi Recommender Passenger Recommender Probabilistic Modeling Query Time (T0) and Location (LC) of a user Knowledge of parking places Knowledge of road segments Statistic learning Map-Matching Parking places Trips Parking Detection Segmentation Trajectories Offline Mining Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 7 / 19
System overview Online Recommendation Taxi Recommender Passenger Recommender Probabilistic Modeling Query Time (T0) and Location (LC) of a user Knowledge of parking places Knowledge of road segments Statistic learning Map-Matching Parking places Trips Parking Detection Segmentation Trajectories Offline Mining Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 7 / 19
Parking Place Detection Parking Place: the places where the taxis frequently wait for passengers. (not a parking slot). Candidates Generation Filtering Density-Based Clustering Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 8 / 19
Parking Place Detection Candidates Generation A group of points satisfying δ, τ; connect them if overlap exists p 2 p 4 p 1 p 6 p 2 p p p 7 7 1 p 4 p 6 p 3 p 5 (A) δ p 3 p 5 (B) p 1 p 2 p 4 p p 5 3 p 6 p 7 (C) p 4 p 7 p 1 p 2 p 3 p 5 p 6 (D) Filtering Density-Based Clustering Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 8 / 19
Parking Place Detection Candidates Generation Filtering Distinguished from traffic jams (bagging classifier) features used: spatial-temporal(d c,mbr... ), POI,... MBRc A GPS point MBRr A road A POI A road MBRr dc MBRc A) Real parking place B) Traffic jam C) Features Density-Based Clustering Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 8 / 19
Parking Place Detection Candidates Generation Filtering Density-Based Clustering Aggregate the candidates belonging to a single parking place Railway Station Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 8 / 19
Parking Place Detection Railway Station Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 8 / 19
Taxi Recommender A good parking place (to go towards): the probability to pick up a passenger (Possibility) the expected duration from T 0 to the time the next passenger is picked up (Cost) the distance/duration of the next trip (Benefit) Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 9 / 19
Taxi Recommender A good parking place (to go towards): the probability to pick up a passenger (Possibility) the expected duration from T 0 to the time the next passenger is picked up (Cost) the distance/duration of the next trip (Benefit) Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 9 / 19
Taxi Recommender A good parking place (to go towards): the probability to pick up a passenger (Possibility) the expected duration from T 0 to the time the next passenger is picked up (Cost) the distance/duration of the next trip (Benefit) Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 9 / 19
Probability r 1 P 3 P 1 P 2 Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 10 / 19
Probability p 1 r 1 P 3 P 1 P 2 Situation 1: Pick up during the route at r 1 r i road segment i t i travel time from r 1 to r i p i the probability that a taxi picks up a passenger at r i (at time T 0 + t i ) Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 10 / 19
Probability p2 (1-p 1 ) r 2 r 1 P 3 P 1 P 2 Situation 1: Pick up during the route at r 2 r i road segment i t i travel time from r 1 to r i p i the probability that a taxi picks up a passenger at r i (at time T 0 + t i ) Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 10 / 19
Probability r 2 r 1 P 3 p 3 (1-p 1 )(1-p 2 ) r 3 P 1 P 2 Situation 1: Pick up during the route at r 3 r i road segment i t i travel time from r 1 to r i p i the probability that a taxi picks up a passenger at r i (at time T 0 + t i ) Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 10 / 19
Probability P 3 P 1 P2 Pr(W)p * Situation 2: Pick up at a parking place W the event that a taxi waits at a parking place t i travel time from r 1 to r i p the probability that a taxi picks up a passenger at a parking place (at time T 0 + t n ) Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 10 / 19
Probability Pr(W)(1-p * ) P 3 P 1 P 2 Situation 3: Fail to pick up a passenger W the event that a taxi waits at a parking place t i travel time from r 1 to r i p the probability that a taxi picks up a passenger at a parking place (at time T 0 + t n ) Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 10 / 19
Cost and Benefit Analysis Duration before the next trip T E[T S] =E[T R S] + E[T P S] n t i Pr(S i ) + t n Pr(S n+1 ) + Pr(W) m p j tj i=1 j=1 =. (1) Pr(S) Distance of the next trip D N Duration of the next trip T N Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 11 / 19
Recommendation Strategies 1 Taxi Recommender S1. Topk max {E[D N S]/E[T + T N S] : Pr(S) > P θ }. most profitable, given a probability guarantee. S2. Topk min {E[T S] : Pr(S) > P θ, D N > D θ }. fastest to find a passenger, given probability and distance guarantee S3. Topk max {Pr(S) : E[D N S]/E[T + T N S] > F θ }. most likely to find a passenger, given profit guarantee S4.... 2 Passenger Recommender r = argmax Pr(C; r t). r Ω Ω: search space within a walking distance Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 12 / 19
Recommendation Strategies 1 Taxi Recommender S1. Topk max {E[D N S]/E[T + T N S] : Pr(S) > P θ }. most profitable, given a probability guarantee. S2. Topk min {E[T S] : Pr(S) > P θ, D N > D θ }. fastest to find a passenger, given probability and distance guarantee S3. Topk max {Pr(S) : E[D N S]/E[T + T N S] > F θ }. most likely to find a passenger, given profit guarantee S4.... 2 Passenger Recommender r = argmax Pr(C; r t). r Ω Ω: search space within a walking distance Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 12 / 19
Recommendation Strategies 1 Taxi Recommender S1. Topk max {E[D N S]/E[T + T N S] : Pr(S) > P θ }. most profitable, given a probability guarantee. S2. Topk min {E[T S] : Pr(S) > P θ, D N > D θ }. fastest to find a passenger, given probability and distance guarantee S3. Topk max {Pr(S) : E[D N S]/E[T + T N S] > F θ }. most likely to find a passenger, given profit guarantee S4.... 2 Passenger Recommender r = argmax Pr(C; r t). r Ω Ω: search space within a walking distance Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 12 / 19
Recommendation Strategies 1 Taxi Recommender S1. Topk max {E[D N S]/E[T + T N S] : Pr(S) > P θ }. most profitable, given a probability guarantee. S2. Topk min {E[T S] : Pr(S) > P θ, D N > D θ }. fastest to find a passenger, given probability and distance guarantee S3. Topk max {Pr(S) : E[D N S]/E[T + T N S] > F θ }. most likely to find a passenger, given profit guarantee S4.... 2 Passenger Recommender r = argmax Pr(C; r t). r Ω Ω: search space within a walking distance Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 12 / 19
Recommendation Strategies 1 Taxi Recommender S1. Topk max {E[D N S]/E[T + T N S] : Pr(S) > P θ }. most profitable, given a probability guarantee. S2. Topk min {E[T S] : Pr(S) > P θ, D N > D θ }. fastest to find a passenger, given probability and distance guarantee S3. Topk max {Pr(S) : E[D N S]/E[T + T N S] > F θ }. most likely to find a passenger, given profit guarantee S4.... 2 Passenger Recommender r = argmax Pr(C; r t). r Ω Ω: search space within a walking distance Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 12 / 19
Recommendation Strategies 1 Taxi Recommender S1. Topk max {E[D N S]/E[T + T N S] : Pr(S) > P θ }. most profitable, given a probability guarantee. S2. Topk min {E[T S] : Pr(S) > P θ, D N > D θ }. fastest to find a passenger, given probability and distance guarantee S3. Topk max {Pr(S) : E[D N S]/E[T + T N S] > F θ }. most likely to find a passenger, given profit guarantee S4.... 2 Passenger Recommender r = argmax Pr(C; r t). r Ω Ω: search space within a walking distance Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 12 / 19
Evaluation on Parking Place Detection Key issue: traffic jams vs. parking places Features Precision Recall Spatial 0.695 0.670 Spatial+POI 0.716 0.696 Spatial+POI+Collaborative 0.725 0.706 Spatial+POI+Collaborative+Temporal 0.909 0.889 Table 1: Results of parking place filtering Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 13 / 19
Evaluation on Knowledge Learning proportion proportion proportion proportion proportion 0.6 0.6 0.4 0.3 0.4 0.4 0.2 0.2 0.2 0.1 0 22 18 14 time of day (hour) 10 6 2 17 9 13 5 1 waiting time (minute) 0 22 18 14 10 6 time of day (hour) 2 60 5040302010 duration (minute) 0 22 18 14 10 6 time of day (hour) 2 30 252015105 distance (km) (a) waiting time (b) duration of the first trip (c) distance of the first trip Figure 3: Distribution in parking places (overall) 0.8 0.15 0.6 0.4 0.6 0.4 probability 0.1 0.05 0.2 0 0.2 0 0 6 5 4 road level 3 2 1 0 2 6 10 14 18 22 time of day (hour) 22 18 14 time of day (hour) 10 6 2 60 5040302010 duration (minute) 22 18 14 time of day (hour) 10 6 2 30 252015105 distance (km) (a) Pr(C O) (b) duration of the first trip (c) distance of the first trip Figure 4: Statistics results of road segments (overall) Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 14 / 19
Evaluation on Online Recommendation Precision (#hits/#recommendations) and Recall (#parking places the drivers actually go to/#suggested parking places) NDCG@k RME for the hit parking places on T, T N and D N. ndcg 0.6 0.5 0.4 0.3 Ave(S1,S2,S3) B1 B2 0.2 1 2 3 4 5 k S1 S2 S3 B1 B2 Precision 0.63 0.66 0.67 0.60 0.61 Recall 0.59 0.65 0.64 0.57 0.52 RME(T) 0.15 RME(D N ) 0.02 RME(T N ) 0.03 Table 2: RME, precision and recall Figure 5: ndcg Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 15 / 19
Screenshot of Passenger Recommender Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 16 / 19
Screenshot of Taxi Recommender Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 17 / 19
Windows Phone 7 APP Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 18 / 19
Next Step Waiting time modeling for passenger recommender Queueing models for parking places More in-the-field study Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 19 / 19
Thanks! Jing Yuan yuanjing@mail.ustc.edu.cn Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 20 / 19