CAAD — Interactive Research Paper

Can two observers find a traffic incident faster than one?

We built a synthetic city, broke a road, and measured how quickly two independent measurement systems — compared against each other — could detect what went wrong. Then we compared that against the standard approach. Here's what happened.

The Experiment
Two ways to watch the same road

We simulated one hour of traffic on a 36-edge grid network using SUMO (Simulation of Urban Mobility). At minute 20, we blocked a road. The question: how quickly can you detect that something went wrong, and what can you learn about it?

Observer A — Ground Truth

Perfect knowledge. Every vehicle on every road segment, counted exactly. This is what actually happened — but in reality, you never have this.

vs

Observer B — Sensor Network

Imperfect, realistic. Only 70% of roads have sensors. Each sensor adds ~15% noise. 5% of readings randomly drop out. This is what you actually get.

36 road segments
70% sensor coverage
15% measurement noise
5% dropout rate
60 min simulation
t=20 min incident injected
Explore the Data
Scrub through the hour. Watch the gap.

The gap between what's really happening and what the sensors report isn't random — it's information. Drag the timeline to see how the system responds to the incident.

00:00 / 60:00
Normal traffic
Gap (RMSE)
between observers
Gap Trend
growing or shrinking?
Signal vs Noise
is the gap real or sensor error?
Chain Spread
neighbouring roads affected
First Deviation
where the gap moved most
Observer Gap Over Time
RMSE between ground truth and sensor network
Signal vs Noise Decomposition
Is the gap caused by sensor imperfection (noise) or a real event (signal)?
Rate of Change
How fast is the gap growing? Spikes = something just happened.
The Result
What two observers give you that one can't

Speed isn't the whole story

A naive approach — just watching the rate of vehicles accumulating — detected the incident about 2 minutes earlier. But that's all it could say: "more vehicles." It couldn't tell you where the problem started, whether it was a sensor glitch or a real event, or how far the disruption had spread.

Convergent detection tells you WHERE, WHY, and HOW FAR

By comparing two independent observers, we could pinpoint the exact road segment where the gap first appeared (B1C1 — the blocked road), distinguish sensor noise from real signal (signal rose 7.5x during the incident), and track how congestion propagated to neighbouring segments.

Capability Naive (single observer) Convergent (two observers)
Detects something happened Yes (t=22 min) Yes (t=24 min)
Tells you WHERE No Yes — first deviation edge
Tells you WHY (real vs sensor error) No Yes — signal/noise decomposition
Tracks spread to neighbours No Yes — chain propagation
Estimates coverage impact No Yes — 71% RMSE reduction with full coverage
Works with imperfect sensors Assumes perfect data Models and measures imperfection

The same method works beyond traffic

This isn't a traffic-specific tool. The same principle — measuring the gap between independent observers — applies to health systems (field data vs reported data), financial anomalies (price vs fundamentals), sensor networks, and any domain where you have two independent ways to look at the same thing.

Want to apply this to your data?

CAAD is being built as a service. If you have a system with multiple data sources that should agree but sometimes don't — we should talk.

Get in touch