Send us the source
Brief 01 What was hard 02 How it works 03 Numbers 04 Outcome 05 All cases → Send us the source

Atoms / Data extraction / Cases / Turo

Mobility — running since 2024

Turo — fleet availability, by the hour.

A car is either available for the window you want or it is not, and its price depends on how long you want it, when you asked, and who is asking. Supply data that ignores the time dimension describes a market that does not exist.

The source is named because it is public; the client is not. Every figure on this page is a measured production number the client agreed to publish. Have a source of your own? Send it over, whatever its size — you get an answer within 24 hours.

Case fileturoIn production
SourceTuro
ClientCarsharing revenue management
Running since2024
DeliveryPostgres, daily
Vehicles420k
Markets60 metros
Reach → Read → Reconcile → DeliverRecounted daily
20B

availability-days since 2024

9.9B

a year

96.8%

measured coverage

420k

vehicles tracked

SourceTuro
VerticalMobility
Running since2024 — without a rebuild
The brief01 / 05

What the client actually needed.

Not more rows. Every one of these projects started with somebody who already had data and could not use it for the decision in front of them.

The problem

Where it started

The client prices vehicles for hosts running small fleets. Their competitive view was a weekly scrape of listing prices, which told a host what similar cars were listed at and nothing about whether those cars were actually available on the weekend the host was trying to price.

Fixed on day one

What we committed to

Availability captured across the booking window that matters90 days
Trip price computed at realistic durations, not a daily rate3 durations
Vehicle attributes retained for genuine comparabilityFull spec
Cost per market flat as markets are addedDesign input

Every one of these is measured continuously and reported on the same dashboard the client watches. A commitment nobody measures is a sentence in a proposal.

What was hard02 / 05

Four things that beat the previous attempt.

None of these is solved by better headers or a bigger proxy pool. Each needs a different piece of engineering, and working out which one you are actually facing is most of the job.

01 — TimeTime

Supply is a calendar, not a count

A metro with two thousand listed vehicles and nothing free on a Saturday is a different market from one with eight hundred and plenty of availability. Counting listings misses that entirely.

What we doAvailability is collected across a ninety-day window per vehicle, tiered so the near window is refreshed daily and the far window weekly.

02 — DurationDuration

The daily rate is not the price

Weekly and monthly discounts, minimum durations and fee structures mean the price of a three-day trip is not three times a daily rate.

What we doTrip price is computed at three realistic durations with the fee components kept separate, so a host prices against what a renter is actually quoted.

03 — ComparabilityComparability

Not all cars are the same car

Model year, trim, mileage limits and delivery options change what a vehicle is worth, and a price distribution without them is a distribution over incomparable things.

What we doVehicle specification and host policy are retained per listing so comparables are constructed on like vehicles rather than on a category label.

04 — ChurnChurn

Hosts come and go

Individual hosts list and delist constantly, and a static vehicle set decays quickly into a picture of a market that has moved on.

What we doContinuous discovery runs alongside refresh, and delistings are recorded as events rather than appearing as silence in the next sweep.

How it works03 / 05

Five decisions the pipeline is built on.

The architecture is not interesting; every extraction system has a queue, a fetcher and a parser. These are the decisions that made this one work where the last one did not.

01

Collect the calendar, not the count

Ninety days of availability per vehicle, tiered by how far ahead hosts actually price. A supply count without a calendar is the number everybody publishes and nobody can price against.

02

Price at real durations

Three durations with fee components separated, because weekly and monthly discounts mean a daily rate does not extrapolate.

03

Keep the specification

Model year, trim, mileage policy and delivery options travel with the listing, so comparables are built on like vehicles.

04

Discover continuously

New hosts appear within a day and delistings are events. In a market this fluid, a periodic rebuild of the vehicle set is always describing last month.

05

Hold cost per market flat

Tiering and tiling are tuned against a per-market budget, so market sixty-one costs what market two did.

The numbers04 / 05

What it does on an ordinary day.

Production figures, not a benchmark run. Coverage is recounted daily against an independent sample of the live source rather than asserted, which is why the numbers are not round.

Daily profile

Where the volume goes

Availability-days a day27M
Requests a day1.4M
Vehicles tracked420k
Trip prices computed a day1.3M
New vehicles discovered a day3 100

One calendar request covers a vehicle's whole booking window, but the near window is refreshed daily and the far window weekly, so a vehicle contributes about nineteen day-values on an average day. 1.4 million requests a day — sixteen a second — produce 27 million availability-days: 810 million a month, 9.9 billion a year, 20 billion since 2024. Refreshing all ninety days for every vehicle daily would be five times the traffic for a number nobody prices against.

Headline

The four that are contractual

Days since 2024
20B
Coverage
96.8 %
Vehicles
420k
Availability window
90 days

These four sit in the support agreement. When one of them drifts outside its band, we are alerted within fifteen minutes and fixing it is routine work under the monthly arrangement, not a change request.

What changed05 / 05

Before, and after.

The columns are the client's own numbers from before the rebuild and the measured ones from production today. The left column is the part most vendors would rather not put on a page.

MetricBeforeToday

Supply picture

A count of listings

Availability across 90 days

Price basis

Daily rate

Trip price at three durations

Comparables

By vehicle category

By specification and policy

Refresh

Weekly

Daily near window

Hosts had been pricing against cars that were not available on the dates they cared about. Adding the calendar changed the recommendations more than any pricing model change did.

Start here

Have a source of your own? Two lines are enough.

Send the source, the fields you need and roughly how often. You get a straight answer within 24 hours: whether it can be done, what makes it hard, what coverage is achievable and roughly what it costs to build and to run. Whatever the size.

Direct

NDA before technical detail, as always. If it isn't our kind of work, we say so in the first reply.