Agent-based traffic simulation
Test a road change on Cork before it’s built.
Urbanetric runs a mesoscopic, agent-based model of Cork’s road network — every junction, signal and link straight from OpenStreetMap. Close a street or add a lane and watch the queues form before a cent is committed.
Deterministic
Same seed, same result — every run is reproducible and auditable.
OpenStreetMap
The real network, lanes and turn restrictions — not a hand-drawn sketch.
Calibrated
Tuned against observed link counts before anyone trusts a forecast.
How the model works
From an OSM graph to a queue-by-queue forecast.
Three stages, each one inspectable. Nothing in the pipeline is a black box you have to take on faith.
-
01
Build the network
Ingest the OpenStreetMap graph — links, lane counts, speed limits, turn restrictions and signal phases all become part of the road model.
-
02
Generate demand
A synthetic population from census small-area statistics produces origin–destination trips across the day, so peaks emerge from demand rather than a dial.
-
03
Run and compare
Queue a scenario, watch agents route through the city second by second, then A/B it against the baseline on journey time, vehicle-kilometres and link flow.
The simulation
Every vehicle is an agent. Every junction, a decision.
Urbanetric is mesoscopic — sitting between a broad-brush flow model and a car-by-car microsimulation. Each trip is an agent that chooses a route and moves link by link; queues build on links and discharge through signals, second by second.
- Link-level queuesCongestion forms where capacity runs out, not on an average.
- Signals & turn bansPhases, splits and banned turns shape how junctions discharge.
- Second-by-secondA live clock you can watch, scrub and record.
- Whole-city routingClose one street and trips re-route across the network.
Why mesoscopic
One step finer than flow. One step coarser than the steering wheel.
Macroscopic models speak in city-wide flows and tell you the average. Microsimulation speaks in individual cars, lane by lane, and takes a month to calibrate. Mesoscopic sits between them — and the trade-off is the whole point.
- Per agent, not per flowEvery trip is its own routing decision — not a smoothed-out demand curve.
- Per link, not per laneQueues build on links and discharge at signals; no steering, no lane-change turbulence.
- Whole city, fastRe-routes the whole network around your edit in minutes, not weeks.
- One base, many runsCalibrated against observed counts on a shared OSM base — not rebuilt per project.
Anatomy of a run
What the engine does each simulated second.
Click Run, and the simulator ticks forward one second at a time. Each tick, four things happen — in this order, every time, deterministically.
-
01
Route
New departures pick their shortest-time path against the current network state — signals, queues, recent re-routes and all.
-
02
Move
Each on-link agent advances by the link’s free-flow speed minus the back-pressure of the queue ahead.
-
03
Discharge
Vehicles at signalised stop-lines release per the active phase; lane priorities and banned turns control who goes where.
-
04
Record
Per-link counts and per-agent positions land in the run log. Replay, scrub or compare them later — same seed, same answer to the byte.
What you can model
Change one thing. Watch everything move.
The editor is the same map you see above. Draw an edit, queue a run, and the model re-routes every trip in the city around it — no rebuild, no waiting on a consultant.
Close a street
Pedestrianise a block or shut a link entirely.
Add or remove a lane
Widen, narrow or reverse a carriageway.
Retime a junctionPlanned
Change signal phases, splits and offsets. A per-junction timing model and editor are on the roadmap; today signals run a calibrated city-wide cycle.
Bus & cycle lanesPlanned
Reallocate road space to transit and bikes. Today this is expressed through lane-count edits; a dedicated bus/cycle primitive is on the roadmap.
Build a new link
Add a junction or a whole new road.
Roadworks & weather
Stress-test with closures, rain or events.
From edit to evidence
Five steps from a chalk-line edit to a planning submission.
The point isn’t the simulation; it’s the document you put in front of a committee. Here’s the path.
-
01
Draw
Draw the edit straight onto the live map — close a street, add a lane, build a new link.
-
02
Queue
Queue a scenario run against your saved do-nothing baseline. No model rebuild, no waiting.
-
03
Watch
Watch agents thread the change in real time; the network re-routes around it and queues land where they will.
-
04
Compare
Read journey time, link flow and queue length side by side against the do-nothing baseline.
-
05
Export
Drop the figures and the chart panel straight into your report.
Validation
We check the model against the road — not against itself.
A simulation is only worth its forecast if it matches reality. Before a scenario is trusted, the baseline run is compared link-by-link against observed traffic counts — the same screenline and turning-count data a transport assessment already relies on.
Ground-truth counts
Modelled flows are scored against measured link counts, not eyeballed.
Reproducible runs
A fixed seed gives the same result every time, so a review can re-run it.
Open network
Built on OpenStreetMap, so the road model is inspectable by anyone.
Side-by-side
Every scenario is read against the do-nothing baseline, never in isolation.
What you take away
Numbers you can put in front of a committee.
Every run hands back the metrics a transport case turns on — journey time, total vehicle-kilometres and link-by-link flow — each read against the do-nothing baseline. Export the figures and the charts straight into a report.
- Journey timePeak and off-peak, per corridor and city-wide.
- Link & screenline flowVehicles past any point across the day.
- Queues & delayWhere it backs up, and by how long.
- Before / afterScheme against baseline, side by side.
Built to be trusted
Run it again. Get the same answer.
A forecast a review can’t reproduce isn’t evidence. Every Urbanetric run is deterministic — the same seed gives the same result, every time — and built on OpenStreetMap, so the network underneath is open and inspectable, not a proprietary black box.
- Fixed seedIdentical inputs, identical run — bit for bit.
- Auditable inputsEvery edit and assumption is recorded with the scenario.
- Open networkOSM underneath — checkable by anyone.
- Versioned scenariosCompare, share and re-run any saved scenario.
Who it’s for
Built for the people who change roads.
Local authorities
Make the case for a scheme to councillors and the public with evidence, not vibes.
Transport consultants
Run a transport assessment without commissioning a six-figure bespoke model build.
Developers & planners
Show a site’s traffic impact on the surrounding network before it goes to planning.
See Cork’s traffic before you change it.
No install. Open the live Cork model in the browser and run a scenario.
Open the model