{
  "title": "The State of Licensed Child Care in Canada 2026 — province-level dataset",
  "publisher": "MapleCub",
  "url": "https://www.maplecub.ca/research/state-of-child-care-2026",
  "data_lab": "https://www.maplecub.ca/research",
  "license": "CC BY 4.0",
  "license_url": "https://creativecommons.org/licenses/by/4.0/",
  "edition_identifier": "maplecub-ccd-2026-08",
  "doi": "10.5281/zenodo.21909631",
  "doi_note": "Concept DOI — always resolves to the newest edition. Cite this one unless a figure must resolve to the exact deposit it came from, in which case use doi_this_edition.",
  "doi_this_edition": "10.5281/zenodo.21909632",
  "archived_at": "https://zenodo.org/records/21909632",
  "cite_as": "MapleCub, \"The State of Licensed Child Care in Canada, 2026,\" 2026-08-10 edition. https://doi.org/10.5281/zenodo.21909631",
  "as_of": "2026-08-10",
  "first_published": "2026-07-07",
  "community_definition": "A community is lower(trim(city)), non-empty — the normalized city name, not the raw registry string. Case variants in the MB and SK registries would otherwise be counted twice; 47 MB rows and 8 SK rows carry no city value and are excluded from community counts, so MB's community counts rest on 1,092 of its 1,139 rows. 35 of those 47 MB rows also carry no coordinates. The 2026-08-10 MB repair merged registry abbreviations (e.g. \"Wpg\") into their proper communities wherever the community was determinable and set the 12 that stayed unrecoverable to null; those 12 are part of the 47.",
  "notes": [
    "Counts are visible licensed programs after deduplication (290 duplicates identified and merged in the July 2026 dedup pass; not re-derived in this edition).",
    "New Brunswick (947 programs) was added in the 2026-08-10 edition; all national totals moved from the 2026-07-07 edition.",
    "Registry scope differs by province: BC and NB license family homes individually; ON home child care is agency-based; QC home care runs through coordinating offices and is not individually listed.",
    "Published capacity: only QC, AB and NS publish licensed capacity as open data. AB capacity includes school-age care.",
    "children_0_4: Statistics Canada Table 17-10-0005-01, July 1 2025 estimates.",
    "GEOCODING. geocoded counts rows carrying ANY coordinate and is not a precision measure. A (lat,lng) point is treated as a CENTROID when more than 3 visible listings sit on it AND they resolve to more than 1 distinct street address; address_level_geocoded counts the rest. Nationally 9,400 of 20,481 (45.9%) are address-level and 11,081 (54.1%) are a postal-district or municipal centroid. Address-level in BC, NS, NB and most of AB; centroid in ON, QC, SK and MB. No figure in this dataset is computed from coordinates.",
    "GOOGLE MATCHING. rated is bounded by matched_by_maplecub: a listing cannot carry a rating we never looked for. In BC, SK and MB the published rated share IS the match rate to within a rounding point, so the provinces are NOT ranked on it. A claim about a province's sector is made only where match coverage is at least 60% (QC, AB, NS), because with coverage m the true share is bounded by an interval of width (1-m). NB has not been matched at all - its presence fields are null, NOT zero, and it is excluded from the presence denominator of 19,569.",
    "AGE BANDS. school_age_only counts out-of-school-care programmes identifiable from published age bands, and is bounded by age_band_known: 100% of QC and NB rows, 94-96% of AB, MB and NS, and 14-18% of BC, ON and SK. programs_per_1000_children_0_4_ex_school_age is published for completeness and is NOT a ranking - excluding school-age programmes everywhere would rank provinces by registry disclosure rather than by supply.",
    "Fee rules verified 2026-07-05 against official provincial sources (see maplecub.ca/guides/child-care-costs); NB's 2026 Parent Fee Grid is cited to the Government of New Brunswick (fetched 2026-08-10).",
    "Website counts are frozen to the quarterly snapshot (metric_snapshots, 2026Q3) at 7,747; the website-discovery process keeps running between editions and the live column stood at 8,369 when read on 2026-08-11. Website presence is not capped by Google matching but is conditioned by it: 62.2% of matched listings carried a website against 25.3% of unmatched ones."
  ],
  "totals": {
    "listings": 20516,
    "geocoded": 20481,
    "address_level_geocoded": 9400,
    "centroid_level_geocoded": 11081,
    "communities": 2175,
    "one_option_communities": 1074,
    "one_option_communities_named_list": 1031,
    "one_option_registry_variants_excluded": 43,
    "centres": 17001,
    "family_homes": 3515,
    "postal_fsas": 1514,
    "published_capacity": 479782,
    "children_0_4": 1836858,
    "registry_identifiers": 20516,
    "duplicates_merged": 290,
    "school_age_only_identifiable": 1020,
    "presence_denominator_seven_provinces": 19569,
    "matched_by_maplecub_seven_provinces": 9252,
    "rated_among_matched_seven_provinces": 5991,
    "rated_seven_provinces": 6215,
    "google_reviews_seven_provinces": 132162,
    "websites_seven_provinces": 7747,
    "websites_live_2026_08_11": 8369
  },
  "provinces": [
    {
      "province_code": "BC",
      "province": "British Columbia",
      "listings": 5702,
      "centres": 3849,
      "family_homes": 1853,
      "geocoded": 5702,
      "address_level_geocoded": 5680,
      "centroid_level_geocoded": 22,
      "distinct_coordinate_points": 5523,
      "communities": 215,
      "one_option_communities": 61,
      "top5_city_share_pct": 35.9,
      "published_capacity": null,
      "children_0_4": 216910,
      "programs_per_1000_children_0_4": 26.3,
      "programs_per_1000_children_0_4_ex_school_age": 26.0,
      "age_band_known": 823,
      "school_age_only": 57,
      "matched_by_maplecub": 1031,
      "rated_among_matched": 1016,
      "rated": 1031,
      "avg_google_rating": 4.61,
      "google_reviews": 22219,
      "websites": 1566,
      "postal_fsas": 190,
      "inspection_open_data": "per-facility only",
      "parent_fee_2026": "CCFRI reductions up to $900/mo; $200/mo ($10/day) floor; $10-a-day only at designated sites; no published ceiling"
    },
    {
      "province_code": "ON",
      "province": "Ontario",
      "listings": 4374,
      "centres": 4209,
      "family_homes": 165,
      "geocoded": 4374,
      "address_level_geocoded": 202,
      "centroid_level_geocoded": 4172,
      "distinct_coordinate_points": 497,
      "communities": 555,
      "one_option_communities": 271,
      "top5_city_share_pct": 34.0,
      "published_capacity": null,
      "children_0_4": 720586,
      "programs_per_1000_children_0_4": 6.1,
      "programs_per_1000_children_0_4_ex_school_age": 6.0,
      "age_band_known": 784,
      "school_age_only": 23,
      "matched_by_maplecub": 1996,
      "rated_among_matched": 1995,
      "rated": 2074,
      "avg_google_rating": 4.46,
      "google_reviews": 49747,
      "websites": 2999,
      "postal_fsas": 495,
      "inspection_open_data": "per-facility only",
      "parent_fee_2026": "$22/day CWELCC cap in force since 2025-01-01; separately, the federal one-year extension holds the provincial average at $19/day until 2026-12-31 and runs the agreement to 2027-03-31"
    },
    {
      "province_code": "QC",
      "province": "Quebec",
      "listings": 3774,
      "centres": 3774,
      "family_homes": 0,
      "geocoded": 3774,
      "address_level_geocoded": 178,
      "centroid_level_geocoded": 3596,
      "distinct_coordinate_points": 410,
      "communities": 547,
      "one_option_communities": 297,
      "top5_city_share_pct": 36.2,
      "published_capacity": 237634,
      "children_0_4": 411925,
      "programs_per_1000_children_0_4": 9.2,
      "programs_per_1000_children_0_4_ex_school_age": 9.2,
      "age_band_known": 3774,
      "school_age_only": 0,
      "matched_by_maplecub": 3370,
      "rated_among_matched": 1785,
      "rated": 1886,
      "avg_google_rating": 4.53,
      "google_reviews": 29768,
      "websites": 1488,
      "postal_fsas": 407,
      "inspection_open_data": "enforcement (penalties) open data; inspection results also published per facility on the ministry map",
      "parent_fee_2026": "$9.65/day at subsidized providers until 2026-12-31, rising to $10.60/day on 2027-01-01 (Regles budgetaires 2026-2027); refundable tax credit for expenses elsewhere",
      "subsidized_installations": 2788
    },
    {
      "province_code": "AB",
      "province": "Alberta",
      "listings": 2912,
      "centres": 2771,
      "family_homes": 141,
      "geocoded": 2912,
      "address_level_geocoded": 2001,
      "centroid_level_geocoded": 911,
      "distinct_coordinate_points": 1858,
      "communities": 239,
      "one_option_communities": 108,
      "top5_city_share_pct": 63.9,
      "published_capacity": 222932,
      "children_0_4": 262923,
      "programs_per_1000_children_0_4": 11.1,
      "programs_per_1000_children_0_4_ex_school_age": 9.1,
      "age_band_known": 2756,
      "school_age_only": 531,
      "matched_by_maplecub": 2305,
      "rated_among_matched": 861,
      "rated": 869,
      "avg_google_rating": 4.6,
      "google_reviews": 23243,
      "websites": 1076,
      "postal_fsas": 153,
      "inspection_open_data": "open data",
      "parent_fee_2026": "$326.25/mo flat fee full-time (~$15/day)"
    },
    {
      "province_code": "SK",
      "province": "Saskatchewan",
      "listings": 1320,
      "centres": 450,
      "family_homes": 870,
      "geocoded": 1320,
      "address_level_geocoded": 6,
      "centroid_level_geocoded": 1314,
      "distinct_coordinate_points": 43,
      "communities": 176,
      "one_option_communities": 127,
      "top5_city_share_pct": 75.9,
      "published_capacity": null,
      "children_0_4": 68675,
      "programs_per_1000_children_0_4": 19.2,
      "programs_per_1000_children_0_4_ex_school_age": 19.2,
      "age_band_known": 226,
      "school_age_only": 0,
      "matched_by_maplecub": 86,
      "rated_among_matched": 85,
      "rated": 91,
      "avg_google_rating": 4.39,
      "google_reviews": 917,
      "websites": 140,
      "postal_fsas": 43,
      "inspection_open_data": "none",
      "parent_fee_2026": "$217.50/mo flat ($10/day) under 6; since 2026-07-01 the $10 covers a standard 10-hour day and operators may charge beyond it"
    },
    {
      "province_code": "MB",
      "province": "Manitoba",
      "listings": 1139,
      "centres": 802,
      "family_homes": 337,
      "geocoded": 1104,
      "address_level_geocoded": 43,
      "centroid_level_geocoded": 1061,
      "distinct_coordinate_points": 89,
      "communities": 160,
      "one_option_communities": 69,
      "top5_city_share_pct": 65.6,
      "published_capacity": null,
      "children_0_4": 80298,
      "programs_per_1000_children_0_4": 14.2,
      "programs_per_1000_children_0_4_ex_school_age": 13.0,
      "age_band_known": 1070,
      "school_age_only": 96,
      "matched_by_maplecub": 233,
      "rated_among_matched": 232,
      "rated": 247,
      "avg_google_rating": 4.35,
      "google_reviews": 5722,
      "websites": 405,
      "postal_fsas": 65,
      "inspection_open_data": "none",
      "parent_fee_2026": "$10/day regulated maximum (4-10h, funded facilities)"
    },
    {
      "province_code": "NB",
      "province": "New Brunswick",
      "listings": 947,
      "centres": 812,
      "family_homes": 135,
      "geocoded": 947,
      "address_level_geocoded": 942,
      "centroid_level_geocoded": 5,
      "distinct_coordinate_points": 746,
      "communities": 166,
      "one_option_communities": 73,
      "top5_city_share_pct": 43.7,
      "published_capacity": null,
      "children_0_4": 34230,
      "programs_per_1000_children_0_4": 27.7,
      "programs_per_1000_children_0_4_ex_school_age": 19.7,
      "age_band_known": 947,
      "school_age_only": 273,
      "matched_by_maplecub": 0,
      "rated_among_matched": null,
      "rated": null,
      "avg_google_rating": null,
      "google_reviews": null,
      "websites": null,
      "postal_fsas": 99,
      "inspection_open_data": "per-facility only",
      "parent_fee_2026": "$19/day infant and $16/day preschool full-day at designated facilities (provincial Parent Fee Grid, May 1 2026); no income test",
      "designated_fee_grid_facilities": 641,
      "presence_matched": false
    },
    {
      "province_code": "NS",
      "province": "Nova Scotia",
      "listings": 348,
      "centres": 334,
      "family_homes": 14,
      "geocoded": 348,
      "address_level_geocoded": 348,
      "centroid_level_geocoded": 0,
      "distinct_coordinate_points": 337,
      "communities": 117,
      "one_option_communities": 68,
      "top5_city_share_pct": 41.4,
      "published_capacity": 19216,
      "children_0_4": 41311,
      "programs_per_1000_children_0_4": 8.4,
      "programs_per_1000_children_0_4_ex_school_age": 7.5,
      "age_band_known": 334,
      "school_age_only": 40,
      "matched_by_maplecub": 231,
      "rated_among_matched": 17,
      "rated": 17,
      "avg_google_rating": 4.5,
      "google_reviews": 546,
      "websites": 73,
      "postal_fsas": 62,
      "inspection_open_data": "open data",
      "parent_fee_2026": "fixed dollar-per-day reductions off each provider's own fee ($18.25/day full-day centre toddler and preschool; $17.00/day family-home infant), unchanged since 2022-12-31; no single provincial daily figure; not at $10/day"
    }
  ],
  "inspection_transparency": {
    "summary": "Six of eight provinces publish inspection or enforcement findings in some form, and as of the 2026-08-11 audit all six are cited to a government page MapleCub opened. Bulk, machine-readable data is confirmed in three (AB, NS, QC); all three counts below are DATED EXTRACTS of files that have since moved, not the live record - see extracted and refresh on each. Quebec publishes both enforcement penalties as open data and inspection results per facility. The three per-facility provinces publish three different things: NB publishes inspection reports, BC publishes summary reports of inspections and substantiated complaints through five regional health authorities, and ON publishes confirmed violations and offences only. RESOLVED 2026-08-11: the data.ontario.ca dataset 'Compliance of licensed child care facilities with licensing requirements' was read and is withheld - 'This data is not available right now. We are reviewing the data to determine if it can be made open to the public' - as is the sibling serious-incidents dataset. Ontario therefore does not publish inspection results in bulk.",
    "AB": {
      "records": 15566,
      "facilities": 2874,
      "inspections": 11770,
      "follow_ups": 2274,
      "complaint_triggered": 1522,
      "window": "2024-07 to 2025-12",
      "extracted": "2026-07-05",
      "refresh": "a rolling 18-month window refreshed quarterly, so today's file will differ"
    },
    "NS": {
      "records": 645,
      "facilities": 339,
      "annual": 328,
      "unannounced": 317,
      "window": "2010-11 to 2025-08",
      "extracted": "2026-07-11",
      "refresh": "updated bi-annually; refreshed 2026-07-19 and now current to 2026-06-30, so today's file will differ"
    },
    "QC": {
      "administrative_penalties": 730,
      "facilities": 321,
      "total_penalty_amount_cad": 699500,
      "window": "2023-01 to 2025-09",
      "extracted": "2026-08-10",
      "refresh": "published quarterly; registers for 2025-10/2025-12 and 2026-01/2026-03 have appeared since"
    },
    "per_facility_only": [
      "ON",
      "BC",
      "NB"
    ],
    "none": [
      "SK",
      "MB"
    ],
    "none_search_note": "Saskatchewan and Manitoba: no bulk inspection or enforcement dataset found on either province's open-data portal or child-care ministry pages, searched 2026-08-11.",
    "unresolved": [],
    "NB_source": "https://www2.gnb.ca/content/gnb/en/departments/education/elcc/content/inspection_reports.html",
    "ON_scope": "confirmed violations and offences only - compliance orders, protection orders, administrative penalties, restraining orders and prosecutions; licensed providers since August 2015, unlicensed since January 2012. A routine Ontario inspection that ends in compliance is never published.",
    "BC_scope": "summary reports of inspections and substantiated complaints, held by the five regional health authorities (Fraser, Interior, Island, Northern, Vancouver Coastal) rather than by the province, so there is no single provincial file.",
    "ON_source": "https://www.ontario.ca/page/consequences-breaking-child-care-rules",
    "BC_source": "https://www2.gov.bc.ca/gov/content/family-social-supports/caring-for-young-children/communications-engagement/reporting-on-child-care-facilities/licensed-day-care-inspection-reports",
    "ON_bulk_withheld_source": "https://data.ontario.ca/dataset/compliance-of-licensed-child-care-facilities-with-licensing-requirements"
  },
  "coverage_fields_as_of": "2026-08-11",
  "edition_note": "W25 revision, 2026-08-11. Three fields that record how far a MapleCub pipeline has reached were being published as findings about provinces, and are now published as coverage with the denominator that says how much of the province they observed: Google matching (matched_by_maplecub / rated_among_matched), geocoding precision (address_level_geocoded / centroid_level_geocoded) and age bands (age_band_known / school_age_only). No province is ranked on any of them. The province-level counts, capacity, communities and fee rules are unchanged from the 2026-08-10 edition.",
  "geocoding": {
    "as_of": "2026-08-11",
    "centroid_rule": "more than 3 visible listings on one identical lat/lng, resolving to more than 1 distinct street address",
    "with_coordinates": 20481,
    "address_level": 9400,
    "centroid_level": 11081,
    "address_level_provinces": [
      "BC",
      "NS",
      "NB",
      "AB"
    ],
    "centroid_provinces": [
      "ON",
      "QC",
      "SK",
      "MB"
    ],
    "worst_case": "Saskatchewan's S0K resolves 57 listings in 27 separate towns to one point; Alberta pins 314 Calgary listings and 256 Edmonton listings to one point each"
  },
  "google_match_coverage": {
    "as_of": "2026-08-11",
    "matched": 9252,
    "denominator": 19569,
    "rated_among_matched": 5991,
    "sector_claim_floor_pct": 60,
    "sector_claim_provinces": [
      "QC",
      "AB",
      "NS"
    ],
    "rule": "With match coverage m and a rated-among-matched share r, a province's true rated share lies in [m*r, m*r + (1-m)]. MapleCub states a finding about a province's sector only where that interval is under 40 points wide."
  },
  "nearest_licensed_alternative": {
    "as_of": "2026-08-11",
    "method": "For each one-option community, straight-line distance from its single listing to the nearest other visible licensed listing in a different community. Both endpoints must carry address-level coordinates, which restricts the analysis to BC, AB, NS and NB. Computed twice: PostGIS ST_DWithin on geography, and raw haversine arithmetic without PostGIS.",
    "provinces": [
      "BC",
      "AB",
      "NS",
      "NB"
    ],
    "one_option_in_scope": 310,
    "computable": 309,
    "within_10km": 160,
    "within_25km": 260,
    "by_province": [
      {
        "province_code": "BC",
        "one_option": 61,
        "computable": 60,
        "within_10km": 33,
        "within_25km": 45
      },
      {
        "province_code": "AB",
        "one_option": 108,
        "computable": 108,
        "within_10km": 28,
        "within_25km": 83
      },
      {
        "province_code": "NS",
        "one_option": 68,
        "computable": 68,
        "within_10km": 43,
        "within_25km": 61
      },
      {
        "province_code": "NB",
        "one_option": 73,
        "computable": 73,
        "within_10km": 56,
        "within_25km": 71
      }
    ],
    "caveat": "A straight-line distance between two licences, not a travel time and not an offer of a place. Read 'one-option community' as one licensed programme written down under that name, not as a claim about a travel-time catchment."
  }
}
