# Everyday Movement Ireland — methodology

Edition 01. Prepared 11 September 2026. Observations: Census 1986–2022.
Publisher/analysis: No Nonsense Fitness. Original statistics: Central Statistics Office, Ireland.

## Source register

| Table | Owner | Published | Geography | Frequency | Reuse | Missingness |
|---|---|---|---|---|---|---|
| [F7065](https://data.cso.ie/table/F7065), main means of travel | CSO | 5 Dec 2023 | State + 30 county/city areas | Census releases/revisions | CC BY 4.0; public/commercial permitted with attribution | No null cells in retrieved cube; explicit not-stated mode retained |
| [F7068](https://data.cso.ie/table/F7068), journey time | CSO | 5 Dec 2023 | Same 30 areas + State | Census releases/revisions | CC BY 4.0 | No null cells; not-stated duration excluded from published mean |
| [F7122](https://data.cso.ie/table/F7122), historical travel modes | CSO | 5 Dec 2023 | State only | Census releases/revisions | CC BY 4.0 | No null cells; zero and null treated differently |

Exact retrieval timestamp, public API URLs and SHA-256 hashes: `sources/manifest.json`.
These publication dates come from the API's `updated` field and agree with the release page.
No claim that the data describe September 2026. Northern Ireland excluded.

Guideline context, not an ingested dataset: HSE, [How to increase your activity levels](https://www2.hse.ie/living-well/exercise/increase-activity/), accessed 11 September 2026.
Adult national guidance; maintained as an educational webpage, no fixed release frequency.
We link and paraphrase the adult 150-minute moderate aerobic benchmark. We do not redistribute
its full text or treat its advice as county observations. No HSE chart or logo reused.

## Calculations

`active_count = on_foot_count + bicycle_count`

`active_share = 100 × active_count / all_means_of_travel_count`

`difference_pp = first_area_share - comparison_area_share`

Null input or zero denominator => unavailable share. Do not fill missing values with zero.
Keep “not stated” in the all-means denominator; show unknown counts alongside every comparison.
Round only on display, to one decimal place. State share uses State counts, not unweighted areas.
No composite index, weights or ranking.

Workers: F7065C05; primary-age pupils: C02; ages 13–18: C03; college ages 19+: C04.
Sex: `-` both sexes, `1` male, `2` female, using the census labels.
National historical group codes respectively: 904, 901, 902, 903.
Compare only the same selected sex/group/year between areas. National mode history uses F7122
observations; the chart connects observed census years, not interpolated annual measurements.

F7068 context always describes workers and the same sex selection, even when the mode
comparison is for education. Use the published mean C09. Its denominator is C01 minus C08
(known-duration population). The mean is not re-estimated from bands. Three observations:
2011, 2016, 2022. These do not establish weekly travel time or the effect of hybrid work.

## Scope and boundaries

People usually resident and present in the State in the specified travel population.
Census date 3 April 2022. Mainly-at-home workers excluded from the commuting population.
No days-per-week assumption for population statistics. Ages 0–4 excluded from the tool.
Age bands are not exact school-sector definitions. School/work differences compare different
populations; they are not a longitudinal finding about individuals becoming less active.

Thirty source county/city areas: four Dublin areas, Galway City and County separately,
Cork City and County combined; Limerick and Waterford city/county combined. Do not map these
to 31 local authorities or produce artificial 26-county totals. Joins use exact source IDs;
the full geography dictionaries must agree between local-mode and time tables.

## What the data cannot say

Main mode is not total physical activity. Walking to a bus/train, recreational exercise,
work activity, duration of walking, intensity, frequency and route safety are not measured
by the main-mode share. No inference of obesity, sedentary behaviour, personal fitness,
accessibility or ease of changing transport. Urban form, distance, disability, caring duties
and population composition matter. Different areas are not equally situated.
Non-response can distort comparisons; observed unknown counts are visible, not silently dropped.
Historical comparisons also span changing populations and working patterns.

## Personal planner

`weekly_minutes = minutes_per_segment × segments_per_day × days_per_week`.
Inputs: whole minutes 0–180, segments 1–4, days 0–7. These are interface bounds, not advice.
`benchmark_percentage = 100 × weekly_minutes / 150`, displayed as a rounded whole percentage.
This conditional comparison applies only if the entered minutes are moderate aerobic activity.
It is for adults, separate from children's activity guidance. Strength recommendations are
not included. No steps, pace, calories, health effects or weight-loss estimates.
No planner input is sent to a server, added to the URL or stored automatically. A plan file
is downloaded only on request. This tool does not recommend specific unsafe routes.

## Reproduce and update

Repository commands (Python 3.14, stdlib only):

```
py -3.14 -X utf8 qa/build_movement.py
py -3.14 -X utf8 qa/check_movement.py
# Refresh only after reviewing CSO availability/definitions:
py -3.14 -X utf8 qa/build_movement.py --refresh
```

The downloadable `reproduce.zip` contains the same scripts, template, source snapshots,
assets and relative layout. Extract, then run the commands above from that folder. The
standalone `pipeline.py` is the same source as `qa/build_movement.py`, supplied for inspection.
In the extracted pack use `py -3.14 -X utf8 qa/check_movement.py --data-only`: this validates
the data, arithmetic and generated HTML without requiring the surrounding NNF website's
navigation pages or release assets. The full website checkout runs the complete link check.

DATA SOURCE → download raw JSON-stat → validate cube dimensions and nonnegative values →
retain source IDs/counts → validate totals and percentage cells → join → calculate shares →
generate static HTML, JSON, CSV and SVG. Refresh validates candidate cubes before writes.
Review the resulting diff and rerun browser proof before replacing a published edition.
Retain previous editions in Git; do not silently revise historical claims.

Gates: all mode counts equal source totals; 30 areas sum to State; published one-decimal
walking/cycling percentages agree within rounding tolerance; 2022 national mode counts agree
between F7065 and F7122; journey-time bands sum to total; male + female = both sexes;
snapshot hashes verified. Adversarial bad-source and zero/missing-denominator checks included.

Update when the CSO revises these tables or publishes a comparable next census dataset.
Check definitions and geography first; fail closed if shape changes. No paid API, runtime
data API, scheduled GitHub workflow or mandatory website build system added.

## Licence and corrections

[CSO reuse policy](https://www.cso.ie/en/aboutus/whoweare/copyrightpolicy/): statistical
information licensed CC BY 4.0. Public/commercial reuse allowed with attribution and indication
of changes. No CSO logo or implied endorsement. NNF derived data and charts: CC BY 4.0.
Credit: “No Nonsense Fitness analysis of CSO Census data, F7065/F7068/F7122, CC BY 4.0.”
For corrections, email keith@nononsensefitness.ie with the exact area, group, source and value.
