Share this chat
Anyone with the link can view this conversation.
On the JCDecaux platform I need to manage fleet availability, and it's genuinely complex: whether a campaign can be sold in a city depends on many criteria that interact with each other, not just a simple vehicle count. How would you model that so sales reps can't oversell a city?
Before I propose a model, give me the full list of criteria that decide whether a vehicle is available. The structure of the data drives the whole design, so I'd rather not guess it.
Here's what we have, per city:
- A count of vehicles by type: taxi or Uber, hybrid or not.
- The supports available on each: which wrap options can actually be sold on that vehicle.
- Whether it's already committed to a running campaign.
The problem: these are approximations. We have rough numbers per city, not an exact list of every individual car.
Then don't model capacity as global counts. That's exactly where this kind of system fails. Build a concrete fleet instead:
- Generate synthetic vehicle records. From your approximate numbers, create one row per vehicle with a generated ID, and store the attributes on each one: type, hybrid or not, eligible supports, current campaign. Now the fleet is a set of concrete records, not just a number.
- Allocate against real rows. Capacity checks and campaign reservations run against those individual vehicles, so you get a live, per-vehicle view of what's free in each city instead of doing arithmetic on a total.
- Match the synthetic fleet to reality over time. After each campaign, link each synthetic record to the real vehicle once you learn its identity (license plate and other details), so the simulated fleet gradually converges with the real one.
You start from approximations, but every check runs on a concrete, queryable fleet, and it gets more accurate with every campaign.
Send an email to Eliott
Write your message here and it will open in your email app.
Eliott Baylot's curriculum vitae
Downloadable PDF document.
Eliott's CV
Mind introducing yourself?
Just so Eliott knows who he's talking to. Only your name is required.
Claude is an AI and can make does make mistakes. Please triple-check responses.