On Recommending Urban Hotspots to Find Our Next Passenger Luis Moreira-Matias 1,2,3 , Ricardo Fernandes 1 , João Gama2,5 , Michel Ferreira 1,4 , João Mendes-Moreira 2,3 ,Luis Damas 6 1 Instituto de Telecomunicações, University of Porto, Portugal 2 LIAAD/INESC TEC, Porto, Portugal 3 Department of Informatics Engineering, Faculty of Engineering, University of Porto, Portugal 4 Department of Computer Sciences, Faculty of Sciences, University of Porto, Portugal 5 Faculty of Economics, University of Porto, Portugal 6 GEOLINK, Porto, Portugal {luis.m.matias, jgama, joao.mendes.moreira}[at]inescporto.pt, {rjf, michel}[at]dcc.fc.up.pt, luis[at]geolink.pt Abstract The rising fuel costs is disallowing random cruis- ing strategies for passenger finding. Hereby, a rec- ommendation model to suggest the most passenger- profitable urban area/stand is presented. This framework is able to combine the 1) underlying historical patterns on passenger demand and the 2) current network status to decide which is the best zone to head to in each moment. The ma- jor contribution of this work is on how to com- bine well-known methods for learning from data streams (such as the historical GPS traces) as an ap- Figure 1: Taxi Stand choice problem. proach to solve this particular problem. The results were promising: 395.361/506.873 of the services dispatched were correctly predicted. The experi- passenger pick-up and drop-off. These historical traces can ments also highlighted that a fleet equipped with reveal the underlying running mobility patterns. Multiple such framework surpassed a fleet that is not: they works in the literature have already explored this kind of experienced an average waiting time to pick-up a data successfully with distinct applications like smart driv- passenger 5% lower than its competitor. ing [Yuan et al., 2010], modeling the spatiotemporal struc- ture of taxi services [Deng and Ji, 2011; Liu et al., 2009; 1 Introduction Yue et al., 2009], building passenger-finding strategies [Li et The taxis became crucial for human mobility in al., 2011; Lee et al., 2008] or even predicting the taxi location medium/large-sized urban areas. They provide a direct, in a passenger-perspective [Phithakkitnukoon et al., 2010]. comfortable and speedy way to move in and out of big town Despite their useful insights, the majority of the techniques centers - as complement to other transportation means or as reported are offline, discarding the main advantages of this a main solution. In the past years, the city councils tried to signal (i.e. a streaming one). guarantee that the running vacant taxis will always meet the In our work, we focus on the online choice problem about demand in their urban areas by emitting more taxi licenses which is the best taxi stand to go to after a passenger drop- than the necessary. As result, the cities’ cores are commonly off (i.e. the stand where we will pick-up another passenger crowded by a huge number of vacant taxis - which take quicker). Our goal is to use the vehicular network communi- desperate measures to find new passengers such as random cational framework to improve their reliability by combining cruise’ strategies. These strategies have undesirable side all drivers’ experience. In other words, the idea is to fore- effects like large wastes of fuel, an inefficient traffic handling, cast how many services will arise in each taxi stand based on an increase of the air pollution. the network past behavior to feed a recommendation model to The taxi driver mobility intelligence is one of the keys to calculate the best stand to head to. An illustration about our mitigate this problems. The knowledge about where the ser- problem is presented in Fig. 1 (the five blue dots represent vices (i.e. the transport of a passenger from a pick-up to a possible stands to head to after a passenger drop-off; our rec- drop-off location) will actually emerge can truly be useful to ommendation system outputs one of them as the best choice the driver – especially where there are more than one com- at the moment). petitor operating. Recently, the major taxi fleets are equipped Such recommendation model can present a true advantage with GPS sensors and wireless communication devices. Typ- for a fleet when facing other competitors, which will work ically, these vehicles will transmit information to a data cen- with less information than you do. This tool can improve ter about their location and the events undergoing like the the informed driving experience by transmitting to the driver which is the stand where 1) he will wait less time to get a pas- if our Recommendation System could beat the drivers’ ex- senger in; or where 2) he will get the service with the greatest pected behavior. We simulated a competitive scenario – with revenue. two fleets - using the services historical log and on the exist- The smart stand-choice problem is based on four key de- ing road network system. The obtained results validated that cision variables: the expected price for a service over time, our method can effectively help the drivers to decide where the distance/cost relation with each stand, how many taxis are they can achieve more profit. already waiting at each stand and the passenger demand for The remainder of the paper is structured as follows. Sec- each stand over time. The taxi vehicular network can be a tion 2 formally presents our predictive model while Section ubiquitous sensor of taxi-passenger demand from where we 3 details our recommendation one. The fourth section de- can continuously mine the reported variables. However, the scribes our case study, how we acquired and preprocessed the work described here will just address the decision process data used as well as some statistics about it. The fifth section based on the last three variables. describes how we tested the methodology in a concrete sce- In our previous work [Moreira-Matias et al., 2012], we al- nario: firstly, we introduce the two experimental setups and ready proposed a model to predict the spatiotemporal distri- the metrics used to evaluate both models. Then, the obtained bution of the taxi passenger demand (i.e. the number of ser- results are detailed, followed by some important remarks. Fi- vices that will emerge along the taxi stand network). This nally, conclusions are drawn. study departed from this initial work to extend it along three different dimensions: 2 The Predictive Model 1. The Recommendation System: we use these predic- In this section we present some relevant definitions and a brief tions as input to a Recommendation System that also description of the predictive model on taxi passenger demand. accounts the number of taxis already in a stand and the The reader should consult the section II in [Moreira-Matias et distance to it. Such framework will improve the taxi al., 2012] for further details. Let S = {s1 , s2 , ..., sN } be the driver mobility intelligence in real time, helping him to set of N taxi stands of interest and D = {d1 , d2 , ..., dj } a decide which is the most profitable stand in each mo- set of j possible passenger destinations. Our problem is to ment. It will be based not only in his own past decisions choose the best taxi stand at the instant t according with our and outcomes, but on a combination of everyone experi- forecast about passenger demand distribution over the time ence, taking full advantage of the ubiquitous charac- stands for the period [t, t + P ]. teristics of the vehicular communicational networks. Consider Xk = {Xk,0 , Xk,1 , ..., Xk,t } to be a discrete 2. Test-bed: Our experiments took advantage of the ve- time series (aggregation period of P-minutes) for the number hicular network online information to feed the predic- of demanded services at a taxi stand k. The goal is to build tive framework. Moreover, the recommendation perfor- a model which determines the set of service counts Xk,t+1 mance was evaluated in real-time, demonstrating its for instant t + 1 and per taxi stand k ∈ {1, ..., N }. To do robustness and its ability to learn, decide and evolve so, three distinct short-term prediction models are proposed, without a high computational effort; as well as a well-known data stream ensemble framework to 3. Dataset: 506.873 services were dispatched to our 441 use all models. We briefly describe these models along this vehicle fleet during our experiments. This large scale section. test was carried out along 9 months. 2.1 Time Varying Poisson Model There are some works in the literature related with this prob- Consider the probability for n taxi assignments to emerge in lem, namely: 1) mining the best passenger-finding strate- a certain time period - P (n) - following a Poisson Distribu- gies [Li et al., 2011; Lee et al., 2008], 2) dividing the ur- tion.It is possible to define it using the following equation ban area into attractive clusters based on the historical pas- senger demand (i.e.: city zones with distinct demand pat- e−λ λn terns) [Deng and Ji, 2011; Liu et al., 2009; Yue et al., 2009] P (n; λ) = (1) n! and even 3) predicting the passenger demand at certain ur- where λ represents the rate (average demand for taxi services) ban hotspots [Li et al., 2012; Kaltenbrunner et al., 2010; in a fixed time interval. However, in this specific problem, Chang et al., 2010]. The major contribution of this work the rate λ is not constant but time-variant. Therefore, it was facing this state-of-the-art is to build smart recommenda- adapted as a function of time, i.e. λ(t), transforming the Pois- tions about the taxi stand to head to in an online streaming son distribution into a non homogeneous one. Let λ0 be the environment (i.e. real-time; while the taxis are operating) average (i.e. expected) rate of the Poisson process over a full based not only on their historical trace but also on the current week. Consider λ(t) to be defined as follows network status. In fact, the reported works present offline frameworks and/or test-beds or just account a low number of λ(t) = λ0 δd(t) ηd(t),h(t) (2) decision variables. The results were obtained using two distinct test-beds: where δd(t) is the relative change for the weekday d(t) (e.g.: firstly, (1) we let the stream run continuously between Au- Saturdays have lower day rates than Tuesdays); ηd(t),h(t) is gust 2011 and April 2012. The predictive model was trained the relative change for the period h(t) in the day d(t) (e.g. the during the first five months and it was stream-tested in the peak hours); d(t) represents the weekday 1=Sunday, 2=Mon- last four. Secondly, (2) we used a traffic simulator to test day, ...; and h(t) represents the period when time t falls (e.g. the time 00:31 is contained in period 2 if we consider 30- sible to combine them all to improve our prediction? Over minutes periods). the last decade, regression and classification tasks on streams attracted the community attention due to their drifting char- 2.2 Weighted Time Varying Poisson Model acteristics. The ensembles of such models were specifically The model previously presented can be faced as a time- addressed due to the challenge related to this type of data. dependent average which produces predictions based on the One of the most popular models is the weighted ensemble long-term historical data. However, it is not guaranteed that [Wang et al., 2003]. This error-based model was employed in every taxi stand will have a highly regular passenger demand: this framework. The Averaged Weighted Error(AVE) metric actually, the demand in many stands can often be seasonal. was used to measure such error. The sunny beaches are a good example on the demand sea- sonality: the taxi demand around them will be higher on sum- 3 Recommendation Model mer weekends rather than other seasons along the year. Let Xk,t+1 be the number of services to be demanded in the To face this specific issue, a weighted average model is taxi stand k during the 30-minutes period next to the time proposed based on the one presented before: the goal is to instant t. Then, a passenger is dropped-off somewhere by increase the relevance of the demand pattern observed in the a vehicle of interest w minutes after the last forecast on the recent week (e.g. what happened on the previous Tuesday instantt. The problem is to choice one of the possible taxi is more relevant than what happened two or three Tuesdays stands to head to. This choice is related with four key vari- ago). The weight set ω is calculated using a well-known time ables: the expected price for a service over time, the distance series approach to these type of problems: the Exponential to each stand, how many taxis are already waiting at each Smoothing [Holt, 2004]. This model will enhance the impor- stand and the predicted passenger demand. However, here we tance of the mid-term historical data rather than the long-term solve this issue like a minimization problem: we want to rank one already proposed in the above section. the stands according the minimum waiting time (target vari- 2.3 Autoregressive Integrated Moving Average able) to pick-up a passenger, whenever it is directly picked-up Model or dispatched by the central. Let Ck,t+1 be the number of taxis already parked in the The two previous models assume the existence of a regular stand k in the drop-off moment and Lk,w be the number of (seasonal or not) periodicity in taxi service passenger demand services departed from the same stand between this moment (i.e. the demand at one taxi stand on a regular Tuesday during and the moment of the last forecast (i.e.: t).We can define the a certain period will be highly similar to the demand verified service deficit - SDk,t+w on the taxi stand k i.e.: a prediction during the same period on other Tuesdays). However, the on the number of services that still will be demanded in the demand can present distinct periodicities for different stands. stand discounting the vehicles already waiting in the line) as The ubiquitous features of this network force us to rapidly decide if and how the model is evolving so that it is possible SDk,t+w = (Xk,t+1 − Ck,t+1 − Lk,w ) ∗ ρH (3) to adapt to these changes instantly. The AutoRegressive Integrated Moving Average Model where ρH is the similarity (i.e.: 1 – error) obtained by our (ARIMA) [Box et al., 1976] is a well-known methodology forecasting model in this specific stand during the sliding to both model and forecast univariate time series data such training window H. In fact, ρH works as a certainty about as traffic flow data [Min and Wynter, 2011], electricity price our prediction (i.e.: if two stands have the same SD but our [Contreras et al., 2003] and other short-term prediction prob- model is experiencing a bigger error in one of them, the other lems such as the one presented here. There are two main stand should be picked instead). advantages to using ARIMA when compared to other algo- Let υk be the distance (in kilometres) between the drop-off rithms. Firstly, 1) it is versatile to represent very differ- location and the taxi stand k. We can define the normalized ent types of time series: the autoregressive (AR) ones, the distance to the stand - Uk - as follows moving average ones (MA) and a combination of those two υk Uk = 1 − (4) (ARMA); Secondly, 2) it combines the most recent samples ξ from the series to produce a forecast and to update itself to where ξ is the distance to the farthest stand. We can calculate changes in the model. A brief presentation of one of the sim- the Recommendation Score of the taxi stand k as plest ARIMA models (for non-seasonal stationary time se- ries) is presented below following the existing description in RSk = Uk ∗ SDk,t+w (5) [Zhang, 2003] (however, our framework can also detect both seasonal and non-stationary series). For a more detailed dis- Then, we calculate the Recommendation Score of every cussion, the reader should consult a comprehensive time se- stands and we recommend to the driver the stand with the ries forecasting text such as the one presented in Chapters 4 highest one. and 5 in [Cryer and Chan, 2008]. 4 Data Acquisition and Preprocessing 2.4 Sliding Window Ensemble Framework The stream events data of a taxi company operating in the city Three distinct predictive models have been proposed which of Porto, Portugal, was used as case study. This city is the focus on learning from the long, medium and short-term his- center of a medium-sized urban area (consisting of 1.3 mil- torical data. However, a question remains open: Is it pos- lion inhabitants) where the passenger demand is lower than the number of running vacant taxis, resulting in a huge com- bed was based on prequential evaluation: data about the net- petition between both companies and drivers. The data was work events was continuously acquired. continuously acquired using the telematics installed in each Each data chunk was transmitted and received through a one of the 441 running vehicles of the company fleet through- socket. The model was programmed using the R language. out a non-stop period of nine months. This study just uses The prediction effort was divided into three distinct processes as input/output the services obtained directly at the stands or running on a multicore CPU (the time series for each stand those automatically dispatched to the parked vehicles (more is independent from the remaining ones) which reduced the details in the section below). This was done because the pas- computational time of each forecast. The pre-defined func- senger demand at each taxi stand is the main feature to aid the tions used and the values set for the models parameters are taxi drivers’ decision. detailed along this section. Statistics about the period studied are presented. Table 1 An aggregation period of 30 minutes was set (i.e. a new details the number of taxi services demanded per daily shift forecast is produced each 30 minutes; P=30) and a radius of and day type. Table 2 contains information about all ser- 100 m (W = 100 ¿ 50 defined by the existing regulations). It vices per taxi/driver and cruise time. The service column in was set based on the average waiting time at a taxi stand, i.e. Table 2 represents the number of services taken by the taxi a forecast horizon lower than 42 minutes. drivers, while the second represents the total cruise time of The ARIMA model (p,d,q values and seasonality) was every service. Additionally, it is possible to state that the cen- firstly set (and updated each 24h) by learning/detecting the tral service assignment is 24% of the total service (versus the underlying model (i.e. autocorrelation and partial autocor- 76% of the service requested directly on the street) while 77% relation analysis) running on the historical time series curve of the service is demanded directly to taxis parked in a taxi for each considered taxi stand. To do so, we used an auto- stand (and 23% is assigned while they are cruising). The av- matic time series function in the [forecast] R package [Yeas- erage waiting time (to pick-up passengers) of a taxi parked at min and Rob, 1999] - auto-arima – with the default parame- a taxi stand is 42 minutes while the average time for a ser- ters. The weights/parameters for each model are specifically vice is only 11 minutes and 12 seconds. Such low ratio of fit for each period/prediction using the function arima from busy/vacant time reflects the current economic crisis in Portu- the built-in R package [stats]. gal and the regulators’ inability to reduce the number of taxis The time-varying Poisson averaged models (both weighted in the city. It also highlights the importance of the predictive and non-weighted) were also updated every 24 hours. A slid- system presented here, where the shortness of services could ing window of 4 hours (H=8) was considered in the ensemble. be mitigated by obtaining services from the competitors. 5.2 Traffic Simulator: An Online Test-Bed 5 Experimental Results The DIVERT [Conceicao et al., 2008] is a high-performance traffic simulator framework which uses a realistic micro- In this section, we firstly describe the experimental setup de- scopic mobility model. The main advantage of this frame- veloped to test our predictive model on the available data. work when facing others is the easiness to create new sim- Secondly, we introduce our simulation model and the exper- ulation modules efficiently. Hence, we have created a new iments associated with. Thirdly, we present our Recommen- model that simulates the real behavior of a taxi fleet. Upon dation System and the metrics used to evaluate our methods. a request, a central entity elects one taxi to do the requested Finally, we present the results. service. Once the service is finished, the same entity recom- 5.1 Experimental Setup for the Predictive Model mends a new taxi-stand for the taxi to go to and wait for a new service. Our model produces an online forecast for the taxi-passenger This framework was employed as an online test-bed for our demand at all taxi stands at each P-minutes period. Our test- Recommendation System. Firstly, the realistic map of the city of Porto - containing the real road network topology and the exact location of the 63 taxi stands in the city – was loaded. Table 1: Taxi Services Volume (Per Daytype/Shift) ). Secondly, we fed the framework with a service log (i.e. a time-dependent origin-destination matrix) correspondent to Daytype Total Services Averaged Service Demand per Shift Group Emerged 0am to 8am 8am to 4pm 4pm to 0am the studied period. However, we just accessed the log of one Workdays 957265 935 2055 1422 out of the two running fleets in Porto (the largest one, with Weekends 226504 947 2411 1909 441 vehicles). To simulate a scenario similar to our own, we All Daytypes 1380153 1029 2023 1503 divided this fleet into two using a ratio close to real one (60% for the fleet A1 and 40% to the fleet B1). The services dis- patched from the central were also divided in the same pro- Table 2: Taxi Services Volume(Per Driver/Cruise Time) portion while the services demanded in each taxi stand will be the same. The fleet B1 will use the most common and tra- Services per Driver Total Cruise Time (minutes) ditional way to choose the best taxi-stand: it will go to the Maximum 6751 71750 nearest taxi stand of each drop-off location (i.e. after a drop- Minimum 100 643 Mean 2679 33132 off, each driver has to head to a specific taxi stand of its own Std. Dev. 1162 13902 choice). However, the fleet A1 will use our Recommendation System to do an informed driving, which considers multiple variables – like the number of taxis in each stand or the de- Both metrics are focused just on one time series for a given mand prediction on them - to support this important decision. taxi stand. However, the results presented below use an aver- Finally, we ran the simulation and we extract the metrics for aged error measured based on all stands series – GA. Consider each fleet. The framework is used to calculate the optimal β to be an error metric of interest. AGβ is an aggregated met- paths between the taxi stand and the passenger location and ric given by a weighted average of the error in all stands. It is the dependent behavior of the fleets (the location of each ve- formally presented in the following equation. hicle will affect the way they get the services). Our main N N goal is to simulate a real scenario behavior and its competi- X GAβ,k ∗ ψk X AGβ = ,µ = ψk (10) tive characteristics while we are testing the Recommendation µ k=1 k=1 System. It is important to notice that both fleets would get similar results if they did not use any Recommendation Sys- We considered three performance metrics in the evaluation of tem. We also highlight that the vehicles will remain parked in our recommendation models: (1) the Waiting Time (WT) and the stand waiting for a service whenever the time it takes to (2) the Vacant Running Distance (VRD) and the number of appear. In this case, we consider the maximum threshold of No Services (NS). The Waiting Time is the total time that a 120 minutes that is deeply detailed in the following section, driver takes between a drop-off and a pick-up (i.e. to leave along with the remaining evaluation metrics. a stand with a passenger or to get one in his/her current lo- cation). The Vacant Running Distance is the distance that a 5.3 Evaluation Methods driver does to get into a stand after a drop-off (i.e.: without We used the data obtained from the last four months to eval- any passenger inside). Independently on the time measured uate our both experimental setups (where 506873 services on the simulation, we always consider a maximum threshold emerged). Firstly, we present two error measurements which of 120 minutes to the Waiting Time. The No Service metric were employed to evaluate our output: one from the literature is a ratio between the number of times that a taxi parked on a and another from our own specifically adapted to our current stand had a waiting time greater than the 120 minutes thresh- problem. Secondly, we detail the two performance metrics old and the number of services effectively dispatched by the used to evaluate our recommendation models. respective fleet. Consider Rk = {Rk,0 , Rk,1 , ..., Rk,t } to be a discrete time 5.4 Results series (aggregation period of P -minutes) with the number of services predicted for a taxi stand of interest k in the pe- Firstly, we present the results obtained by the online experi- riod {1, t} and Xk = {Xk,0 , Xk,1 , ..., Xk,t } the number of ments done with the predictive models. The error measured services actually emerged in the same conditions. The (1) for each model is highlighted in Table 3 and Table 4. The Symmetric Mean Percentage Error (sMAPE) is a well-known results are firstly presented per shift and then globally. These metric to evaluate the success of time series forecast models. error values were aggregated using the AGβ previously de- However, this metric can be too intolerant with small magni- fined. tude errors (e.g. if two services are predicted on a given pe- Secondly, the values calculated for our performance met- riod for a taxi stand of interest but no one actually emerges, rics using the traffic simulator previously described are de- the error within that period would be 1). Then, we propose tailed in the Table 5. The fleet A1 used the Recommendation to also use an adapted version of Normalized Mean Absolute Model 1 (RS1) while the B1 uses the common expected be- Error (NMAE). havior (previously defined). Distinct metrics values are pre- The (2) Average Weighted Error (AVE) is a metric of our sented for the two using different aggregations like the arith- own based on the NMAE. We defined it as metic mean (i.e. average), the median and the standard devi- ation. The No Services ratio is also displayed. t X θk,i ∗ Xk,i AV E 0 = (6) 6 Final Remarks i=1 σk,i ∗ ψk   In this paper, we present a novel application of time series Xk,i if Xk,i > 0 forecasting techniques to improve the taxi driver mobility σk,i = (7) intelligence. We did it in three distinct steps: firstly (1) we 1 if Xk,i = 0   mined both GPS and event signals emitted by a company op- |Rk,i − Xk,i | if Xk,i > th erating in Porto, Portugal (where the passenger demand is θk,i = (8) 0 if Xk,i ≤ th t AV E 0 if AVE’ ≤ 1   X Table 3: Error Measured on the Models using AV E ψk = Xk,i , AV E = (9) 1 if AVE’ > 1 i=1 Periods Model where ψk is the total of services emerged at the taxi stand 00h−08h 08h−16h 16h−00h 24h k during the time period {1, t}. The main feature about this metric is to weight the error in each period by the number of Poisson Mean 21.28% 24.88% 22.88% 23.43% W. Poisson Mean 23.32% 28.37% 26.77% 26.74% real events actually emerged (i.e. the errors on periods where ARIMA 20.85% 26.12% 22.92% 20.91% more services were actually demanded are more relevant than Ensemble 14.37% 18.18% 17.19% 15.89% the remaining ones). Vacant Running Time faced an increase. It is important to Table 4: Error Measured on the Models using sM AP E state that this Recommendation System is focused on a Sce- Periods nario like our own – two or more competitors operating in a Model medium/large city where the demand is lower than the num- 00h−08h 08h−16h 16h−00h 24h ber of running vehicles. Its main goal is to recommend a Poisson Mean 15.09% 19.20% 17.51% 16.84% stand where a service will rapidly emerge – even if this stand W. Poisson Mean 17.32% 20.66% 19.88% 18.47% is far away. The idea is to be in a position able to pick-up ARIMA 16.81% 18.59% 17.85% 18.51% the emerging service demand before the remaining compe- Ensemble 14.37% 18.18% 17.19% 15.89% tition. This factor can provoke a slight increase on the Va- cant Running Time but it will also reduce the usually large Waiting Times to pick-up passengers. Other scenarios may Table 5: An Analysis on the Recommendation Performance require a distinct calibration of the model to account different needs/goals. Performance Metrics A1(RS) B1(common) Average WT 38.98 40.84 Acknowledgments Median WT 26.29 27.92 Std. Dev. WT 33.79 33.22 The authors would like to thank to Geolink and to its Average VRD 3.27 1.06 team for the data supplied to this work. This work was Median VRD 2.80 0.98 Std. Dev. VRD 2.53 0.54 supported by the projects DRIVE-IN: ”Distributed Rout- ing and Infotainment through Vehicular Internet-working”, No Service (%) 11.08% 19.26% VTL: ”Virtual Traffic Lights” and KDUS: ”Knowledge Dis- covery from Ubiquitous Data Streams” under the Grants CMU-PT/NGN/0052/2008, PTDC/EIA-CCO/118114/2010, lower than the vacant taxis). Secondly, we predicted - in a PTDC/EIA-EIA/098355/2008, respectively, and also by real-time experiment - the distribution of the taxi-passenger ERDF - European Regional Development Fund through demand for the 63 taxi stands at 30-minute period intervals. the COMPETE Programme (operational programme for Finally, we recreated the scenario running in Porto, where competitiveness), by the Portuguese Funds through the two fleets (the fleet A and B, which contain 441 and 250 ve- FCT(Portuguese Foundation for Science and Technology) hicles, respectively) compete to get as many services as pos- within project FCOMP-01-0124-FEDER-022701. sible. We did it using a traffic simulation framework fed by the real services historical log of the largest operating fleet. References One of the fleets used our Recommendation System for the [Box et al., 1976] G. Box, G. Jenkins, and G. Reinsel. Time Taxi Stand choice problem while the other one just picked the stand using a baseline model corresponding to the driver series analysis. Holden-day San Francisco, 1976. common behavior in similar situations. [Chang et al., 2010] H. Chang, Y. Tai, and J. Hsu. Context- Our predictive model demonstrated a more than satisfac- aware taxi demand hotspots prediction. International tory performance, anticipating in real time the spatial distri- Journal of Business Intelligence and Data Mining, 5(1):3– bution of the passenger demand with an error of just 20%. 18, 2010. We believe that this model is a true novelty and a major [Conceicao et al., 2008] Hugo Conceicao, Luis Damas, contribution to the area through its online adapting charac- Michel Ferreira, and Joao Barros. Large-scale simulation teristics: of v2v environments. In Proceedings of the 2008 ACM • It takes advantage of the ubiquitous characteristics of symposium on Applied computing, pages 28–33. ACM, a taxi communicational network, assembling the expe- 2008. rience and the knowledge of all vehicles/drivers while [Contreras et al., 2003] J. Contreras, R. Espinola, F. J. No- they usually use just their own; gales, and A. J. Conejo. Arima models to predict next-day • It simultaneously uses long-term, mid-term and short electricity prices. IEEE Transactions on Power Systems, term historical data as a learning base; 18(3):1014–1020, 2003. [Cryer and Chan, 2008] J. Cryer and K. Chan. Time Series • It rapidly produces real-time short-term predictions of Analysis with Applications in R. Springer, USA, 2008. the demand, which can truly improve drivers’ mobility intelligence and consequently, their profit. [Deng and Ji, 2011] Z. Deng and M. Ji. Spatiotemporal structure of taxi services in shanghai: Using exploratory This approach meets no parallel in the literature also by spatial data analysis. In Geoinformatics, 2011 19th Inter- its test-bed: the models were tested in a streaming environ- national Conference on, pages 1–5. IEEE, 2011. ment, while the state-of-art presents mainly offline experi- mental setups. Our simulation results demonstrated that such [Holt, 2004] Charles Holt. Forecasting seasonals and trends informed driving can truly improve the drivers’ mobility in- by exponentially weighted moving averages. International telligence: the fleet A1 had an Average Waiting Time 5% lower Journal of Forecasting, 20(1):5–10, 2004. than its competitor – even if it has a larger fleet. We also high- [Kaltenbrunner et al., 2010] Andreas Kaltenbrunner, Ro- light the reduction of the No Service ratio in 50% while the drigo Meza, Jens Grivolla, Joan Codina, and Rafael Banchs. Urban cycles and mobility patterns: Exploring [Zhang, 2003] G.Peter Zhang. Time series forecasting using and predicting trends in a bicycle-based public transport a hybrid arima and neural network model. Neurocomput- system. Pervasive and Mobile Computing, 6(4):455–466, ing, 50:159–175, 2003. 2010. [Lee et al., 2008] J. Lee, I. Shin, and G.L. Park. Analysis of the passenger pick-up pattern for taxi location recom- mendation. In Fourth International Conference on Net- worked Computing and Advanced Information Manage- ment (NCM’08), volume 1, pages 199–204. IEEE, 2008. [Li et al., 2011] B. Li, D. Zhang, L. Sun, C. Chen, S. Li, G. Qi, and Q. Yang. Hunting or waiting? discover- ing passenger-finding strategies from a large-scale real- world taxi dataset. In 2011 IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOM Workshops), pages 63–68, March 2011. [Li et al., 2012] Xiaolong Li, Gang Pan, Zhaohui Wu, Guande Qi, Shijian Li, Daqing Zhang, Wangsheng Zhang, and Zonghui Wang. Prediction of urban human mobility using large-scale taxi traces and its applications. Frontiers of Computer Science in China, 6(1):111–121, 2012. [Liu et al., 2009] L. Liu, C. Andris, A. Biderman, and C. Ratti. Uncovering taxi drivers mobility intelligence through his trace. IEEE Pervasive Computing, 160:1–17, 2009. [Min and Wynter, 2011] W. Min and L. Wynter. Real-time road traffic prediction with spatio-temporal correlations. Transportation Research Part C: Emerging Technologies, 19(4):606–616, 2011. [Moreira-Matias et al., 2012] Luis Moreira-Matias, Joao Gama, Michel Ferreira, Joao Mendes-Moreira, and Luis Damas. Online predictive model for taxi services. In Advances in Intelligent Data Analysis XI, volume 7619 of LNCS, pages 230–240. Springer Berlin Heidelberg, 2012. [Phithakkitnukoon et al., 2010] S. Phithakkitnukoon, M. Veloso, C. Bento, A. Biderman, and C. Ratti. Taxi- aware map: identifying and predicting vacant taxis in the city. Ambient Intelligence, 6439:86–95, 2010. [Wang et al., 2003] H. Wang, W. Fan, P.S. Yu, and J. Han. Mining concept-drifting data streams using ensemble clas- sifiers. In Proceedings of the ninth ACM SIGKDD interna- tional conference on Knowledge discovery and data min- ing, pages 226–235. ACM, 2003. [Yeasmin and Rob, 1999] Khandakar Yeasmin and J. Hynd- man Rob. Automatic Time Series Forecasting: The fore- cast Package for R, 1999. [Yuan et al., 2010] J. Yuan, Y. Zheng, C. Zhang, W. Xie, X. Xie, G. Sun, and Y. Huang. T-drive: driving direc- tions based on taxi trajectories. In Proceedings of the 18th SIGSPATIAL International Conference on Advances in Geographic Information Systems, pages 99–108. ACM, 2010. [Yue et al., 2009] Y. Yue, Y. Zhuang, Q. Li, and Q. Mao. Mining time-dependent attractive areas and movement patterns from taxi trajectory data. In Geoinformatics, 2009 17th International Conference on, pages 1–6. IEEE, 2009.