Skip to main content
Petanque Life

Federation Reports

F10.04 14 features Shipped

At a glance

Federation Reports turn membership, license, club, umpire, and competition-calendar activity into board-ready KPI dashboards. Federations and their subordinate OrgNodes get the same metrics computed consistently from monthly rollups, so a club, district, region, and national office all read the same numbers from the same source, with year-over-year overlays, geographic heat maps, and revenue reports gated by capability.

How it works

A federation-scoped aggregator subscribes to license, member, competition, and umpire events and writes monthly FederationRollup documents per (org_node_id, dimension, month). Membership growth (F10.04.01) is computed from license state transitions: new = first-ever active, renewed = active in two consecutive years, lapsed = active last year and not this year. Club activity reports (F10.04.02) read competition-hosted counts and active-member counts (a member is active if they played at least one ranked match in the period).

Age (F10.04.03) and gender (F10.04.04) distribution are pivots on the player profile, recomputed from the current snapshot at month close so historical reports stay consistent. Geographic distribution heat maps (F10.04.05) bin members by postal code or municipality and join with a GeoJSON layer for the map render. License revenue reports (F10.04.06) sum payment events by license_type and OrgNode, respecting per-tenant license-type configuration.

Umpire activity (F10.04.07) counts assignments and matches officiated. Competition calendar utilization (F10.04.08) compares planned vs realized events per week. Year-over-year comparison (F10.04.09) overlays the current month's rollup against the same month last year, with a delta column.

KPI dashboards per federation level (F10.04.10) compose the relevant tiles for club, district, regional, and national OrgNodes; the layout follows the tenant's configured hierarchy depth, so a flat federation sees one level and a deep federation sees all of them. Sensitive reports (revenue, lapsed members) are capability-gated, and federation administrators can drill from a national tile down to the underlying clubs without leaving the dashboard.

Key capabilities

  • Monthly FederationRollup per OrgNode for stable historical reporting
  • Membership lifecycle classification: new, renewed, lapsed
  • License revenue aggregation honouring per-tenant license-type config
  • Geographic heat maps from postal-code binning + GeoJSON join
  • Year-over-year overlay with delta columns
  • KPI dashboards that adapt to the tenant's OrgNode hierarchy depth
  • Capability-gating on revenue and lapsed-member reports

In practice

The general secretary of a national federation opens the year-end KPI dashboard. The membership tile shows +4.2% net growth, with a renewal rate of 87% and 412 lapsed members flagged for re-engagement. License revenue is up 6%, broken down by the federation's four license types.

The geographic heat map shows a cold spot in the south-east, which she clicks to drill into and finds two clubs that hosted no competitions this year. She exports the regional-strength comparison to PDF for the board, and schedules a monthly delivery so the same report lands in the executive committee's inbox on the first of every month.

Features in this subsystem

14
ID Status Features
F10.04.01 Shipped Membership growth reports (new, renewed, lapsed) ✅ PL-F1004a
F10.04.02 Shipped Club activity reports (competitions hosted, members active) ✅ PL-F1004a
F10.04.03 Shipped Age distribution analysis ✅ PL-F1004a
F10.04.04 Shipped Gender distribution analysis ✅ PL-F1004a
F10.04.05 Shipped Geographic distribution (heat maps) ✅ PL-F1004a
F10.04.06 Shipped License revenue reports ✅ PL-F1004b
F10.04.07 Shipped Umpire activity reports ✅ PL-F1004b
F10.04.08 Shipped Competition calendar utilization ✅ PL-F1004b
F10.04.09 Shipped Year-over-year comparison ✅ PL-F1004b
F10.04.10 Shipped KPI dashboards per federation level ✅ PL-F1004b
F10.04.11 Shipped Federation engagement KPI — per-period snapshot per klubb (emails, webinars, resources, signups) med viktad engagement_score 0–100 — PL-T223 ✅ PL-T223
F10.04.12 Shipped Silent-clubs flagging — klubbar med score under silent_club_threshold (default 10) listas i /silent-endpoint med en-klick "skicka påminnelse"-CTA — PL-T223 ✅ PL-T223
F10.04.13 Shipped Ministry impact metrics — ImpactMetrics{total_participants, gender_split, age_split, regional_split, new_members, retained_members, events_held, sessions_held, accessibility_count, school_partnerships} auto-populerade från F10-rollups — PL-T223 ✅ PL-T223
F10.04.14 Shipped ROI calculator — cost_per_participant, cost_per_new_member, public_value_estimate med noll-suppression och 2-decimal-quantize — PL-T223 ✅ PL-T223