Where to Find My Next Passenger?
Jing Yuan1 Yu Zheng2 Liuhang Zhang1 Guangzhong Sun1
1University of Science and Technology of China2Microsoft Research Asia
September 19, 2011
Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 1 / 19
Motivation
I Taxis in big cities (103,000 in Mexico, 67,000+ in Beijing)I 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
I Taxis in big cities (103,000 in Mexico, 67,000+ in Beijing)I 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
I Taxis in big cities (103,000 in Mexico, 67,000+ in Beijing)I Problems brought by cruising taxis: gas, time, profit, traffic jams,
energy, air pollutionI 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 TrajectoriesI 33,000 taixs in 3 monthI Total distance: 400M kmI Total number of points:
790MI Average sampling interval:
3.1 minutes, 600 meters
I Beijing Road NetworkI 106,579 road nodesI 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
2 4 60
0.05
0.1
0.15
0.2
fare distance/unit time (m/s)
prop
ortio
n
Low High
(a) Distribution of profit
1 4 7 10 13 16 19 220.4
0.5
0.6
0.7
0.8
time of day (hour)oc
cupi
ed r
atio
highlowoverall
(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?
fare distance/unit time (m/s)
crui
sing
dis
tanc
e/un
it tim
e (m
/s)
density−→
r = 0.0874
0 1 2 3 4 5 6 70
1
2
3
4
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
Trajectories
Parking Detection
Parking places
Segmentation
Trips
Map-MatchingStatistic learning
Knowledge of road segments
Offline Mining
Knowledge of parking places
Taxi Recommender Passenger Recommender
Online Recommendation
Probabilistic Modeling
Time (T0) and Location (LC)
of a user
Query
Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 7 / 19
System overview
Trajectories
Parking Detection
Parking places
Segmentation
Trips
Map-MatchingStatistic learning
Knowledge of road segments
Offline Mining
Knowledge of parking places
Taxi Recommender Passenger Recommender
Online Recommendation
Probabilistic Modeling
Time (T0) and Location (LC)
of a user
Query
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 forpassengers. (not a parking slot).
I Candidates GenerationI FilteringI Density-Based Clustering
Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 8 / 19
Parking Place Detection
I Candidates GenerationA group of points satisfying δ, τ; connect them if overlap exists
p1
p7
p1p7
p1
p2
p3
p4
p5
p6 p7
p1p2
p3
p4
p5
p6p7
(A) (B)
(C) (D)
p3
p4
p5
p6
p3
p4
p5
p6
p2
δ
p2
I FilteringI Density-Based Clustering
Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 8 / 19
Parking Place Detection
I Candidates GenerationI Filtering
Distinguished from traffic jams (bagging classifier)features used: spatial-temporal(dc,MBR. . . ), POI, . . .
A) Real parking place B) Traffic jam
MBRc
MBRr
MBRc
MBRr
A road
A roadA GPS point A POI
dc
C) Features
I Density-Based Clustering
Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 8 / 19
Parking Place Detection
I Candidates GenerationI FilteringI 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
I Candidates GenerationI FilteringI Density-Based Clustering
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):I the probability to pick up a passenger ⇑ (Possibility)I the expected duration from T0 to the time the next passenger is
picked up ⇓ (Cost)I 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):I the probability to pick up a passenger ⇑ (Possibility)I the expected duration from T0 to the time the next passenger is
picked up ⇓ (Cost)I 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):I the probability to pick up a passenger ⇑ (Possibility)I the expected duration from T0 to the time the next passenger is
picked up ⇓ (Cost)I 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
Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 10 / 19
r1
P2
P1
P3
ri road segment i
ti travel time from r1 to ri
pi the probability that a taxi picks up a passenger at ri (at time T0 + ti)
Probability
Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 10 / 19
r1
p1
P2
P1
P3
Situation 1: Pick up during the route at r1
ri road segment i
ti travel time from r1 to ri
pi the probability that a taxi picks up a passenger at ri (at time T0 + ti)
Probability
Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 10 / 19
r2r1
P2
P1
P3p2(1-p1)
Situation 1: Pick up during the route at r2
ri road segment i
ti travel time from r1 to ri
pi the probability that a taxi picks up a passenger at ri (at time T0 + ti)
Probability
Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 10 / 19
r2r1
P2
P1
P3
p3(1-p1)(1-p2) r3
Situation 1: Pick up during the route at r3
ri road segment i
ti travel time from r1 to ri
pi the probability that a taxi picks up a passenger at ri (at time T0 + ti)
Probability
Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 10 / 19
Pr(W)p*P2
P1
P3
Situation 2: Pick up at a parking place
W the event that a taxi waits at a parking place
ti travel time from r1 to ri
p∗ the probability that a taxi picks up a passenger at a parking place (at time T0 + tn)
Probability
Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 10 / 19
Pr(W)(1-p*)
P2
P1
P3
Situation 3: Fail to pick up a passenger
W the event that a taxi waits at a parking place
ti travel time from r1 to ri
p∗ the probability that a taxi picks up a passenger at a parking place (at time T0 + tn)
Cost and Benefit Analysis
I Duration before the next trip T
E[T |S]
=E[TR|S] + E[TP|S]
=
n∑i=1
ti Pr(Si) + tn Pr(Sn+1) + Pr(W)m∑
j=1pj∗t∗j
Pr(S). (1)
I Distance of the next trip DN
I Duration of the next trip TN
Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 11 / 19
Recommendation Strategies
1 Taxi RecommenderS1. TopkmaxE[DN |S]/E[T + TN |S] : Pr(S) > Pθ.
most profitable, given a probability guarantee.
S2. TopkminE[T |S] : Pr(S) > Pθ,DN > Dθ.fastest to find a passenger, given probability and distanceguarantee
S3. TopkmaxPr(S) : E[DN |S]/E[T + TN |S] > Fθ.most likely to find a passenger, given profit guarantee
S4. . . .2 Passenger Recommender
r = argmaxr∈Ω
Pr(C; r|t).
Ω: 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 RecommenderS1. TopkmaxE[DN |S]/E[T + TN |S] : Pr(S) > Pθ.
most profitable, given a probability guarantee.
S2. TopkminE[T |S] : Pr(S) > Pθ,DN > Dθ.fastest to find a passenger, given probability and distanceguarantee
S3. TopkmaxPr(S) : E[DN |S]/E[T + TN |S] > Fθ.most likely to find a passenger, given profit guarantee
S4. . . .2 Passenger Recommender
r = argmaxr∈Ω
Pr(C; r|t).
Ω: 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 RecommenderS1. TopkmaxE[DN |S]/E[T + TN |S] : Pr(S) > Pθ.
most profitable, given a probability guarantee.
S2. TopkminE[T |S] : Pr(S) > Pθ,DN > Dθ.fastest to find a passenger, given probability and distanceguarantee
S3. TopkmaxPr(S) : E[DN |S]/E[T + TN |S] > Fθ.most likely to find a passenger, given profit guarantee
S4. . . .2 Passenger Recommender
r = argmaxr∈Ω
Pr(C; r|t).
Ω: 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 RecommenderS1. TopkmaxE[DN |S]/E[T + TN |S] : Pr(S) > Pθ.
most profitable, given a probability guarantee.
S2. TopkminE[T |S] : Pr(S) > Pθ,DN > Dθ.fastest to find a passenger, given probability and distanceguarantee
S3. TopkmaxPr(S) : E[DN |S]/E[T + TN |S] > Fθ.most likely to find a passenger, given profit guarantee
S4. . . .2 Passenger Recommender
r = argmaxr∈Ω
Pr(C; r|t).
Ω: 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 RecommenderS1. TopkmaxE[DN |S]/E[T + TN |S] : Pr(S) > Pθ.
most profitable, given a probability guarantee.
S2. TopkminE[T |S] : Pr(S) > Pθ,DN > Dθ.fastest to find a passenger, given probability and distanceguarantee
S3. TopkmaxPr(S) : E[DN |S]/E[T + TN |S] > Fθ.most likely to find a passenger, given profit guarantee
S4. . . .2 Passenger Recommender
r = argmaxr∈Ω
Pr(C; r|t).
Ω: 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 RecommenderS1. TopkmaxE[DN |S]/E[T + TN |S] : Pr(S) > Pθ.
most profitable, given a probability guarantee.
S2. TopkminE[T |S] : Pr(S) > Pθ,DN > Dθ.fastest to find a passenger, given probability and distanceguarantee
S3. TopkmaxPr(S) : E[DN |S]/E[T + TN |S] > Fθ.most likely to find a passenger, given profit guarantee
S4. . . .2 Passenger Recommender
r = argmaxr∈Ω
Pr(C; r|t).
Ω: 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
I Key issue: traffic jams vs. parking places
Features Precision RecallSpatial 0.695 0.670Spatial+POI 0.716 0.696Spatial+POI+Collaborative 0.725 0.706Spatial+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
15
913
1726
1014
1822
0
0.1
0.2
0.3
0.4
waiting time (m
inute)time of day (hour)
prop
ortio
n
(a) waiting time
10203040506026
1014
1822
0
0.2
0.4
0.6
duration (minute)
time of day (hour)
prop
ortio
n(b) duration of the first trip
5101520253026
1014
1822
0
0.2
0.4
0.6
distance (km)
time of day (hour)
prop
ortio
n
(c) distance of the first tripFigure 3: Distribution in parking places (overall)
0123456
26
1014
1822
0
0.05
0.1
0.15
time of day (hour)
road level
prob
abili
ty
(a) Pr(C O)
10203040506026
1014
1822
0
0.2
0.4
0.6
0.8
duration (minute)
time of day (hour)
prop
ortio
n
(b) duration of the first trip
5101520253026
1014
1822
0
0.2
0.4
0.6
distance (km)
time of day (hour)
prop
ortio
n
(c) distance of the first tripFigure 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
I Precision (#hits/#recommendations) and Recall (#parking placesthe drivers actually go to/#suggested parking places)
I NDCG@kI RME for the hit parking places on T, TN and DN .
1 2 3 4 50.2
0.3
0.4
0.5
0.6
k
nDC
G
Ave(S1,S2,S3)B1B2
Figure 5: nDCG
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(DN ) 0.02
RME(TN ) 0.03
Table 2: RME, precision and recall
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
I Waiting time modeling for passengerrecommender
I Queueing models for parking placesI More in-the-field study
Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 19 / 19
Thanks!
Jing [email protected]
Jing Yuan et al. (USTC,MSRA) Where to Find My Next Passenger? September 19, 2011 20 / 19