###### tags: `WebHack#35` # How we guess ETA (Estimated Time of Arrival) Speaker: __Guanfeng Wang__ Slides: _TBD_ ## Talk ### Agenda #### Introduce Grab - A car sharing service #### Current Stats - Accuracy: say the dirver is actually 4 mins away from you, averagely we may give an ETA between 3 and 5 mins - Peak QPS: 30K (expect 50k by the end of this Q) #### Motivation - Quality of existing API/services/venders - Customization (e.g., 2w) - Cost #### Impact - Fundamental input for everything - Just save millions of dollars per year #### System MVP - Use Go (lang) to build this MVP - System Components - Sense - Memorise - Predict - Administer (future work) #### Sense - Map - Geometry - Traffic Rules - Events - Where is the driver - Fix the fake/wrong GPS information - Map matching - Customization - Filtering - Traffic - Aggragate drivers' data - Unit size - Scalability - Durability - Evaluation #### Memorise - Cooperate Data Engineers, DB Ops, Sys Ops #### Predict - Routing - Classic trade-off between preprocessing time and online query latency - Some abstraction - Road indexing (like DB indexing) - Is shortest route always the best to recommend? - Our goal is not only to solve these immediate problems, but also create a system that would grow with the business. - ETA - How we solve it? - real-time sensed locations - historical data points - varios ML models #### Administer (futre work) - City-level optimisation ### Q & A - Q: do you have different version of sparse graph indexed based on time or historical data from same source and destination? A: Yes and NO. We have a unified algorithm. - Q: About predicting driver location, you mentioned using Hidden Markov Model to estimate the driver location as the hidden state and sensor information as observations. Can you talk more about how do you model location data as Markov state? A: - Q: A: