Sweden Outdoor Impact 3.0
OOH Measurement Hub
Mobility engine + reporting surfaces
Synthetic population 10.59M
Households 5.06M
SCB tables 37
Resolution DeSO

Activity-based mobility

An explainable mobility engine that turns a synthetic population into real movement

The ABM population is the human layer. The mobility engine is what makes it move: a week → day → intraday activity-based model that generates coherent tours anchored on home/work/school, constrained by calendars and opening hours, and calibrated against observed GPS behavior and macro counters.

Observed panel
Years 1–4, link-level GPS traces
Time resolution
15-minute bins (cross-midnight safe)
Second homes
2.98M owner households (proxy)
2025 abroad episodes
9.35M person-trips (generic)

Why a mobility engine

OOH measurement needs trajectories, not just reach.

Traffic counts and static reach do not tell you who actually passes a face, when they pass it, or how long they are exposed. Activity-based mobility makes impressions time-weighted and demographically grounded.

Coherent schedules Tours and stops form a feasible day, not random jumps.
Demographic realism Agents carry income, occupation, household structure, and telework flexibility.
Seasonality Holidays, school breaks, and second-home behavior drive the yearly profile.

Foundation

Grounded in ABM reality.

We start with the SCB-derived synthetic population and calibrate travel behavior against observed GPS traces and macro counters. Where direct-download ground truth does not exist (e.g. second-home weekday/time specifics), priors are made explicit, parameterized, and revisited once better evidence is allowed.

GPS-derived diaries POI opening hours Day-type calendars Traffic counters

Mobility surfaces

Explore observed and derived mobility views

The ABM landing page describes the population build. RBM hosts the observed mobility panel and the trip map view used for visual QA. The mobility engine page documents methodology, hurdles, and mitigation strategy.

How it is built

From GPS traces to explainable schedules in four stages

The mobility engine is designed for repeatable regeneration. Where the evidence is strong, we fit models. Where evidence is missing, we keep priors explicit and calibrate against multiple constraints.

01

Observed mobility ingestion

Load link-level GPS traces and harmonize respondent identifiers across years. Prepare days that can cross midnight.

Years 1–4 Link-level traces Cross-midnight safe
02

Stops + activity semantics

Infer stays and attach purpose with weak supervision: spatial priors + POIs + opening hours. Iterate thresholds with a visualization-first loop.

Stay detection POI priors Opening hours
03

Hierarchical schedule model

Generate week/day structure (tours) and intraday timing/destination conditional on feasibility. Integrate telework, second homes, and vacation competition.

Week → day → intraday Tour feasibility Telework + cabins
04

Calibration + validation

Match observed and macro constraints (counts, distributions, seasonality). Produce an auditable trace of why an agent moved, not only where they moved.

Macro counters Margin checks Explainability logs

Known hard parts

What makes it difficult, and how we mitigate it

Mobility modeling is full of traps: noisy GPS, purpose ambiguity, calendar effects, and rare behaviors that dominate seasonality. We address this with explicit constraints, auditable priors, and multiple validation surfaces.

Stop inference uncertainty

Wrong stays imply wrong purpose, which implies wrong tours.

Mitigation: weak supervision + UI/visual QA loops + conservative defaults.

Time feasibility

Schedules must respect opening hours and travel time, not only destination plausibility.

Mitigation: opening-hours parsing + imputation + day-type calendars.

Rare behaviors drive the year

Second homes and long vacations dominate summer, but are easy to miss without explicit modules.

Mitigation: cabin location assignment + 48 major patterns + generic abroad episodes.

Primary residence contamination

Some households land on points inside second-home areas (proxy) due to address pool overlap.

Mitigation: deterministic rehome onto R points, preserving municipality and usually grid.

Next steps

Hardening the mobility engine.

Next releases focus on learning time-of-day and weekday priors from the observed panel, integrating traffic intensity calibration, and expanding reporting surfaces to track drift and alignment.

Learn priors from GPS (weekday + time-of-day)
Traffic intensity calibration (counts + hourly)
Mobility QA dashboards + regression gates