by Evan Fields, lead data scientist at Zoba. Evan holds a PhD in Operations Research from MIT, believes aggressively in cities, bakes enthusiastically, and can be found on Twitter at @evanjfields.
Zoba provides demand forecasting and optimization tools to shared mobility companies, from micromobility to car shares and beyond.
In previous posts, we discussed how we think about micromobility demand at Zoba, why we base our demand estimates off of usage rather than search data, and why placing vehicles simply where they’ve been ridden in the past can lead to bad feedback loops. So suppose you’re a micromobility operator, you’ve inferred demand for your service, and you’re determined to avoid costly feedback loops — then what?
Often, demand estimation can provide valuable macroscopic insights. For example, at Zoba we’ve seen markets where demand is high until midnight each night, but the usage falls sharply around 10pm because the operator begins the nightly process of removing vehicles from the street. In such a case, understanding that demand remains high past the time vehicles are typically removed from the street allows an operator to decide whether it is worth adjusting the pick up time to capture the rides late at night. We’ve also seen many markets where certain areas of the city — typically between the dense urban core and outlying suburban areas — have high demand at commuting times but are not supplied with vehicles; understanding demand suggests promising new drop-off locations.
Understanding demand also unlocks efficient micromobility operations. An operator can affect system dynamics using tools such as pricing, vehicle rebalancing, and vehicle deployment. In this post, I’ll focus on optimal vehicle placement, which includes both rebalancing and deployment.
When a micromobility operator places vehicles — scooters, mopeds, e-bikes, etc. — on the street with the goal of capturing rides, the operator should balance three oft-competing goals:
- Place vehicles where users will ride them now.
- Place vehicles where users will ride them later.
- Place vehicles so that users will ride them to high demand areas, thereby keeping the vehicles in circulation.
If the operator knows the demand for their service, the first two goals are easy to achieve individually. For example, an operator deciding on a morning vehicle deployment can relatively easily place vehicles where demand is high from 8–10am. The third goal, however, can be trickier; it requires understanding how customers’ movement patterns vary spatio-temporally. Most challenging of all is balancing between these goals: should a marginal vehicle be placed in an area that currently has moderate demand or a separate area that will have quite high demand in a few hours?
The inevitable tradeoffs between these goals can be balanced through (spatial) mathematical optimization. Mathematical optimization (often called mathematical programming for historical reasons) is the selection of a best element from some set of available alternatives. Mathematical optimization techniques almost always share a few important elements:
- A real-world problem is distilled into a mathematical model.
- This model contains decision variables which represent real-world choices: for micromobility, decisions like where and when to place vehicles, how many vehicles to place, and how to price vehicles could all correspond to decision variables in a model.
- The decision variables are subject to constraints that limit which values may be chosen for these variables. For example, suppose a micromobility operator has 1000 vehicles and is using mathematical optimization to decide how many vehicles to place at each station. Then there could be a decision variable for each station representing how many vehicles to place at that station, and the sum of these decision variables would be constrained to be no more than 1000.
- An objective function evaluates how good a set of values for the decision variables is. When optimizing micromobility operations, objective functions like total revenue or total rides captured are natural choices.
- The model can then be solved to find the values for the decision variables which produce the best value of the objective function, e.g. the allocation of scooters to stations which maximizes revenue.
In short, the essence of mathematical optimization is to transform a real world problem into a formalized mathematical model with decision variables and then to find the values of those decision variables which maximize (or minimize, depending on the problem) an objective.
At Zoba, we balance the three competing vehicle placement goals using mathematical optimization. Our model is a mixed integer linear program which essentially simulates how the mobility system will evolve over the course of a day.¹ This model captures the expected pattern of rides over space and time, including where each ride will start and end. The decision variables include vehicle placement, and the objective is to maximize total rides. Thus solving the optimization model reveals the optimal vehicle allocation. Because our model includes important dynamics like spatio-temporal variation in demand and time-dependent user movement patterns, solving the model naturally balances between the three competing vehicle placement goals described above. Additionally, the mathematical formulation naturally supports physically meaningful constraints on the decision variables; our model can include constraints like “no more than 5 vehicles at station 47,” “deploy between 900 and 1100 vehicles total”, “rebalance at most 20% of the fleet,” and so forth.
It’s worth highlighting a fantastic consequence of using a linear programming model: when we solve the model (we use one of the industry-leading mathematical programming solvers), we’re guaranteed to get a certified globally optimal solution. That is, no other deployment of vehicles would produce more rides according to our model. And because we work hard to continuously improve our model (and are quite proud of it!), this gives us extra confidence that our optimizations consistently discover excellent vehicle allocations. Additionally, the knowledge that we always solve models to certified optimality lets us focus our entire attention on improving our models rather than worrying about solution techniques.
The potential ride and revenue impacts of optimal vehicle placement are significant. Our internal research has yet to identify a micromobility service that could not capture at least 5% more rides with optimal vehicle placement, and some services seem to be leaving an extra 50% rides on the table due to suboptimal vehicle placement! Many operators also spend resources on reallocating vehicles to areas which are already over-supplied. These huge potential gains highlight the importance of continuous, dynamic optimizations. Real-world conditions are perpetually in flux, and the best way to serve users and capture rides is to continuously optimize operations with up-to-date data. Optimization is particularly important because optimal vehicle distributions are often counterintuitive — stay tuned for a follow-up post where we explore how optimal vehicle distributions vary over time.
[1] More precisely, we simulate how vehicles will move around a city from the beginning of the optimization period until the next rebalancing. For example, if optimization is performed at 6am for a daily deployment that will be completed at 8am, we would find the distribution of vehicles at 8am which leads to the most rides captured 8am-midnight. If a midday rebalancing will be performed at noon, we would instead optimize the shorter period of 8am-noon.
Zoba is developing the next generation of spatial analytics in Boston. If you are interested in spatial data, urban tech, or mobility, reach out at zoba.com/careers.