{
  "generated_at": "2026-06-12T08:38:16",
  "database": "A:\\TrafficAnalytics\\PROJECTS\\public_transport_intel\\data\\duckdb\\vic_public_transport.duckdb",
  "row_counts": [
    {
      "table_name": "monthly_patronage_by_mode_wide",
      "row_count": 118
    },
    {
      "table_name": "v_monthly_patronage_by_mode_wide_clean",
      "row_count": 97
    },
    {
      "table_name": "monthly_patronage_by_mode",
      "row_count": 581
    },
    {
      "table_name": "v_monthly_patronage_by_mode_clean",
      "row_count": 581
    }
  ],
  "latest_available_month": [
    {
      "month_start": "2026-01-01 00:00:00"
    }
  ],
  "latest_complete_month": [
    {
      "month_start": "2025-12-01 00:00:00"
    }
  ],
  "incomplete_months": [
    {
      "year": 2026,
      "month": 1,
      "month_name": "January",
      "month_start": "2026-01-01 00:00:00",
      "metropolitan_train": 14263509.0,
      "metropolitan_tram": NaN,
      "metropolitan_bus": 7624940.0,
      "regional_train": 1604510.0,
      "regional_coach": 110891.0,
      "regional_bus": 771902.0,
      "is_complete_all_modes": false
    }
  ],
  "latest_complete_month_by_mode": [
    {
      "year": 2025,
      "month": 12,
      "month_name": "December",
      "month_start": "2025-12-01 00:00:00",
      "mode": "Metropolitan Train",
      "pax_monthly": 14894850.0
    },
    {
      "year": 2025,
      "month": 12,
      "month_name": "December",
      "month_start": "2025-12-01 00:00:00",
      "mode": "Metropolitan Tram",
      "pax_monthly": 12069311.0
    },
    {
      "year": 2025,
      "month": 12,
      "month_name": "December",
      "month_start": "2025-12-01 00:00:00",
      "mode": "Metropolitan Bus",
      "pax_monthly": 8281774.0
    },
    {
      "year": 2025,
      "month": 12,
      "month_name": "December",
      "month_start": "2025-12-01 00:00:00",
      "mode": "Regional Train",
      "pax_monthly": 2157499.0
    },
    {
      "year": 2025,
      "month": 12,
      "month_name": "December",
      "month_start": "2025-12-01 00:00:00",
      "mode": "Regional Bus",
      "pax_monthly": 895411.0
    },
    {
      "year": 2025,
      "month": 12,
      "month_name": "December",
      "month_start": "2025-12-01 00:00:00",
      "mode": "Regional Coach",
      "pax_monthly": 122578.0
    }
  ],
  "latest_available_month_by_mode": [
    {
      "year": 2026,
      "month": 1,
      "month_name": "January",
      "month_start": "2026-01-01 00:00:00",
      "mode": "Metropolitan Train",
      "pax_monthly": 14263509.0
    },
    {
      "year": 2026,
      "month": 1,
      "month_name": "January",
      "month_start": "2026-01-01 00:00:00",
      "mode": "Metropolitan Bus",
      "pax_monthly": 7624940.0
    },
    {
      "year": 2026,
      "month": 1,
      "month_name": "January",
      "month_start": "2026-01-01 00:00:00",
      "mode": "Regional Train",
      "pax_monthly": 1604510.0
    },
    {
      "year": 2026,
      "month": 1,
      "month_name": "January",
      "month_start": "2026-01-01 00:00:00",
      "mode": "Regional Bus",
      "pax_monthly": 771902.0
    },
    {
      "year": 2026,
      "month": 1,
      "month_name": "January",
      "month_start": "2026-01-01 00:00:00",
      "mode": "Regional Coach",
      "pax_monthly": 110891.0
    }
  ],
  "station_growth_top_10": [
    {
      "network": "regional",
      "latest_fin_year": "FY24-25",
      "stop_name": "Tarneit",
      "pax_2018_2019": 1350500,
      "latest_pax_annual": 1717700,
      "pax_change": 367200,
      "pct_change_percent": 27.18992965568308
    },
    {
      "network": "regional",
      "latest_fin_year": "FY24-25",
      "stop_name": "Rockbank",
      "pax_2018_2019": 41450,
      "latest_pax_annual": 399800,
      "pax_change": 358350,
      "pct_change_percent": 864.5355850422195
    },
    {
      "network": "regional",
      "latest_fin_year": "FY24-25",
      "stop_name": "Wyndham Vale",
      "pax_2018_2019": 786100,
      "latest_pax_annual": 1128400,
      "pax_change": 342300,
      "pct_change_percent": 43.54407836153161
    },
    {
      "network": "metro",
      "latest_fin_year": "FY24-25",
      "stop_name": "Craigieburn",
      "pax_2018_2019": 1236250,
      "latest_pax_annual": 1508250,
      "pax_change": 272000,
      "pct_change_percent": 22.002022244691606
    },
    {
      "network": "metro",
      "latest_fin_year": "FY24-25",
      "stop_name": "Merinda Park",
      "pax_2018_2019": 306950,
      "latest_pax_annual": 577750,
      "pax_change": 270800,
      "pct_change_percent": 88.22283759569962
    },
    {
      "network": "metro",
      "latest_fin_year": "FY24-25",
      "stop_name": "Cranbourne",
      "pax_2018_2019": 817750,
      "latest_pax_annual": 1054250,
      "pax_change": 236500,
      "pct_change_percent": 28.920819321308468
    },
    {
      "network": "regional",
      "latest_fin_year": "FY24-25",
      "stop_name": "Southern Cross Railway Station (Melbourne City)",
      "pax_2018_2019": 6306000,
      "latest_pax_annual": 6506100,
      "pax_change": 200100,
      "pct_change_percent": 3.1731684110371075
    },
    {
      "network": "regional",
      "latest_fin_year": "FY24-25",
      "stop_name": "Deer Park",
      "pax_2018_2019": 453950,
      "latest_pax_annual": 636300,
      "pax_change": 182350,
      "pct_change_percent": 40.169622205088665
    },
    {
      "network": "metro",
      "latest_fin_year": "FY24-25",
      "stop_name": "Berwick",
      "pax_2018_2019": 864800,
      "latest_pax_annual": 1008200,
      "pax_change": 143400,
      "pct_change_percent": 16.581868640148013
    },
    {
      "network": "regional",
      "latest_fin_year": "FY24-25",
      "stop_name": "Donnybrook",
      "pax_2018_2019": 58750,
      "latest_pax_annual": 191400,
      "pax_change": 132650,
      "pct_change_percent": 225.78723404255322
    }
  ],
  "station_decline_top_10": [
    {
      "network": "metro",
      "latest_fin_year": "FY24-25",
      "stop_name": "Flinders Street",
      "pax_2018_2019": 28320650,
      "latest_pax_annual": 19633300,
      "pax_change": -8687350,
      "pct_change_percent": -30.674966852808815
    },
    {
      "network": "metro",
      "latest_fin_year": "FY24-25",
      "stop_name": "Southern Cross",
      "pax_2018_2019": 19551450,
      "latest_pax_annual": 14696050,
      "pax_change": -4855400,
      "pct_change_percent": -24.833963721360817
    },
    {
      "network": "metro",
      "latest_fin_year": "FY24-25",
      "stop_name": "Parliament",
      "pax_2018_2019": 10124200,
      "latest_pax_annual": 6344650,
      "pax_change": -3779550,
      "pct_change_percent": -37.33183856502242
    },
    {
      "network": "metro",
      "latest_fin_year": "FY24-25",
      "stop_name": "Melbourne Central",
      "pax_2018_2019": 15250700,
      "latest_pax_annual": 11876900,
      "pax_change": -3373800,
      "pct_change_percent": -22.122263240375855
    },
    {
      "network": "metro",
      "latest_fin_year": "FY24-25",
      "stop_name": "Flagstaff",
      "pax_2018_2019": 4854950,
      "latest_pax_annual": 3445200,
      "pax_change": -1409750,
      "pct_change_percent": -29.03737422630511
    },
    {
      "network": "metro",
      "latest_fin_year": "FY24-25",
      "stop_name": "South Yarra",
      "pax_2018_2019": 4367150,
      "latest_pax_annual": 3199050,
      "pax_change": -1168100,
      "pct_change_percent": -26.747421086978925
    },
    {
      "network": "metro",
      "latest_fin_year": "FY24-25",
      "stop_name": "Box Hill",
      "pax_2018_2019": 3685500,
      "latest_pax_annual": 2648350,
      "pax_change": -1037150,
      "pct_change_percent": -28.141364808031476
    },
    {
      "network": "metro",
      "latest_fin_year": "FY24-25",
      "stop_name": "Caulfield",
      "pax_2018_2019": 4175050,
      "latest_pax_annual": 3205100,
      "pax_change": -969950,
      "pct_change_percent": -23.23205710111256
    },
    {
      "network": "metro",
      "latest_fin_year": "FY24-25",
      "stop_name": "Footscray",
      "pax_2018_2019": 5332950,
      "latest_pax_annual": 4383950,
      "pax_change": -949000,
      "pct_change_percent": -17.795029017710647
    },
    {
      "network": "metro",
      "latest_fin_year": "FY24-25",
      "stop_name": "Glenferrie",
      "pax_2018_2019": 2729100,
      "latest_pax_annual": 1978650,
      "pax_change": -750450,
      "pct_change_percent": -27.49807628888645
    }
  ]
}