Method

ComparativeAssumption-basedNot a crash prediction

How Road Risk converts geometry into a comparative output

The model moves from public road data to geometry, physics checks, assumptions, graph context, reliability notes, and reviewed case evidence.

Page Purpose

How to read the method

This page is the technical bridge between the public project summary and the reviewed Results evidence.

Read first
Use Method in plain language before opening the formula chain and data-role tables.
Formula checks
Formula cards keep rendered equations, plain text, variables, and units together for mobile review.
Data roles
Observed inputs, derived geometry, selected assumptions, and interpreted outputs are separated.
Boundary
The method produces comparative model outputs, not observed crash probability for a named road.

Read This First

Method in plain language

This is the non-specialist route through the method. The detailed tables and formula chain remain below for readers who want to inspect the implementation logic more closely.

Start with public road geometry

The app reads the selected road shape and available public tags. Missing public tags are treated cautiously, not guessed as facts.

Calculate geometry and physics checks

Road shape is converted into bend, radius, safe-speed, stopping-distance, and local-bin context under explicit assumptions.

Keep assumptions visible

Weather, surface, lighting, vehicle, behaviour, speed, and traffic-proxy settings are scenario controls that users can inspect.

Read outputs comparatively

Road Risk compares modelled outputs under the chosen assumptions. It does not produce an official rating or observed crash probability.

Method in 90 Seconds

The model separates data, assumptions, outputs, and context

Observed public data

OpenStreetMap road geometry and available tags provide the public input context where they exist.

Derived geometry

Heading change, curvature, radius, stopping distance, and safe-speed checks are calculated from geometry and assumptions.

Scenario assumptions

Weather, surface, lighting, behaviour, vehicle, speed, and traffic-proxy settings are explicit controls.

Observed historical context

RSA Recorded Collisions can be compared as historical context, not as model output or official validation.

Data pipeline

Observed, derived, assumed, interpreted

01
Open road data

OpenStreetMap-derived ways, nodes, and tags provide public road geometry and context where available.

02
Selected road geometry

The app analyses a selected segment rather than treating an entire road uniformly.

03
Curvature and radius

Coordinate sequences are converted into heading change, radius, curvature, and bend context.

04
Physics checks

Safe speed, slip ratio, centripetal demand, reaction distance, and braking distance are estimated.

05
Scenario assumptions

Rain, fog, fatigue, overspeed, BAC, vehicle type, lighting, surface quality, and traffic proxy are explicit selected assumptions.

06
Comparative context

Outputs are interpreted using sampled distributions and percentiles under the same assumptions.

07
Reviewed case evidence

Case-evidence JSON is exported explicitly by the user. Public committed cases require review before they become part of the Results dataset.

Data roles

What is retrieved, calculated, assumed, and interpreted

CategoryExamplesBoundary
RetrievedOSM ways, nodes, tags, road class, public map geometry, and available road metadata.Input evidence, not a guarantee that every real-world feature is tagged.
DerivedHeading change, radius, curvature, safe speed, stopping distance, and infrastructure summaries.Calculated from available geometry and assumptions.
AssumedVehicle profile, friction, weather, visibility, reaction time, overspeed, fatigue, BAC, surface, lighting, and traffic proxy.Selected settings for scenario testing, not observations about actual drivers.
InterpretedAnnualised Comparative Model Output, percentile context, graph position, and reviewed case summaries.Comparative model interpretation, not official safety rating or crash prediction.

Assembly

How the comparative output is assembled

A
Geometry demand

Curvature, radius, turn angle, and bend frequency.

B
Friction and speed checks

Safe speed, lateral demand, slip-style indicators, and stopping distance.

C
Scenario multipliers

Weather, visibility, driver behaviour, vehicle profile, surface, lighting, and overspeed.

D
Context factors

Road class, infrastructure context, traffic proxy, and data-confidence flags.

E
Statistics

Distribution context, percentile position, route peaks, and saved-case comparison.

Model and app features

What the current app does

Road data
Selection and geometry extraction

Click a road, load public road data, preserve relevant tags, and calculate segment geometry.

Physics
Safe speed and stopping distance

Translate speed, radius, friction, and reaction assumptions into readable physical outputs.

Scenarios
Controlled sensitivity testing

Change conditions deliberately and inspect how the same road responds under different assumptions.

Statistics
Sampled-network comparison

Place one selected road within a sampled comparison set using percentiles and distribution views.

Spatial tools
Routes and isochrones

Analyse routes, route peaks, hotspots, and reachability contexts where supported by app data.

Evidence
Exports and transparency

Use CSV, GeoJSON, JSON, case-evidence JSON, distribution data, and image-style exports for review.

Formula chain

Physics and formulae behind the model

Radius
Road bend geometry

Segment length and heading change produce an estimated bend radius. Very small heading changes must be handled carefully.

r=LΔθr = \frac{L}{\Delta \theta}

Plain text: r = L / delta theta

Variables and units: r is radius in metres, L is segment or arc length in metres, and delta theta is heading change in radians.

Centripetal demand
Curvature and lateral acceleration

Higher speed or tighter radius increases the lateral acceleration needed to follow a curve.

ac=v2ra_c = \frac{v^2}{r}

Plain text: a_c = v^2 / r

Variables and units: a_c is lateral acceleration in metres per second squared, v is speed in metres per second, and r is radius in metres.

Safe speed
Friction-limited speed

Effective friction, gravity, and radius create a simplified physical speed check.

vsafe=μeffgrv_{\mathrm{safe}} = \sqrt{\mu_{\mathrm{eff}} g r}

Plain text: v_safe = sqrt(mu_eff g r)

Variables and units: v_safe is speed in metres per second, mu_eff is effective friction, g is 9.81 metres per second squared, and r is radius in metres.

Stopping distance
Reaction and braking demand

Speed affects stopping demand strongly because braking distance scales with velocity squared.

dstop=vtr+v22μgd_{\mathrm{stop}} = v t_r + \frac{v^2}{2 \mu g}

Plain text: d_stop = v t_r + v^2 / (2 mu g)

Variables and units: d_stop is stopping distance in metres, v is speed in metres per second, t_r is reaction time in seconds, mu is friction, and g is 9.81 metres per second squared.

Formulae shown here are simplified explanatory forms used to describe the model chain. The live app preserves the implemented calculation logic.

RelationshipExpressionPlain-language meaning
Directional changeΔθ=θ2θ1\Delta \theta = \theta_2 - \theta_1Measures how much the road direction changes across the selected segment.
Curve tightnessr=LΔθr = \frac{L}{\Delta \theta}Uses segment length and heading change to estimate bend radius.
Centripetal accelerationac=v2ra_c = \frac{v^2}{r}Higher speed or smaller radius increases the lateral acceleration needed to follow the bend.
Safe speedvsafe=μeffgrv_{\mathrm{safe}} = \sqrt{\mu_{\mathrm{eff}} g r}Friction, gravity, and radius create a simplified curve-speed check.
Slip-style indicatorSlip Ratio=acμeffg\mathrm{Slip\ Ratio} = \frac{a_c}{\mu_{\mathrm{eff}} g}Compares lateral demand with available frictional capacity.
Stopping distancedstop=vtr+v22μgd_{\mathrm{stop}} = v t_r + \frac{v^2}{2 \mu g}Combines reaction distance and braking distance under active assumptions.
Daily interpretive viewdaily=annualised365\mathrm{daily} = \frac{\mathrm{annualised}}{365}A readability transformation for the same model output scale.
Scenario-adjusted outputoutput=base geometry demand×context multipliers\mathrm{output} = \mathrm{base\ geometry\ demand} \times \mathrm{context\ multipliers}Combines geometry demand with selected assumption multipliers.

Comparative statistics and graphs

Model outputs need context

ViewShowsInterpretation role
Histogram / KDEDistribution shapeShows whether a selected road sits in a common or unusual region of sampled outputs.
ECDF / CDFPercentile positionShows how much of the sampled set lies below the selected output.
Box / violinSpread and tailsShows median, quartiles, spread, and whether upper-tail values are common or rare.
Compare modeScenario shiftsShows how rain, fog, speed, fatigue, or vehicle profile changes the sampled context.
Histogram / KDE

Central distribution shape

Use it to see whether a selected output sits in a common or unusual region.

Do not read it as observed collision frequency.

ECDF / CDF

Cumulative percentile position

Use it to show how much of the sampled set sits below the selected output.

Do not treat the percentile as a universal ranking.

Box / violin

Distribution spread and robust summary

Use it for median, quartiles, spread, and tails.

Do not over-read one point without the sample context.

Upper-tail markers

P95 and P99 context

Use it to inspect whether upper-tail outputs are isolated or common.

Do not conclude official danger from marker position.

Scenario comparison

Selected-assumption shifts

Use it when the same road or sample is compared under controlled assumption changes.

Do not compare scenarios if the underlying state changed in other ways.

Selected-road marker

The marker shows where the selected output sits inside the sampled comparison set.

Assumption changes

Rain, fog, speed, fatigue, vehicle, or surface settings can move both the selected output and the sampled context.

Sample size

A small or narrow sample makes percentile interpretation weaker.

Confidence colour

When used, confidence colour describes data quality, not official danger.

  • Graph data, risk cards, maths output, exports, and map overlays should refer to the same selected-road state.
  • Percentiles depend on the sample size and the roads included in the comparison set.
  • Confidence colour or labels describe data completeness, not real-world road danger.
  • Factor contribution charts should not mix unrelated units as if they were comparable percentages.
  • Scenario comparisons need scenario diversity; one stored scenario profile is not enough for a public comparison chart.

Interpretation boundary

How this differs from crash prediction

Comparative model output

Road Risk compares selected roads and scenarios using public geometry, physics-informed checks, assumptions, and sampled context.

No observed crash probability

The model does not estimate the probability of a real crash on a named road and does not replace collision-history analysis, audits, or professional review.

Data quality and validation

Confidence depends on public data completeness

Data quality

Missing tags, short geometry, fallback speed context, lighting gaps, surface gaps, and traffic-proxy assumptions should all make interpretation more cautious.

Validation boundary

Current checks are internal consistency tests and reviewed saved records. Operational validation would require collision-history calibration, field inspection, and expert review.

Key terms

Vocabulary used across the site

Prospective model

Examines possible risk signals before collision-history data is introduced.

Relative model output

A comparative indicator under defined assumptions, not an official road-safety rating.

Percentile

A selected road's position within a sampled comparison set under the same assumptions.

Data confidence

A caution level based on geometry quality, missing tags, and fallback assumptions.