O/D Analysis

Introduction

Trip definition

Our algorithms analyze the probe traces coming from each device. The analysis recognizes the pattern of a regular trip within any area. Probe traces are sequences of probe points that come from the same device. These sequences define the concept of a trip.

Our systems behind the O/D Analysis tool connect all these probe points, also known as GPS pings, with a single line and that line of connected pings creates a single vehicle trip, with its start and end points.

The GPS pings of a trip originate from the same anonymous device ID to make sure we are dealing with the same unique journey while calculating the analysis results.

The trips come from completely anonymized data and guarantee a high level of security. This protects individual devices from being associated with specific drivers.

The origins and destinations are always associated with the regions you define — typically polygons (cities, districts, neighborhoods, postal codes and so on), but they can also be road segments selected directly from the road network. Regardless of shape, a region can’t be linked to a specific residence or business building.

Example of multiple polygons defined in Istanbul, Turkey
Example of multiple polygons defined in Istanbul, Turkey

Based on the region definition, TomTom O/D Analysis defines the origins and destinations based on the trip’s start and end points, according to each FCD provider’s typical behavior. For example, mobile and automotive data are interpreted differently.

NOTE! Keep in mind that due to privacy precautions, the true starts and ends of a trip are trimmed. For example, if a vehicle ended its journey at a specific household address, it will not be possible to pinpoint that trip to a specific person living in that area.

Map matching

O/D Analysis also supports map matching, which is a process that ‘snaps’ GPS positions to the road network. Applying map matching to a trip removes inaccuracies that come from low GPS precision or small gaps in the signal.

The convex hull — the smallest polygon enclosing every region in the analysis — decides whether map matching is applied. Its area is shown as a Convex hull gauge in the bottom bar while you draw, so you can see which case your analysis falls into. The eye icon next to the gauge draws the hull on the map as a dashed outline, colored to match the gauge.

  • Map matching is enabled while the convex hull area stays at or below 3,000 km². Its presence is indicated by being able to select the map version while defining the zones:
Convex hull within the limit for map matching
Convex hull within the limit for map matching
The option to select a specific map version indicates that the data is based on map-matched traces.
The option to select a specific map version indicates that the data is based on map-matched traces.
  • Map matching is disabled once the convex hull area is larger than 3,000 km², as this process heavily affects the calculation power required to map-match all the traces on such a large scale.

In place of the map version selector, the map then shows a Selecting the map version is not available notice. Its help icon explains why: the convex hull of the drawn regions is larger than 3,000 km², so map matching is disabled and the results will be based on raw GPS traces.

Not being able to select a specific map version indicates that the data is based on raw GPS traces.
Not being able to select a specific map version indicates that the data is based on raw GPS traces.

A second, separate convex hull limit decides whether the report can be created at all: the hull may cover at most three times your account’s Maximum Area Size (60,000 km² with the default limits below). Beyond that the Convex hull gauge turns red and Generate report is blocked until you remove or move regions — unlike the map-matching threshold, which only changes how the results are calculated.

Map matching has a great impact on the results’ quality. To determine flows between regions, the tool is analyzing trips in the area. Let’s look at an example of how map matching can be beneficial for calculating results and how some of the trips would look if there was no map matching in the tool.

Side-by-side comparison showing original GPS trace with scattered points and gaps on left, and smoothed map-matched trace aligned to road network on right, both overlaid on regions A and B
Original trip on the left, Map Matched trip on the right

In the example above, on the left, we can see a trip with original GPS positions, and on the right, the trip was map-matched to the road network. In this case, without map matching, the tool would observe that the trip went through Region A but not through Region B because of the gap in the signal, which produces counterintuitive results.

After map matching, the trip is ‘snapped’ to the road network and produces the results we would expect - the trip goes through Region A and Region B.

Trips starting or ending outside your regions

A trip’s origin and destination are always the first and last region it was actually observed in, even when the real journey started or ended somewhere outside the regions you drew.

Each result also reports whether a trip’s true start and/or end point fell outside your regions before it was first observed inside one (see Trip definition above). This lets you tell trips that were fully contained in your area apart from ones that only partially overlap it.

Product usage limits

The limits below apply to a trial or standard account. Your own limits may differ — see the Report limits shown while you create an analysis for the values that apply to your account.

LimitFlow Matrix Analysis
# of Date Ranges4
Maximum Date Range1 year
Minimum Date Range1 day
Maximum # of Time Sets24
Maximum Time Set24 hours
Minimum Time Set1 hour
# of Regions600
Maximum Area Size (per analysis)20,000 km²
Maximum Convex Hull Area (3 × Maximum Area Size)60,000 km²