Open sourcing Zoba's Julia geohashing package

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.

At Zoba, we deal with a lot of event data that happens at discrete points: a user unlocks a scooter, a vehicle has its battery swapped out, a user ends a one-way car-share trip, etc. When analyzing these data, it’s often useful to group events spatially. Typically this grouping is accomplished via a grid system. A grid is a set of non-overlapping polygons which covers a region, usually the whole world. Each point is therefore associated with a single polygon (a “grid cell”), and we can discuss statistics like “the average number of rides on a Wednesday” for each grid cell. Many grid systems also support varying granularity so that the world may be divided into a few large polygons or many small polygons.

The most common grid systems — also known as geocoding systems and closely related to spatial indices — include Uber’s H3, Google’s S2, and variations on the geohash system. Every grid system involves trade-offs between desiderata such as simplicity, speed, low spatial distortion, equally sized cells, consistent distances between neighboring cells, and so forth. Stay tuned for a blog post exploring the trade-offs between these systems!

Geohash based systems are among the simplest grid systems; they “unwrap” the surface of the Earth to a longitude-latitude rectangle and then subdivide that rectangle. This procedure introduces nontrivial spatial distortion, especially over large regions. Nonetheless, at Zoba we’re big fans of geohash systems because they’re so simple and work well in most cases where the cells are small. In particular, geohash grid cells are intuitive and easy to explain: they’re just latitude-longitude rectangles. Geohash cells at different granularities also nest perfectly (i.e. a granularity-n cell can be perfectly divided into granularity-(n+1) cells), a useful property not shared by all grid systems.

Accordingly, many of our analyses have used Hilbert-curve flavored geohashing¹ as provided by a small open-source Python library. In addition to Python, we use Julia heavily, especially for computationally-intensive data science work. So we decided to write a Julia implementation of Hilbert curve geohashing, which would allow us to use geohashing in Julia without relying on language bridges. Further, we’re big fans of open source — much of our tech stack from LibGEOS on up to Django is open source software — and we wanted to give something back to the community.

To that end, today we’re delighted to announce the initial release of GeohashHilbert.jl, a small pure Julia package providing Hilbert-curve geohashing. This package is fully interoperable with the aforementioned Python package; encoding locations as geohash cells or decoding cells to locations will provide the same result in either package. We welcome use, feedback, and contributions, and hope to release more Zoba-built open source geospatial tools in the future.

[1] A Hilbert curve is used to order the grid cells in the subdivided longitude-latitude rectangle; this has the nice property that nearby grid cells tend to have similar identifiers.

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 Qs: Erica Bacon, COO of Volvo Car Mobility USA

Zoba Qs (10).png

Zoba Qs is a series in which we sit down with leaders from across the mobility space to discuss what’s around the bend. Zoba is on the frontlines of enabling new forms of mobility in cities. In doing so, we get to learn from some impressive leaders in the space, and here, you will get to meet some of them as well.

Today’s post features a good friend and the COO of Volvo Car Mobility USA, Erica Bacon. Erica has experience across the shared mobility space, as an operations leader at Avis, Chariot, ZipCar, and now helping to lead Volvo Car Mobility. This experience has given her clarity on some key questions, including how car sharing might fit alongside AV ride-hailing and what an autonomous future might look like from the perspective of the consumer. Fundamentally, she is interested in giving people the freedom to choose how to move.

Our conversation follows. I hope you enjoy it as much as I did.

-Dan Brennan, Zoba Cofounder

Dan: Thanks for sitting down with me. To set some context, can you talk about your background in mobility and how you became the COO of Volvo Car Mobility USA?

Erica: I’ve worked for some really incredible companies over the last decade. I spent several years at Avis Budget Group with leaders that mentored me in operational fleet and business management, and from there I went on to manage the Zipcar business for New York/Tri-State and navigated the competitive car-sharing environment. Last year I dove into the emerging shared mobility space with Ford’s Chariot where I worked with city governments to shape a service based on their unique transport needs. When Ford made the decision to dissolve Chariot, I had the opportunity to network and learn about interesting mobility projects here in the US, which is what led me to Volvo Car Mobility, or “M.”.

My decision to join Volvo Car Mobility (VCM), came down to a few key factors: leadership — my boss Stephanie Crimmins is the type of leader I can continuously learn from and I knew she would challenge me professionally; brand — I absolutely love Volvo’s commitment to becoming the first premium car maker to shift its entire portfolio into electrification; and, opportunity — the mobility space is too exciting to watch from the sidelines and having a role in which I can influence the evolution of this fast-paced environment is highly motivating.

D: What has motivated you to build a career in this space?

E: Our city populations are increasing at an unprecedented rate. With greater demand (and decreased funding) for public transportation than ever before, urban residents are looking for new solutions to get from point A to point B. And yet, when we look back at the last 100 years in the mobility industry, not much has changed at the heart of it. Car ownership is still the status quo. Privately owned cars sit idle at least 96% of the time, so that’s a fairly expensive 4% when we factor in the time and money spent on a car, parking, insurance and more.

While we’ve seen some disruption in how we access cars (car sharing, ride hailing, etc.) we’re only at the start of seeing the vehicles themselves migrate from gas-powered human-operated to something new and transformative. I’ve dedicated a career in this space because there are meaningful improvements to be made (some of them small but significant) and if we get it right, the ripple effect will not only enable our cities to really embrace this growth, but really impact people’s everyday lives. It’s exciting to think about playing a role in that future.

“… if we get it right, the ripple effect will not only enable our cities to really embrace this growth, but really impact people’s everyday lives.”

D: What is Volvo Car Mobility and what are you building? Why did Volvo decide to get into the mobility services game?

E: Over the past 5 years, Volvo Car Group has established various standalone companies, each focused on an area of innovation within mobility: Polestar, focused on electrification; Zenuity, focused on autonomous technology; and Volvo Car Mobility, focused on shared mobility. We are a wholly-owned, standalone company headquartered in Stockholm.

D: From an operators perspective, what do you have to get right to successfully operate a shared mobility service?

E: One of the controllable (and often forgotten) differentiator is customer service. This is still a high-touch customer environment and driving a car (or other mobility option) is still a very emotional experience. Even with incredible customer experiences — it’s important to always anticipate and prepare for the moments when things go wrong (and they’ll happen). What makes an organization great is through quick responses, empathy, and equitable solutions that leave the customer feeling truly valued. Some companies lose sight of the lifetime value of customers and most often the customers with the biggest problems, if resolved correctly, will be your biggest fans. To get it right is to have customers intrinsically separate the service from the pack because the value prop stands out.

D: On that same note, what do you see as the biggest challenges to shared mobility services in the US over the next few years?

E: As more private mobility providers enter the market, we’re seeing natural periods of friction between them and the municipalities and existing infrastructure. And some of the challenges we’re experiencing, our European friends have set an example for years ago. From instituting congestion taxes to building bike lanes where parking spots used to be — or even banning cars in downtown areas altogether. Delivery traffic is going to substantially increase over the next 10 years as well, so cities play a critical role in how future congestion can be managed. Removing on-street parking is highly unpopular in the short term, but over time, these infrastructure changes create magnitudes of value for mobility freedom and the impact on our environment.

“Delivery traffic is going to substantially increase over the next 10 years as well, so cities play a critical role in how future congestion can be managed.”

D: Where does data science fit into your overall strategy? Is it more applicable to operations, customer acquisition, or another area of your business?

E: Data science is applicable to every function of the business. We are incredibly fortunate to have brilliant partners that give us data-driven guidance. The days of manual trial and error processes to determine success are removed when you can begin with data-driven strategies. Leading with data allows us to be nimble in this aspect and adjust our business processes as the data and results flow in.

“Data science is applicable to every function of the business. We are incredibly fortunate to have brilliant partners that give us data-driven guidance.”

D: We definitely agree on that that one. So how are the futures of car sharing services and autonomous vehicle ride hailing intertwined? Or are they?

E: I think there will absolutely be crossover, but I still predict people will have the desire to drive and get behind the wheel, creating greater utilization of car-sharing vehicles as well as product offer diversity. Based on studies from groups like Boston Consulting Group and McKinsey, we can prepare for the shift. By 2030: 25% of miles driven will be from shared, automated EVs and by 2040: shared AV’s will reach 35% market penetration.

D: What makes you optimistic about the future of mobility?

E: I think we’re at the beginning of real mobility change and the market is finally evolving instead of resisting this change. By 2022, we’ll have almost 3 million zero emissions EV’s on the road and Bloomberg New Energy Finance notes that by 2040, 80% of shared AV’s will be electric. What this tells us is that in a not so distant future, EV infrastructure and shared EV and AV adoption are going to explode and become mainstream. The technology and performance of these vehicles will encourage buyers to move away from personally owned, outdated fossil fuel solutions and move toward shared, electric autonomous solutions. This disruption prompts a lot of players to join the mobility world. A great analogy for this is the transformation we saw from Blockbuster to Netflix in terms of a mobility scenario over the next 10–20 years.

“A great analogy for this is the transformation we saw from Blockbuster to Netflix in terms of a mobility scenario over the next 10–20 years.”

D: What do you think will be the most fundamental change in how people move around cities over the next 20 years?

E: In my mind, fundamental change will be about the freedom of choice people have — not only how we get around, but also what the experience feels like, what it costs, and how it enables other opportunities in our lives. Cars have long represented freedom, enabling people to come and go as we please, simply by getting behind the wheel of our personally owned vehicles. That promise of freedom remains, but we are also faced with gridlock traffic, increased parking dilemmas, and inequitable costs of ownership that are effectively and completely out of our control.
 In a further future, I envision traveling with my family in a shared, electric, autonomous vehicle — focused on enjoying the experience together and the scenery around us, as opposed to traffic or safety concerns. To me, that mental shift in choice and control is destined to happen for everyone.

“To me, that mental shift in choice and control is destined to happen for everyone.”

D: And finally, what are you reading or following to stay ahead in the space?

E: Susan Shaheen, a pioneer and thought leader in future mobility strategies, and Sandra Phillips, Founder and CEO of movmi, always provide some great research within the space and I really enjoy following them. These days I’m following our political environment quite closely! How our country, states, and cities are managed directly impacts how our infrastructure is created and policy changes to enable mobility to evolve in a truly meaningful way. Look at cities like London, Amsterdam, and Stockholm — policies and infrastructure really do have power in the mobility space.

D: Erica, thank you so much. It’s been an absolute pleasure and I can’t wait to see what you and the rest of the Volvo Car Mobility team do for the future of shared mobility.

Zoba provides demand forecasting and optimization tools to shared mobility companies, from micromobility to car shares and beyond.

App-opens: a perilous proxy for shared mobility demand


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.

In my last post, I outlined the difference between demand for a mobility service and the utilization of that service. The natural question is then "okay, how do I know the demand?" In the mobility space, there's a common misconception that app-open or search data perfectly indicate the demand for a mobility service. We often see this misconception at Zoba and the topic was a large part of my PhD research, so I want to explore some of the perils of relying on search as a proxy for demand.

The intuitive logic¹ linking search to demand goes like so: "To use my mobility service, my customers must first open my app and search for a vehicle. Customers search if and only if they want to use the service. Therefore, knowing the spatio-temporal pattern of searches is the same as knowing the spatio-temporal pattern of demand." In other words, this argument envisions a world that looks like so (arrows represent causal effects):

simplemodel (2).png

In the above diagram, search is caused only by demand. In this post, I want to try to convince you that the situation isn't so simple. Search and app-open data may contain valuable information about demand, but are not perfect proxies thereof. In fact, these data are typically subject to lots of noise and confounding factors, and the real world looks more like the following byzantine diagram:

complex (1).png

Notice how many factors affect search in this diagram! A mobility operator who naively assumes that search is a perfect proxy for demand will produce flawed demand estimates, inevitably leading to suboptimal utilization.

Before we dive in, some brief nomenclature:

  • App-open data describe the conditions under which a mobility service's app was opened: who opened the app, when and where they opened it, what kind of device they used, etc.

  • Search data describe searches users initiate to investigate a mobility service’s available resources. Like app-open data, search data typically contain information on who/when/where/how the search was made. In addition, search data may contain information on what the user actually searched for.

Some mobility providers record app-opens but not searches or vice-versa. App-opens almost always trigger searches; when I open a shared mobility app, I typically see something like this:


These images show apps from Lime and Bird, the largest US scooter operators, and Zipcar, the largest US car share operator; almost all shared mobility apps have similar home screens. Opening the app triggers a search so the user can be shown nearby vehicles. Therefore app-opens can be considered a specific kind of search; in this post I use “search” as an umbrella term which also encompasses app-opens. 

With this broad definition of search in mind, we're ready to elaborate the three reasons search data aren't a great proxy for demand: 1) users can search without demand; 2) users can have demand without searching; 3) interpreting search data is difficult.

Search without demand

There are myriad ways in which a user can trigger a search when they don't actually want to use or reserve a vehicle. We've already encountered one of these ways: app-opens trigger searches. But users open apps for many reasons beyond immediately trying to use a vehicle: to investigate pricing or availability, to review past rides, in response to notifications, to update profile or payment information, accidentally, etc. Therefore, unless you believe the spatio-temporal distribution of these non-demand app-opens has exactly the same shape as the spatio-temporal distribution of demand (my prior on this is extremely low; your mileage may vary), then non-demand-related app-open searches distort the search data away from perfectly matching latent demand.

Each particular type of non-demand app-open likely represents only a small fraction of app-opens and total searches, but they add up. More generally, there are lots of ways in which users can trigger searches without particularly having immediate demand, and in aggregate these non-demand searches likely do meaningfully distort the search data away from well representing latent demand. Here are a few other kinds of non-demand searches:

  • Every time a user drags a map in-app, a new search is triggered to display the available vehicles within the updated region shown. My PhD dissertation considered car sharing search data, and in my research I found that this kind of "map drag" search made up a plurality of total searches! And search data can’t be cleaned by simply discarding map drag searches because sometimes such searches do represent user intent: a user will drag a map right where they want a vehicle.

  • A user can search to investigate the pricing or availability of vehicles without any intent to actually use one of the vehicles the search might reveal.

  • A user can search accidentally, for example by mistyping the address or time at which they would like a vehicle.

Demand without search

It's also quite common for a user to have demand for a mobility service without conducting any searches. For example, a user could leave their home on foot and head to a bakery for a tasty cookie, hoping to find a scooter on the way to speed up the trip. If the user doesn't find a scooter on the way, then they'll have unmet demand despite never searching for a vehicle. In addition, users only search intentionally when they have some hope of finding a vehicle. For example, imagine a user who would like to use scooters for their morning commute. If that user searches for a week but finds no vehicles near their home, they’ll likely give up searching indefinitely, even though they have demand every workday. As a result, search data almost surely fail to accurately capture demand in areas with historically low vehicle coverage.

More dramatically, users don't search when there's nothing to search for. That is, in any market that lacks a given mobility service, users will conduct almost no searches, even if they would like to use that service. In fact, I'm an example of this behavior. Zoba is based in Boston and I live across the river in Cambridge. Neither Boston nor Cambridge currently allows scooter companies like Bird or Lime to operate within city limits. So even though I have lots of demand for these kinds of micromobility services (they are, after all, very cool), I trigger exactly zero searches.

Difficulty of interpretation

Even in the cases where a search is intentionally triggered by a user because they want a vehicle, it can be hard to interpret what the search tells us about that user's demands and preferences. Here are a few examples (all of which I've done myself or encountered in my academic research):

  • Users often search for vehicles at convenient locations such as landmarks or their current locations (recall the automatically triggered app-open searches) rather than the exact locations where they are hoping to find vehicles.

  • Users often make repeated almost-identical searches, especially if the offered price for a vehicle or ride may change search-to-search. Are repeated searches evidence of high demand or evidence of high price sensitivity?

  • A user can see a vehicle and spontaneously decide to use it. As the user pulls out their phone and opens the app, they trigger a search. In other words, the supply of vehicles has a causal effect on the searches performed.

  • Users make sequential searches when trying to find a vehicle that meets their needs. Suppose a user searches at one location, finds nothing, and then searches at a second location. Should the second search count towards that user’s demand? They probably wanted a vehicle at the second location enough to search for it, but had they found a vehicle they liked via the first search, they wouldn’t have continued searching.

  • Suppose a user searches for a vehicle, finds a vehicle matching their search, and then doesn't use that vehicle. Why? Did they really want the vehicle, but it was too expensive? Were they willing to use the vehicle at the offered price but something came up last minute? Were they just exploring options?

These last two bullets illustrate an important point: search is cheap. Triggering a search costs a user just a few seconds and no money, so users trigger lots of searches, including searches which don’t perfectly match their preferences. In contrast, actually using a vehicle is relatively expensive in time and money, so users are incentivized to only use a vehicle when doing so meaningfully satisfies their needs.


The central premise of the "demand = search" argument is that users search if and only if they have demand. We've seen that users can search without demand for mobility and can have demand without searching. Therefore, this premise doesn't universally hold, and we need to be careful when interpreting search data. Even in cases where a user searches because they have demand, the exact searches they make result from complicated interactions between the user's preferences, the user's price sensitivity, the supply of available vehicles, and the software the user relies on to perform the searches.

As a result, search data does indeed contain information about demand, but accessing that demand signal requires disentangling the many confounding factors which plague search data. Given these challenges, search data are a fraught foundation on which to build demand estimation models. Usage data, such as rides and booking data, are low-noise and unambiguously capture what users were willing to pay for. At Zoba, we've chosen to build our demand models on top of these data² while continuing to explore how search data might enhance our models.

Addendum: what about Uber?

Hold up a minute! What about Uber? Don't they use search data to estimate demand, and aren't they, like, really good at spatial data science? Uber does use search data as part of their demand estimation strategy, but there are a couple important distinctions to be made between ride-hailing services like Uber and other mobility offerings. Perhaps most importantly, searches for Uber mean something different than searches for most other mobility providers. When a user searches for an Uber ride, they explicitly indicate to Uber their origin and destination; Uber responds with a cost in dollars and minutes to serve the desired trip. In contrast, when a user searches within a shared mobility service, they're exploring what supply is available rather than requesting resources to meet a specified need. So in some sense, Uber searches are representative of user desires in a way that shared mobility searches may not be. Nonetheless, even Uber searches are subject to many of the confounding factors outlined above, which is perhaps a part of why Uber employs hundreds of data scientists and needs a demand modeling team.


¹ Besides “I heard Uber uses search so I probably should too.” More on this in the addendum.
² To be clear, the utilization data are not the same as demand. They are, however, a highly reliable source from which to infer demand using specialized models, which is one of Zoba’s core competencies.

What 5 Million Scooter Rides in Austin Can Tell Us About the Future of Micromobility

by Erik Bauch, technical product lead & data scientist at Zoba. Erik holds a PhD in Physics from Harvard and has chosen scooters and bikes as his favorite modes of transportation. Follow him on Twitter @ErikBauch.

Zoba provides demand forecasting and optimization tools to shared mobility companies, from micromobility to car shares and beyond.

At Zoba, we provide demand forecasting and fleet optimization software as a service to micromobility companies working to improve their performance. In doing so, we tend to be focused on precise measurement and adjustment to capture demand in a given market. On some occasions, though, we like to zoom out and take a more macroscopic look at the micromobility industry. 

The City of Austin has become a bit of a proving ground for micromobility companies over the last year. We dove into the micromobility data made available to the public by the city to see what there is to learn about the state of affairs in micromobility more generally. 

Austin scooter trips start (white) and end points (blue) visualized with  for morning commute trips in January 2019

Austin scooter trips start (white) and end points (blue) visualized with for morning commute trips in January 2019

The Austin dataset consists of 5 million scooter rides and 290,000 bike rides recorded between April 2018 and July 2019 (and counting). Ride attributes include trip distance, trip duration, trip start, and end time (rounded to the nearest quarter of an hour for anonymity). Until April 2019, the data also included start and end coordinates of trips (rounded to block-level precision). 

Scooters in Austin

Austin, with an estimated population of 960,000, is not your typical scooter city. The city has eight licensed scooter operators, which provide more than 18,000 vehicles and cater close to 500,000 monthly rides at peak times. In comparison, San Francisco (estimated population of 880,000) had until recently limited the amount of scooter operators to exactly two, each with an allowed 625 devices—1250 in total. Few cities come close to Austin’s supply levels.


Looking at monthly ride numbers, the impact of micromobility in Austin is striking: in the past 16 months, scooter rides have increased tenfold with ride numbers approaching 500,000 monthly trips in April and May 2019. This trend is modulated by individual events such as South by Southwest, the annual music-film-gaming-tech conference. This year in March, South by Southwest drew in more than 400,000 visitors and its impact on ridership is clearly visible. In addition to visitors, the overall ride numbers are impacted by the change of seasons, weather, supply levels, and other factors. 

Scooter Economics

The viability of scooter sharing companies has caused quite a debate, with much of the information coming from opaque or dated sources. The open Austin data sheds light on the challenges of scooter sustainability. 

Scooter Lifetime - The lifetime of scooter devices is currently one of the most contentious topics in micromobility. A Quartz analysis on micromobility in Louisville suggested that early scooter models generally did not last longer than a month, a claim that was heavily disputed by scooter operators. A recent LA Times article looked at Bird's in-app data for Los Angeles and provides the most comprehensive analysis of scooter lifetimes to date. The analysis suggests that depending on the model of scooter, lifetimes vary between 2.5 and 5 months. However, the data are undisclosed and the reported values are therefore hard to verify. 

The Austin dataset does not provide scooter lifetimes directly. We can, however, calculate the period during which a scooter was active in Austin by subtracting the earliest observed date a trip was recorded for the scooter from the latest. The chart below shows how long scooters remain active.


From 27,000 unique scooters deployed between April 2018 and January 2019, we find that the median active period of the typical Austin scooter was 53 days. We purposefully excluded all vehicles from the analysis that have been introduced after January 2019 as their active period is likely ongoing and would be artificially shortened otherwise.

The active period for Austin is longer than what has been reported for Louisville (average 29 days), but falls short of the lifetimes reported for Los Angeles (average 126 days). Moreover, we expect that this metric will change with time. Scooter providers including Bird and Lime are replacing earlier off-the-shelf scooter models with more rugged, durable devices at a remarkable speed. Better theft and damage management, as well as improved coordination with the city, will likely positively affect scooter lifetimes. For this reason, we extended our analysis and looked at the active period of scooters as a function of the month they were first deployed in Austin—and the results may come as a surprise. 


Our analysis suggests that while scooters rolled out in April 2018 were generally active for less than two weeks, the active period of the average scooter in Austin has been rapidly increasing. Remarkably, the median active period of a scooter deployed in January of 2019 was at least 106 days—more than eight times longer than scooters deployed in April the year before. 

Rides per scooter per day - One of the most important business metrics of a scooter other than lifetime is its average number of daily rides. Individual scooters with increased daily rides generate more revenue. Several temporal and spatial factors can influence the number of rides per day including day of week, time of day, large scale events, and bad weather.


Taking the active periods from all scooters, we count the total number of deployed vehicles at any given day and combine it with the daily rides between April 2018 and July 2019. From here we can calculate the average rides per scooter per day. Strikingly, while Austin has seen a steady increase in the number of active vehicles  – more than 18,000 during South by Southwest – the rides per day per vehicle have plummeted.

In fact, while scooters in Austin collected between two and six trips a day in the earlier part of 2018, the average Austin scooter had just one trip per day in 2019. We note that while actual scooter utilization numbers may be slightly better—we can only estimate the amount of total active vehicles from the ride data—it’s clear that on a per vehicle basis, utilization decreased as supply increased. This is likely because supply outstripped demand, at least in areas that are currently serviced. Often, this effect is exacerbated by operators overservicing the same areas and under-servicing others. This calls to mind pictures of dozens of scooters piled on street corners. 


Taken together, the Austin open mobility dataset sheds some light on the state of micromobility. It is clear from the data that adoption of new micromobility services has been rapid and that there is a large base of demand from both regular users and visitors. The data show that vehicle active periods have increased substantially over time, likely from the introduction of custom hardware. This bodes well for an industry so focused on unit economics. 

It is also clear that demand is not infinite. While many cities have aggressively capped operators, Austin’s more generous permitting has led to supply levels that have depressed utilization. These rates – as low as one ride per vehicle per day – are often used as a sign of a great scooter bust. But there is reason to believe higher utilization rates are possible not just in lower supplied markets, but even in cities like Austin. 

It is likely that lower utilization rates in Austin are in large part a byproduct of operators chasing overserviced, obvious demand hubs (e.g. the University of Texas). Operators often create a dangerous feedback loop of identifying the same high demand areas, massively oversupplying them, and then falsely equivalating the resultant utilization with true demand (more on that here). In doing so, they drive down their per vehicle performance while completely missing demand in underserved areas – something much harder to measure. We’ve seen first hand the power of shifting supply into such areas in our work. It’s not unreasonable to expect that utilization could be improved even with high supply levels were operators to invest in optimizing their fleets using data-centric methods. 

In general, Austin tells a hopeful if developing story about the potential of micromobility. The signs are promising even on a very short term scale. For an industry still in its infancy, there are many reasons to be optimistic.

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

Scooters where people want them: disentangling utilization from demand


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.

At Zoba, we talk to lots of mobility service operators who are beginning to acquire data about their service that they want to leverage to improve operations. Typically, these conversations begin with a discussion of how the operator currently thinks about supply, demand, and vehicle utilization, so I thought I’d write a quick post about how we at Zoba think about demand and utilization. These related concepts are sometimes implicitly conflated, but it’s important to be clear about their differences.

For optimal operation of a mobility service, vehicles must be placed where users want to ride them. Accordingly, it’s important to distinguish between the demand for the mobility service and the utilization of existing vehicles. Since these words have subtly different meanings in different contexts, I’ll begin by giving the definitions we use at Zoba. Throughout this short post, I’ll talk about “rides” without loss of generality; the same demand and utilization concepts apply to reservation-based mobility services as well.

  • Demand is all the rides users would take in the absence of capacity constraints, i.e. the set of rides that would be performed if any user could get any vehicle any place any time. Typically, demand is measured in units of rides wanted per hour in a given region.

  • Utilization is all the rides users actually take, and is thus constrained by the available vehicles on which to take those rides. For business reasons, utilization is typically measured as the fraction of time that a given set of vehicles is used. E.g. if a given vehicle has a utilization of .25 on a given day, that means the vehicle was used for .25 * 24 = 6 hours that day.

Notice how utilization depends on the supply of available vehicles, but demand can happen anywhere! Intuitively, people can only take rides — and as data scientists, we can only observe rides — in places where there are vehicles to serve those users. In general, there are two reasons why demand differs from utilization (after appropriate unit conversions):

  • Censoring occurs when a user can’t find a vehicle they want at a time and place they want; that user’s demand is lost. This includes cases where there are no vehicles in an entire region, but people would use vehicles if they were there!

  • Substitution occurs when a user’s first-preference isn’t served by any available vehicle, but the user will accept a substitute vehicle instead. Typically the user accepts a vehicle nearby to their preferred location, creating spatial spillover.

As a consequence, if an area is totally saturated with vehicles, then the rides users actually take — the utilization — are an excellent proxy for demand. And this does happen in practice! For example, our analysis (stay tuned for forthcoming posts) shows that some football-field-sized regions of Austin, Texas average dozens of vehicles available at a time.

When thinking about demand and utilization at a high level, the intuitive picture to keep in mind is the following:

demandutil (1).png

When demand for a mobility service is zero, the vehicles comprising that service have utilization of zero as well. As demand rises towards infinity, the utilization also rises, but utilization is a concave function of demand; utilization can never exceed 1.

Consider why this figure and the associated intuition only applies to an entire mobility service, rather than any set of vehicles, such as those in a particular area. The vehicles in a given area may have utilization greater than zero, even if there is no demand in that area — if demand spills from adjacent areas! For example, suppose there are two regions as depicted in this cartoon:

twozone (1).png

Lots of users want to start rides in the left region, but there are no vehicles there. Many of these users will decide not to travel or use some other transportation mode — from the perspective of the mobility service, their demand is censored — but some users will walk to the right region and start rides there. Thus, even though the right region has no demand, it still can have nonzero utilization. Likewise, the left region has no utilization but does have demand!

In practice, the mismatch between demand and vehicle allocation is not usually so stark; mobility operators have some intuition about where users would like to start rides and can position their vehicles accordingly. But, it’s possible to do better than intuition. If we can estimate the demand for a mobility service, with data-driven methods and mathematical optimization we can discover vehicle allocations which optimally serve user’s desires — whether “optimal” means maximizing rides, maximizing revenue, maximizing accessibility, or any combination thereof.

The key here is estimating the demand: fleet operations should be optimized around what users want, not how users are already using the service. In short, disentangling the unobserved latent demand from the observed utilization unlocks more efficient mobility service operations.

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

How our seed round will help us define the future of spatial analytics

Blog Post Screen Shot.png

At Zoba, we are building the next generation of spatial analytics that will improve the efficiency of cities and the lives of the people living in them.

Our team is focused on increasing the adoption of shared mobility in cities by working with companies to predict demand for their services. With our data science platform, companies analyze the relationship between demand and environmental data like weather and city layout, then optimize the placement of vehicles in real-time, increasing adoption and customer satisfaction. We are working with industry-leading bike, scooter and car share companies, in the U.S. and abroad, to help them further the goal of building more livable cities. In the future, our goal is to use our platform to tackle numerous other challenges facing companies, cities and urban populations around the world, including issues in urban logistics and public health.

Today we are thrilled to announce we have raised a $3M seed round led by CRV with participation from Founder Collective, Kaggle’s Anthony Goldbloom, Matt Brezina, and one of our earliest investors, Mark Cuban. As part of the investment, CRV’s Izhar Armony will join our board. We are humbled to be backed by such a strong team of entrepreneurs who have an incredible breadth of expertise. With their help, we will fundamentally change the way organizations make decisions about ‘when and where’.

“The world is experiencing a Cambrian explosion of smart mobility and logistics services, all requiring geo-based forecasting and optimization. We knew after meeting with the Zoba founders that they’re the best team to tackle this hard problem. What they’re doing will change the way we live and we’re excited for what’s to come.” — Izhar Armony, General Partner at CRV

The funding will be used to further expand our operations and platform, as well as grow our team here in Boston. If you are interested in learning more about Zoba or joining our team, reach out through our site:

As always, we are also grateful to our friends, family, and supporters for their encouragement and guidance.


Dan, Joseph and the Zoba Team