diff --git a/chronicle/bundle.py b/chronicle/bundle.py index ea749069..8718507d 100644 --- a/chronicle/bundle.py +++ b/chronicle/bundle.py @@ -40,12 +40,16 @@ "dwp-benefit-cap-november-2025", "dwp-benefit-statistics-february-2026", "dwp-pip-daily-living-foi-2025", + "dwp-uc-childcare-element-march-2021-august-2025", "dwp-uc-deductions-march-2025-february-2026", "dwp-uc-households-by-constituency-children-may-2025", "dwp-uc-households-by-constituency-may-2025", "dwp-uc-households-by-local-authority-may-2025", - "dwp-uc-households-children-may-2025", - "dwp-uc-households-family-type-may-2025", + "dwp-uc-households-carer-entitlement-april-december-2025", + "dwp-uc-households-children-april-december-2025", + "dwp-uc-households-family-type-april-december-2025", + "dwp-uc-households-housing-entitlement-april-december-2025", + "dwp-uc-households-lcwra-entitlement-april-december-2025", "dwp-uc-payment-distribution-may-2025", "dwp-uc-scotland-youngest-child-may-2025", "dwp-uc-two-child-limit-2025", diff --git a/chronicle/source_package.py b/chronicle/source_package.py index 9382c98a..3d9d2e03 100644 --- a/chronicle/source_package.py +++ b/chronicle/source_package.py @@ -120,6 +120,9 @@ "dwp-benefit-statistics-february-2026": Path( "dwp/benefit_statistics_february_2026" ), + "dwp-uc-childcare-element-march-2021-august-2025": Path( + "dwp/uc_childcare_element_march_2021_august_2025" + ), "dwp-uc-deductions-march-2025-february-2026": Path( "dwp/uc_deductions_march_2025_february_2026" ), @@ -133,9 +136,20 @@ "dwp-uc-households-by-local-authority-may-2025": Path( "dwp/uc_households_by_local_authority_may_2025" ), - "dwp-uc-households-children-may-2025": Path("dwp/uc_households_children_may_2025"), - "dwp-uc-households-family-type-may-2025": Path( - "dwp/uc_households_family_type_may_2025" + "dwp-uc-households-carer-entitlement-april-december-2025": Path( + "dwp/uc_households_carer_entitlement_april_december_2025" + ), + "dwp-uc-households-children-april-december-2025": Path( + "dwp/uc_households_children_april_december_2025" + ), + "dwp-uc-households-family-type-april-december-2025": Path( + "dwp/uc_households_family_type_april_december_2025" + ), + "dwp-uc-households-housing-entitlement-april-december-2025": Path( + "dwp/uc_households_housing_entitlement_april_december_2025" + ), + "dwp-uc-households-lcwra-entitlement-april-december-2025": Path( + "dwp/uc_households_lcwra_entitlement_april_december_2025" ), "dwp-uc-payment-distribution-may-2025": Path( "dwp/uc_payment_distribution_may_2025" diff --git a/db/data/dwp/uc_childcare_element_march_2021_august_2025/manifest.yaml b/db/data/dwp/uc_childcare_element_march_2021_august_2025/manifest.yaml new file mode 100644 index 00000000..6a12d0a8 --- /dev/null +++ b/db/data/dwp/uc_childcare_element_march_2021_august_2025/manifest.yaml @@ -0,0 +1,18 @@ +source_id: dwp +package_id: dwp-uc-childcare-element-march-2021-august-2025 +dataset: dwp_dwp-uc-childcare-element-march-2021-august-2025 +source_page: https://www.gov.uk/government/statistics/universal-credit-statistics-29-april-2013-to-9-october-2025 +table: Universal Credit childcare element statistics to August 2025, Table 1 +files: + 2025: + filename: universal-credit-childcare-element-statistics-march-2021-to-to-august-2025.ods + source_url: https://assets.publishing.service.gov.uk/media/6911d3e4663088df8f54f46c/universal-credit-childcare-element-statistics-march-2021-to-to-august-2025.ods + sha256: 9125e9754bf67bcc46da1a8915406ad1d5517119328f3bec49d4a389386ee764 + size_bytes: 71936 + fetched_at: '2026-08-21T11:36:03+00:00' + storage: + r2: + provider: r2 + bucket: ledger-raw + key: raw/dwp/dwp-uc-childcare-element-march-2021-august-2025/2025/9125e9754bf67bcc46da1a8915406ad1d5517119328f3bec49d4a389386ee764/universal-credit-childcare-element-statistics-march-2021-to-to-august-2025.ods + uri: r2://ledger-raw/raw/dwp/dwp-uc-childcare-element-march-2021-august-2025/2025/9125e9754bf67bcc46da1a8915406ad1d5517119328f3bec49d4a389386ee764/universal-credit-childcare-element-statistics-march-2021-to-to-august-2025.ods diff --git a/db/data/dwp/uc_childcare_element_march_2021_august_2025/universal-credit-childcare-element-statistics-march-2021-to-to-august-2025.ods b/db/data/dwp/uc_childcare_element_march_2021_august_2025/universal-credit-childcare-element-statistics-march-2021-to-to-august-2025.ods new file mode 100644 index 00000000..9b4937e2 Binary files /dev/null and b/db/data/dwp/uc_childcare_element_march_2021_august_2025/universal-credit-childcare-element-statistics-march-2021-to-to-august-2025.ods differ diff --git a/db/data/dwp/uc_households_carer_entitlement_april_december_2025/manifest.yaml b/db/data/dwp/uc_households_carer_entitlement_april_december_2025/manifest.yaml new file mode 100644 index 00000000..8e76f6b6 --- /dev/null +++ b/db/data/dwp/uc_households_carer_entitlement_april_december_2025/manifest.yaml @@ -0,0 +1,18 @@ +source_id: dwp +package_id: dwp-uc-households-carer-entitlement-april-december-2025 +dataset: dwp_dwp-uc-households-carer-entitlement-april-december-2025 +source_page: https://stat-xplore.dwp.gov.uk/ +table: Households on Universal Credit with carer entitlement, April to December 2025 +files: + 2025: + filename: uc_households_carer_entitlement_april_december_2025.json + source_url: https://stat-xplore.dwp.gov.uk/webapi/rest/v1/table + sha256: 1d57b10cc5db7f905553daa43c9192dc72a33d7a6f8052ef482986e45a45cb10 + size_bytes: 5415 + fetched_at: '2026-08-21T12:25:00Z' + storage: + r2: + provider: r2 + bucket: ledger-raw + key: raw/dwp/dwp-uc-households-carer-entitlement-april-december-2025/2025/1d57b10cc5db7f905553daa43c9192dc72a33d7a6f8052ef482986e45a45cb10/uc_households_carer_entitlement_april_december_2025.json + uri: r2://ledger-raw/raw/dwp/dwp-uc-households-carer-entitlement-april-december-2025/2025/1d57b10cc5db7f905553daa43c9192dc72a33d7a6f8052ef482986e45a45cb10/uc_households_carer_entitlement_april_december_2025.json diff --git a/db/data/dwp/uc_households_carer_entitlement_april_december_2025/uc_households_carer_entitlement_april_december_2025.json b/db/data/dwp/uc_households_carer_entitlement_april_december_2025/uc_households_carer_entitlement_april_december_2025.json new file mode 100644 index 00000000..0659cda3 --- /dev/null +++ b/db/data/dwp/uc_households_carer_entitlement_april_december_2025/uc_households_carer_entitlement_april_december_2025.json @@ -0,0 +1,101 @@ +{ + "query" : { + "database" : "str:database:UC_Households", + "measures" : [ "str:count:UC_Households:V_F_UC_HOUSEHOLDS" ], + "recodes" : { + "str:field:UC_Households:F_UC_HH_DATE:DATE_NAME" : { + "map" : [ [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202504" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202505" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202506" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202507" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202508" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202509" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202510" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202511" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202512" ] ], + "total" : false + }, + "str:field:UC_Households:V_F_UC_HOUSEHOLDS:HCCARER_ENTITLEMENT" : { + "map" : [ [ "str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCCARER_ENTITLEMENT:C_UC_CARER_ENTITLEMENT:1" ] ], + "total" : false + } + }, + "dimensions" : [ [ "str:field:UC_Households:F_UC_HH_DATE:DATE_NAME" ], [ "str:field:UC_Households:V_F_UC_HOUSEHOLDS:HCCARER_ENTITLEMENT" ] ] + }, + "database" : { + "id" : "UC_Households", + "uri" : "str:database:UC_Households", + "label" : "Households on Universal Credit", + "annotationKeys" : [ "I", "II", "III", "IV", "z" ] + }, + "measures" : [ { + "uri" : "str:count:UC_Households:V_F_UC_HOUSEHOLDS", + "label" : "Households on Universal Credit", + "measure" : "str:count:UC_Households:V_F_UC_HOUSEHOLDS", + "function" : "COUNT" + } ], + "fields" : [ { + "uri" : "str:field:UC_Households:F_UC_HH_DATE:DATE_NAME", + "label" : "Month", + "items" : [ { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202504" ], + "labels" : [ "April 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202505" ], + "labels" : [ "May 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202506" ], + "labels" : [ "June 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202507" ], + "labels" : [ "July 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202508" ], + "labels" : [ "August 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202509" ], + "labels" : [ "September 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202510" ], + "labels" : [ "October 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202511" ], + "labels" : [ "November 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202512" ], + "labels" : [ "December 2025" ], + "annotationKeys" : [ "r" ] + } ] + }, { + "uri" : "str:field:UC_Households:V_F_UC_HOUSEHOLDS:HCCARER_ENTITLEMENT", + "label" : "Carer Entitlement", + "items" : [ { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCCARER_ENTITLEMENT:C_UC_CARER_ENTITLEMENT:1" ], + "labels" : [ "Yes" ] + } ] + } ], + "cubes" : { + "str:count:UC_Households:V_F_UC_HOUSEHOLDS" : { + "values" : [ [ 1081717 ], [ 1093895 ], [ 1110319 ], [ 1122413 ], [ 1136537 ], [ 1148536 ], [ 1161047 ], [ 1173567 ], [ 1181358 ] ], + "precision" : 0 + } + }, + "annotationMap" : { + "I" : "A limited test of the full Universal Credit service was launched in Sutton, South London on 26th November 2014, and has expanded to other areas since. This publication now includes statistics covering both the live and full Universal Credit service. Please see https://www.gov.uk/government/publications/universal-credit-transition-to-full-service for details of the areas in which the full Universal Credit service is operating.", + "II" : "Data for more recent months will be subject to a higher degree of revision. Universal Credit award amounts may be retrospectively revised.", + "III" : "Monthly award amounts include any awards due to entitlement such as the standard allowance or housing entitlement plus any advance payments. Advance payments will normally be recovered during subsequent assessment periods.", + "IV" : "Award, entitlement and payment information may be missing for a very small number of households on Universal Credit, where more limited information is entered onto IT systems.", + "z" : "\"..\" denotes a nil or negligible number of claimants or award amount based on a nil or negligible number of claimants.", + "r" : "Figures marked \"r\" have been revised since the previous release." + } +} \ No newline at end of file diff --git a/db/data/dwp/uc_households_children_april_december_2025/manifest.yaml b/db/data/dwp/uc_households_children_april_december_2025/manifest.yaml new file mode 100644 index 00000000..fbff9611 --- /dev/null +++ b/db/data/dwp/uc_households_children_april_december_2025/manifest.yaml @@ -0,0 +1,18 @@ +source_id: dwp +package_id: dwp-uc-households-children-april-december-2025 +dataset: dwp_dwp-uc-households-children-april-december-2025 +source_page: https://stat-xplore.dwp.gov.uk/ +table: Households on Universal Credit by number of children, April to December 2025 +files: + 2025: + filename: uc_households_by_number_of_children_april_december_2025.json + source_url: https://stat-xplore.dwp.gov.uk/webapi/rest/v1/table + sha256: 010270fd62c6e8adbed5e272b9c07f51968f205b5c741522a372b336840afb0c + size_bytes: 7959 + fetched_at: '2026-08-21T11:45:49Z' + storage: + r2: + provider: r2 + bucket: ledger-raw + key: raw/dwp/dwp-uc-households-children-april-december-2025/2025/010270fd62c6e8adbed5e272b9c07f51968f205b5c741522a372b336840afb0c/uc_households_by_number_of_children_april_december_2025.json + uri: r2://ledger-raw/raw/dwp/dwp-uc-households-children-april-december-2025/2025/010270fd62c6e8adbed5e272b9c07f51968f205b5c741522a372b336840afb0c/uc_households_by_number_of_children_april_december_2025.json diff --git a/db/data/dwp/uc_households_children_may_2025/uc_households_by_number_of_children_may2025.json b/db/data/dwp/uc_households_children_april_december_2025/uc_households_by_number_of_children_april_december_2025.json similarity index 65% rename from db/data/dwp/uc_households_children_may_2025/uc_households_by_number_of_children_may2025.json rename to db/data/dwp/uc_households_children_april_december_2025/uc_households_by_number_of_children_april_december_2025.json index bc83678b..d3dac314 100644 --- a/db/data/dwp/uc_households_children_may_2025/uc_households_by_number_of_children_may2025.json +++ b/db/data/dwp/uc_households_children_april_december_2025/uc_households_by_number_of_children_april_december_2025.json @@ -4,7 +4,7 @@ "measures" : [ "str:count:UC_Households:V_F_UC_HOUSEHOLDS" ], "recodes" : { "str:field:UC_Households:F_UC_HH_DATE:DATE_NAME" : { - "map" : [ [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202505" ] ], + "map" : [ [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202504" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202505" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202506" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202507" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202508" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202509" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202510" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202511" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202512" ] ], "total" : false }, "str:field:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN" : { @@ -30,10 +30,50 @@ "uri" : "str:field:UC_Households:F_UC_HH_DATE:DATE_NAME", "label" : "Month", "items" : [ { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202504" ], + "labels" : [ "April 2025" ], + "annotationKeys" : [ "r" ] + }, { "type" : "RecodeItem", "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202505" ], "labels" : [ "May 2025" ], "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202506" ], + "labels" : [ "June 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202507" ], + "labels" : [ "July 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202508" ], + "labels" : [ "August 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202509" ], + "labels" : [ "September 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202510" ], + "labels" : [ "October 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202511" ], + "labels" : [ "November 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202512" ], + "labels" : [ "December 2025" ], + "annotationKeys" : [ "r" ] } ] }, { "uri" : "str:field:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN", @@ -75,7 +115,7 @@ } ], "cubes" : { "str:count:UC_Households:V_F_UC_HOUSEHOLDS" : { - "values" : [ [ 3457473, 1269512, 1103880, 497665, 176202, 77894, 1613, 0 ] ], + "values" : [ [ 3394739, 1266902, 1103424, 498264, 176622, 78050, 1193, 0 ], [ 3459403, 1269011, 1102910, 497655, 176302, 77960, 1193, 0 ], [ 3556793, 1273255, 1102909, 496740, 175887, 77813, 1217, 0 ], [ 3642317, 1276272, 1102361, 495810, 175485, 77663, 1259, 0 ], [ 3746544, 1279180, 1100776, 494622, 174708, 77374, 1223, 0 ], [ 3842241, 1282886, 1099737, 493189, 173991, 77094, 1176, 0 ], [ 3920511, 1285276, 1098626, 492211, 173493, 76914, 1197, 0 ], [ 3991675, 1286351, 1097688, 491419, 172938, 76819, 1261, 0 ], [ 4027547, 1287700, 1097127, 491069, 172594, 76704, 1301, 0 ] ], "precision" : 0 } }, diff --git a/db/data/dwp/uc_households_children_may_2025/manifest.yaml b/db/data/dwp/uc_households_children_may_2025/manifest.yaml deleted file mode 100644 index 74f41b1e..00000000 --- a/db/data/dwp/uc_households_children_may_2025/manifest.yaml +++ /dev/null @@ -1,18 +0,0 @@ -source_id: dwp -package_id: dwp-uc-households-children-may-2025 -dataset: dwp_dwp-uc-households-children-may-2025 -source_page: https://stat-xplore.dwp.gov.uk/ -table: Households on Universal Credit by number of children, May 2025 -files: - 2025: - filename: uc_households_by_number_of_children_may2025.json - source_url: https://stat-xplore.dwp.gov.uk/webapi/rest/v1/table - sha256: 8772d7385bb35e6c5123852e53e0626ee474021f74fa46256f7cde7fe8f7dd75 - size_bytes: 5292 - fetched_at: '2026-08-07T12:05:54+00:00' - storage: - r2: - provider: r2 - bucket: ledger-raw - key: raw/dwp/dwp-uc-households-children-may-2025/2025/8772d7385bb35e6c5123852e53e0626ee474021f74fa46256f7cde7fe8f7dd75/uc_households_by_number_of_children_may2025.json - uri: r2://ledger-raw/raw/dwp/dwp-uc-households-children-may-2025/2025/8772d7385bb35e6c5123852e53e0626ee474021f74fa46256f7cde7fe8f7dd75/uc_households_by_number_of_children_may2025.json diff --git a/db/data/dwp/uc_households_family_type_april_december_2025/manifest.yaml b/db/data/dwp/uc_households_family_type_april_december_2025/manifest.yaml new file mode 100644 index 00000000..de516312 --- /dev/null +++ b/db/data/dwp/uc_households_family_type_april_december_2025/manifest.yaml @@ -0,0 +1,18 @@ +source_id: dwp +package_id: dwp-uc-households-family-type-april-december-2025 +dataset: dwp_dwp-uc-households-family-type-april-december-2025 +source_page: https://stat-xplore.dwp.gov.uk/ +table: Households on Universal Credit by family type, April to December 2025 +files: + 2025: + filename: uc_households_by_family_type_april_december_2025.json + source_url: https://stat-xplore.dwp.gov.uk/webapi/rest/v1/table + sha256: 44d67348da8c34465611ac00efdfcb80a69ad0f52e788d53f82517b34594377f + size_bytes: 6719 + fetched_at: '2026-08-21T11:45:49Z' + storage: + r2: + provider: r2 + bucket: ledger-raw + key: raw/dwp/dwp-uc-households-family-type-april-december-2025/2025/44d67348da8c34465611ac00efdfcb80a69ad0f52e788d53f82517b34594377f/uc_households_by_family_type_april_december_2025.json + uri: r2://ledger-raw/raw/dwp/dwp-uc-households-family-type-april-december-2025/2025/44d67348da8c34465611ac00efdfcb80a69ad0f52e788d53f82517b34594377f/uc_households_by_family_type_april_december_2025.json diff --git a/db/data/dwp/uc_households_family_type_may_2025/uc_households_by_family_type_may2025.json b/db/data/dwp/uc_households_family_type_april_december_2025/uc_households_by_family_type_april_december_2025.json similarity index 61% rename from db/data/dwp/uc_households_family_type_may_2025/uc_households_by_family_type_may2025.json rename to db/data/dwp/uc_households_family_type_april_december_2025/uc_households_by_family_type_april_december_2025.json index 90fa1f26..4046bcbf 100644 --- a/db/data/dwp/uc_households_family_type_may_2025/uc_households_by_family_type_may2025.json +++ b/db/data/dwp/uc_households_family_type_april_december_2025/uc_households_by_family_type_april_december_2025.json @@ -4,7 +4,7 @@ "measures" : [ "str:count:UC_Households:V_F_UC_HOUSEHOLDS" ], "recodes" : { "str:field:UC_Households:F_UC_HH_DATE:DATE_NAME" : { - "map" : [ [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202505" ] ], + "map" : [ [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202504" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202505" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202506" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202507" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202508" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202509" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202510" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202511" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202512" ] ], "total" : false }, "str:field:UC_Households:V_F_UC_HOUSEHOLDS:hnfamily_type" : { @@ -30,10 +30,50 @@ "uri" : "str:field:UC_Households:F_UC_HH_DATE:DATE_NAME", "label" : "Month", "items" : [ { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202504" ], + "labels" : [ "April 2025" ], + "annotationKeys" : [ "r" ] + }, { "type" : "RecodeItem", "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202505" ], "labels" : [ "May 2025" ], "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202506" ], + "labels" : [ "June 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202507" ], + "labels" : [ "July 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202508" ], + "labels" : [ "August 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202509" ], + "labels" : [ "September 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202510" ], + "labels" : [ "October 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202511" ], + "labels" : [ "November 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202512" ], + "labels" : [ "December 2025" ], + "annotationKeys" : [ "r" ] } ] }, { "uri" : "str:field:UC_Households:V_F_UC_HOUSEHOLDS:hnfamily_type", @@ -62,7 +102,7 @@ } ], "cubes" : { "str:count:UC_Households:V_F_UC_HOUSEHOLDS" : { - "values" : [ [ 3191316, 2213760, 266160, 911392, 1613 ] ], + "values" : [ [ 3134001, 2207559, 260740, 915707, 1193 ], [ 3193287, 2212526, 266117, 911319, 1193 ], [ 3282370, 2219462, 274424, 907142, 1217 ], [ 3362245, 2225365, 280070, 902225, 1259 ], [ 3460441, 2228790, 286102, 897867, 1223 ], [ 3550437, 2231333, 291802, 895566, 1176 ], [ 3623576, 2234296, 296932, 892226, 1197 ], [ 3690997, 2237019, 300679, 888199, 1261 ], [ 3725304, 2239630, 302244, 885561, 1301 ] ], "precision" : 0 } }, diff --git a/db/data/dwp/uc_households_family_type_may_2025/manifest.yaml b/db/data/dwp/uc_households_family_type_may_2025/manifest.yaml deleted file mode 100644 index 2512c2c8..00000000 --- a/db/data/dwp/uc_households_family_type_may_2025/manifest.yaml +++ /dev/null @@ -1,18 +0,0 @@ -source_id: dwp -package_id: dwp-uc-households-family-type-may-2025 -dataset: dwp_dwp-uc-households-family-type-may-2025 -source_page: https://stat-xplore.dwp.gov.uk/ -table: Households on Universal Credit by family type, May 2025 -files: - 2025: - filename: uc_households_by_family_type_may2025.json - source_url: https://stat-xplore.dwp.gov.uk/webapi/rest/v1/table - sha256: 5778ed7e106c27eac33ce4264d67a1e85f1762555f21162d79a9be39446d2112 - size_bytes: 4204 - fetched_at: '2026-08-07T12:05:55+00:00' - storage: - r2: - provider: r2 - bucket: ledger-raw - key: raw/dwp/dwp-uc-households-family-type-may-2025/2025/5778ed7e106c27eac33ce4264d67a1e85f1762555f21162d79a9be39446d2112/uc_households_by_family_type_may2025.json - uri: r2://ledger-raw/raw/dwp/dwp-uc-households-family-type-may-2025/2025/5778ed7e106c27eac33ce4264d67a1e85f1762555f21162d79a9be39446d2112/uc_households_by_family_type_may2025.json diff --git a/db/data/dwp/uc_households_housing_entitlement_april_december_2025/manifest.yaml b/db/data/dwp/uc_households_housing_entitlement_april_december_2025/manifest.yaml new file mode 100644 index 00000000..cc6cab81 --- /dev/null +++ b/db/data/dwp/uc_households_housing_entitlement_april_december_2025/manifest.yaml @@ -0,0 +1,19 @@ +source_id: dwp +package_id: dwp-uc-households-housing-entitlement-april-december-2025 +dataset: dwp_dwp-uc-households-housing-entitlement-april-december-2025 +source_page: https://stat-xplore.dwp.gov.uk/ +table: Households on Universal Credit with housing entitlement, April to December + 2025 +files: + 2025: + filename: uc_households_housing_entitlement_april_december_2025.json + source_url: https://stat-xplore.dwp.gov.uk/webapi/rest/v1/table + sha256: 194104cf1e9c14a5169d2b80b45b0080ad90d6c7e223b3d9d17bad003aea8013 + size_bytes: 5713 + fetched_at: '2026-08-21T12:25:00Z' + storage: + r2: + provider: r2 + bucket: ledger-raw + key: raw/dwp/dwp-uc-households-housing-entitlement-april-december-2025/2025/194104cf1e9c14a5169d2b80b45b0080ad90d6c7e223b3d9d17bad003aea8013/uc_households_housing_entitlement_april_december_2025.json + uri: r2://ledger-raw/raw/dwp/dwp-uc-households-housing-entitlement-april-december-2025/2025/194104cf1e9c14a5169d2b80b45b0080ad90d6c7e223b3d9d17bad003aea8013/uc_households_housing_entitlement_april_december_2025.json diff --git a/db/data/dwp/uc_households_housing_entitlement_april_december_2025/uc_households_housing_entitlement_april_december_2025.json b/db/data/dwp/uc_households_housing_entitlement_april_december_2025/uc_households_housing_entitlement_april_december_2025.json new file mode 100644 index 00000000..1f030124 --- /dev/null +++ b/db/data/dwp/uc_households_housing_entitlement_april_december_2025/uc_households_housing_entitlement_april_december_2025.json @@ -0,0 +1,101 @@ +{ + "query" : { + "database" : "str:database:UC_Households", + "measures" : [ "str:count:UC_Households:V_F_UC_HOUSEHOLDS" ], + "recodes" : { + "str:field:UC_Households:F_UC_HH_DATE:DATE_NAME" : { + "map" : [ [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202504" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202505" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202506" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202507" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202508" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202509" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202510" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202511" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202512" ] ], + "total" : false + }, + "str:field:UC_Households:V_F_UC_HOUSEHOLDS:TENURE" : { + "map" : [ [ "str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:1", "str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:2", "str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:3" ] ], + "total" : false + } + }, + "dimensions" : [ [ "str:field:UC_Households:F_UC_HH_DATE:DATE_NAME" ], [ "str:field:UC_Households:V_F_UC_HOUSEHOLDS:TENURE" ] ] + }, + "database" : { + "id" : "UC_Households", + "uri" : "str:database:UC_Households", + "label" : "Households on Universal Credit", + "annotationKeys" : [ "I", "II", "III", "IV", "z" ] + }, + "measures" : [ { + "uri" : "str:count:UC_Households:V_F_UC_HOUSEHOLDS", + "label" : "Households on Universal Credit", + "measure" : "str:count:UC_Households:V_F_UC_HOUSEHOLDS", + "function" : "COUNT" + } ], + "fields" : [ { + "uri" : "str:field:UC_Households:F_UC_HH_DATE:DATE_NAME", + "label" : "Month", + "items" : [ { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202504" ], + "labels" : [ "April 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202505" ], + "labels" : [ "May 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202506" ], + "labels" : [ "June 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202507" ], + "labels" : [ "July 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202508" ], + "labels" : [ "August 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202509" ], + "labels" : [ "September 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202510" ], + "labels" : [ "October 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202511" ], + "labels" : [ "November 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202512" ], + "labels" : [ "December 2025" ], + "annotationKeys" : [ "r" ] + } ] + }, { + "uri" : "str:field:UC_Households:V_F_UC_HOUSEHOLDS:TENURE", + "label" : "Housing Entitlement - Tenure", + "items" : [ { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:1", "str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:2", "str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:3" ], + "labels" : [ "Social Rented Sector", "Private Rented Sector", "Other or unknown" ] + } ] + } ], + "cubes" : { + "str:count:UC_Households:V_F_UC_HOUSEHOLDS" : { + "values" : [ [ 4097119 ], [ 4149985 ], [ 4219939 ], [ 4268742 ], [ 4321601 ], [ 4364070 ], [ 4404489 ], [ 4442383 ], [ 4464277 ] ], + "precision" : 0 + } + }, + "annotationMap" : { + "I" : "A limited test of the full Universal Credit service was launched in Sutton, South London on 26th November 2014, and has expanded to other areas since. This publication now includes statistics covering both the live and full Universal Credit service. Please see https://www.gov.uk/government/publications/universal-credit-transition-to-full-service for details of the areas in which the full Universal Credit service is operating.", + "II" : "Data for more recent months will be subject to a higher degree of revision. Universal Credit award amounts may be retrospectively revised.", + "III" : "Monthly award amounts include any awards due to entitlement such as the standard allowance or housing entitlement plus any advance payments. Advance payments will normally be recovered during subsequent assessment periods.", + "IV" : "Award, entitlement and payment information may be missing for a very small number of households on Universal Credit, where more limited information is entered onto IT systems.", + "z" : "\"..\" denotes a nil or negligible number of claimants or award amount based on a nil or negligible number of claimants.", + "r" : "Figures marked \"r\" have been revised since the previous release." + } +} \ No newline at end of file diff --git a/db/data/dwp/uc_households_lcwra_entitlement_april_december_2025/manifest.yaml b/db/data/dwp/uc_households_lcwra_entitlement_april_december_2025/manifest.yaml new file mode 100644 index 00000000..553bff4d --- /dev/null +++ b/db/data/dwp/uc_households_lcwra_entitlement_april_december_2025/manifest.yaml @@ -0,0 +1,18 @@ +source_id: dwp +package_id: dwp-uc-households-lcwra-entitlement-april-december-2025 +dataset: dwp_dwp-uc-households-lcwra-entitlement-april-december-2025 +source_page: https://stat-xplore.dwp.gov.uk/ +table: Households on Universal Credit with LCWRA entitlement, April to December 2025 +files: + 2025: + filename: uc_households_lcwra_entitlement_april_december_2025.json + source_url: https://stat-xplore.dwp.gov.uk/webapi/rest/v1/table + sha256: 6a8224f34832ac096fbf212fe12ede64a4709d8caadff7f2fc6e4a397d2d2012 + size_bytes: 5551 + fetched_at: '2026-08-21T12:25:00Z' + storage: + r2: + provider: r2 + bucket: ledger-raw + key: raw/dwp/dwp-uc-households-lcwra-entitlement-april-december-2025/2025/6a8224f34832ac096fbf212fe12ede64a4709d8caadff7f2fc6e4a397d2d2012/uc_households_lcwra_entitlement_april_december_2025.json + uri: r2://ledger-raw/raw/dwp/dwp-uc-households-lcwra-entitlement-april-december-2025/2025/6a8224f34832ac096fbf212fe12ede64a4709d8caadff7f2fc6e4a397d2d2012/uc_households_lcwra_entitlement_april_december_2025.json diff --git a/db/data/dwp/uc_households_lcwra_entitlement_april_december_2025/uc_households_lcwra_entitlement_april_december_2025.json b/db/data/dwp/uc_households_lcwra_entitlement_april_december_2025/uc_households_lcwra_entitlement_april_december_2025.json new file mode 100644 index 00000000..c70dcdf9 --- /dev/null +++ b/db/data/dwp/uc_households_lcwra_entitlement_april_december_2025/uc_households_lcwra_entitlement_april_december_2025.json @@ -0,0 +1,103 @@ +{ + "query" : { + "database" : "str:database:UC_Households", + "measures" : [ "str:count:UC_Households:V_F_UC_HOUSEHOLDS" ], + "recodes" : { + "str:field:UC_Households:F_UC_HH_DATE:DATE_NAME" : { + "map" : [ [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202504" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202505" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202506" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202507" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202508" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202509" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202510" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202511" ], [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202512" ] ], + "total" : false + }, + "str:field:UC_Households:V_F_UC_HOUSEHOLDS:HCLCW_ENTITLEMENT" : { + "map" : [ [ "str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCLCW_ENTITLEMENT:C_UC_LCW_ENTITLEMENT:3" ] ], + "total" : false + } + }, + "dimensions" : [ [ "str:field:UC_Households:F_UC_HH_DATE:DATE_NAME" ], [ "str:field:UC_Households:V_F_UC_HOUSEHOLDS:HCLCW_ENTITLEMENT" ] ] + }, + "database" : { + "id" : "UC_Households", + "uri" : "str:database:UC_Households", + "label" : "Households on Universal Credit", + "annotationKeys" : [ "I", "II", "III", "IV", "z" ] + }, + "measures" : [ { + "uri" : "str:count:UC_Households:V_F_UC_HOUSEHOLDS", + "label" : "Households on Universal Credit", + "measure" : "str:count:UC_Households:V_F_UC_HOUSEHOLDS", + "function" : "COUNT" + } ], + "fields" : [ { + "uri" : "str:field:UC_Households:F_UC_HH_DATE:DATE_NAME", + "label" : "Month", + "items" : [ { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202504" ], + "labels" : [ "April 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202505" ], + "labels" : [ "May 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202506" ], + "labels" : [ "June 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202507" ], + "labels" : [ "July 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202508" ], + "labels" : [ "August 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202509" ], + "labels" : [ "September 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202510" ], + "labels" : [ "October 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202511" ], + "labels" : [ "November 2025" ], + "annotationKeys" : [ "r" ] + }, { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:F_UC_HH_DATE:DATE_NAME:C_UC_HH_DATE:202512" ], + "labels" : [ "December 2025" ], + "annotationKeys" : [ "r" ] + } ] + }, { + "uri" : "str:field:UC_Households:V_F_UC_HOUSEHOLDS:HCLCW_ENTITLEMENT", + "label" : "Limited Capability for Work Entitlement", + "items" : [ { + "type" : "RecodeItem", + "uris" : [ "str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCLCW_ENTITLEMENT:C_UC_LCW_ENTITLEMENT:3" ], + "labels" : [ "LCWRA - Higher" ], + "annotationKeys" : [ "XIII" ] + } ] + } ], + "cubes" : { + "str:count:UC_Households:V_F_UC_HOUSEHOLDS" : { + "values" : [ [ 2071127 ], [ 2148135 ], [ 2250729 ], [ 2333430 ], [ 2431552 ], [ 2525780 ], [ 2605687 ], [ 2675966 ], [ 2706904 ] ], + "precision" : 0 + } + }, + "annotationMap" : { + "I" : "A limited test of the full Universal Credit service was launched in Sutton, South London on 26th November 2014, and has expanded to other areas since. This publication now includes statistics covering both the live and full Universal Credit service. Please see https://www.gov.uk/government/publications/universal-credit-transition-to-full-service for details of the areas in which the full Universal Credit service is operating.", + "II" : "Data for more recent months will be subject to a higher degree of revision. Universal Credit award amounts may be retrospectively revised.", + "III" : "Monthly award amounts include any awards due to entitlement such as the standard allowance or housing entitlement plus any advance payments. Advance payments will normally be recovered during subsequent assessment periods.", + "IV" : "Award, entitlement and payment information may be missing for a very small number of households on Universal Credit, where more limited information is entered onto IT systems.", + "z" : "\"..\" denotes a nil or negligible number of claimants or award amount based on a nil or negligible number of claimants.", + "r" : "Figures marked \"r\" have been revised since the previous release.", + "XIII" : "Limited Capability for Work and Work Related Activity - Higher." + } +} \ No newline at end of file diff --git a/docs/agent-source-package-harness.md b/docs/agent-source-package-harness.md index d4f863b4..48f7522a 100644 --- a/docs/agent-source-package-harness.md +++ b/docs/agent-source-package-harness.md @@ -340,16 +340,40 @@ uv run chronicle build-suite dwp-uc-payment-distribution-may-2025 \ --out /tmp/chronicle-dwp-uc-payment-distribution-may-2025 \ --replace -uv run chronicle validate-package dwp-uc-households-children-may-2025 --year 2025 -uv run chronicle build-suite dwp-uc-households-children-may-2025 \ +uv run chronicle validate-package dwp-uc-childcare-element-march-2021-august-2025 --year 2025 +uv run chronicle build-suite dwp-uc-childcare-element-march-2021-august-2025 \ --year 2025 \ - --out /tmp/chronicle-dwp-uc-households-children-may-2025 \ + --out /tmp/chronicle-dwp-uc-childcare-element-2025 \ --replace -uv run chronicle validate-package dwp-uc-households-family-type-may-2025 --year 2025 -uv run chronicle build-suite dwp-uc-households-family-type-may-2025 \ +uv run chronicle validate-package dwp-uc-households-carer-entitlement-april-december-2025 --year 2025 +uv run chronicle build-suite dwp-uc-households-carer-entitlement-april-december-2025 \ --year 2025 \ - --out /tmp/chronicle-dwp-uc-households-family-type-may-2025 \ + --out /tmp/chronicle-dwp-uc-carer-entitlement-2025 \ + --replace + +uv run chronicle validate-package dwp-uc-households-children-april-december-2025 --year 2025 +uv run chronicle build-suite dwp-uc-households-children-april-december-2025 \ + --year 2025 \ + --out /tmp/chronicle-dwp-uc-households-children-april-december-2025 \ + --replace + +uv run chronicle validate-package dwp-uc-households-family-type-april-december-2025 --year 2025 +uv run chronicle build-suite dwp-uc-households-family-type-april-december-2025 \ + --year 2025 \ + --out /tmp/chronicle-dwp-uc-households-family-type-april-december-2025 \ + --replace + +uv run chronicle validate-package dwp-uc-households-housing-entitlement-april-december-2025 --year 2025 +uv run chronicle build-suite dwp-uc-households-housing-entitlement-april-december-2025 \ + --year 2025 \ + --out /tmp/chronicle-dwp-uc-housing-entitlement-2025 \ + --replace + +uv run chronicle validate-package dwp-uc-households-lcwra-entitlement-april-december-2025 --year 2025 +uv run chronicle build-suite dwp-uc-households-lcwra-entitlement-april-december-2025 \ + --year 2025 \ + --out /tmp/chronicle-dwp-uc-lcwra-entitlement-2025 \ --replace uv run chronicle validate-package dwp-uc-scotland-youngest-child-may-2025 --year 2025 diff --git a/docs/pe-uk-source-checklist.md b/docs/pe-uk-source-checklist.md index 526c280f..c68c11e5 100644 --- a/docs/pe-uk-source-checklist.md +++ b/docs/pe-uk-source-checklist.md @@ -63,8 +63,9 @@ cannot be obtained. Nothing in uk-data is absent from this table. | NTS vehicle availability ([`nts_vehicles.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/nts_vehicles.py)) | 3 `nts/households_*_vehicle*` | **ported** | `dft-nts-vehicle-ownership-2024` (81 facts, NTS0205a, 27 single-year rows 1951–2024) | [#141](https://github.com/PolicyEngine/chronicle/pull/141) | **Re-pinned to publication table.** uk-data hand-transcribes rounded 22%/44%/34% from [NTS 2024](https://www.gov.uk/government/statistics/national-travel-survey-2024) and multiplies by a hand-transcribed 29.6m UK households — the products are **excluded (computed)**; Chronicle ports the publisher shares at full precision (2024: 21.78/44.25/33.97). NTS covers England-resident households; applying its shares UK-wide is a populace-side declaration. The five combined-period rows (1985-86 … 1998-2000) are a named exclusion (no calendar-year period representation). | | Public sector employment ([`ons_public_sector_employment.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/ons_public_sector_employment.py)) | 1 `ons/public_sector_employment` (5.90m 2023 / 5.94m 2024) | **ported** | `ons-public-sector-employment-2026` (12 facts, Table 1 headcount by sector, Dec-2023 + Dec-2024) | [#141](https://github.com/PolicyEngine/chronicle/pull/141) | **Re-pinned to dataset — vintage revised by ONS.** uk-data hand-transcribes headline headcounts from the [PSE bulletin `/latest`](https://www.ons.gov.uk/employmentandlabourmarket/peopleinwork/publicsectorpersonnel/bulletins/publicsectoremployment/latest) (no fixed vintage); Chronicle pins the March-2026 [reference table](https://www.ons.gov.uk/employmentandlabourmarket/peopleinwork/publicsectorpersonnel/datasets/publicsectoremploymentreferencetable), where reclassifications have revised the series to 6,089k (Dec 2023) / 6,146k (Dec 2024) total public sector. The pre-revision vintage stays portable via the backfill lane. | | UC payment distribution ([`dwp.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/dwp.py) → `utils/uc_data.py`) | 104 `dwp/uc_payment_dist/*` | **ported** | `dwp-uc-payment-distribution-may-2025` (140 facts, 28 bands × 5 family types, Stat-Xplore) | [#141](https://github.com/PolicyEngine/chronicle/pull/141) | uk-data parses a committed provisional export with no API provenance; its open `£2500.01 or over` band parses to NaN (4 impossible `nan_to_nan` targets) — here it is an ordinary category. Band identities are exact publisher labels; the ×12 annualization is populace-side. | -| UC claimants by children ([`dwp.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/dwp.py)) | 5 `dwp/uc/claimants_with_{n}_children` | **ported** | `dwp-uc-households-children-may-2025` (8 facts, Stat-Xplore) | [#141](https://github.com/PolicyEngine/chronicle/pull/141) | Digit categories carry integer `number_of_children` constraints; `5 or more` and the unknown tail stay categorical (uk-data merged the tail into its `5+`). uk-data's transcription is an earlier provisional vintage of the same cube; deltas vs the revised May-2025 series run +2.6% to +5.6%, enumerated on the PR. | -| UC claimants by family type ([`dwp.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/dwp.py)) | 4 `dwp/uc/claimants_{family_type}` | **ported** | `dwp-uc-households-family-type-may-2025` (5 facts, Stat-Xplore) | [#141](https://github.com/PolicyEngine/chronicle/pull/141) | Raw publisher counts only — uk-data's `undercount_relative` inflation is **excluded (computed)** and stays populace-side. uk-data's transcription is an earlier provisional vintage of the same cube; deltas vs the revised May-2025 series run +2.6% to +15.0%, enumerated on the PR. | +| UC claimants by children ([`dwp.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/dwp.py)) | 5 `dwp/uc/claimants_with_{n}_children` | **ported** | `dwp-uc-households-children-april-december-2025` (72 facts, Stat-Xplore) | [#141](https://github.com/PolicyEngine/chronicle/pull/141), [#187](https://github.com/PolicyEngine/chronicle/issues/187) | Monthly history now covers the April–December 2025 caseload averaging window. Digit categories carry integer `number_of_children` constraints; `5 or more` and the unknown tail stay categorical (uk-data merged the tail into its `5+`). Raw revised publisher cells are preserved. | +| UC claimants by family type ([`dwp.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/dwp.py)) | 4 `dwp/uc/claimants_{family_type}` | **ported** | `dwp-uc-households-family-type-april-december-2025` (45 facts, Stat-Xplore) | [#141](https://github.com/PolicyEngine/chronicle/pull/141), [#187](https://github.com/PolicyEngine/chronicle/issues/187) | Monthly history now covers the April–December 2025 caseload averaging window. Raw publisher counts only — uk-data's `undercount_relative` inflation is **excluded (computed)** and stays populace-side. | +| UC element caseloads | Childcare, housing, LCWRA and carer benefit units | **ported** | `dwp-uc-childcare-element-march-2021-august-2025` (54 facts) plus three April–December 2025 Stat-Xplore entitlement packages (9 facts each) | [#187](https://github.com/PolicyEngine/chronicle/issues/187) | DWP's “household” is normalized to the UC benefit unit. Housing is a publisher-side grouped API cell across social, private and other tenure categories; no Chronicle-side summation or annual averaging is introduced. Coverage is Great Britain (`K03000001`), matching the source. | | Scotland UC households, child under 1 ([`dwp.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/dwp.py)) | 1 `dwp/scotland_uc_households_child_under_1` (14,000) | **ported** | `dwp-uc-scotland-youngest-child-may-2025` (23 facts, single year of age, Stat-Xplore) | [#141](https://github.com/PolicyEngine/chronicle/pull/141) | The age-0 row (14,412) is the precise value behind uk-data's rounded 14,000. Single-year cells differ from the published 0–4 band by 4 households — Stat-Xplore disclosure-control rounding, both publisher-emitted. | | Land values ([`_land.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/_land.py), [`ons_land_values.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/ons_land_values.py), [`mhclg_regional_land.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/mhclg_regional_land.py)) | `ons/{household,corporate,}_land_value` + 11 regional | **ported** | `ons-national-balance-sheet-land-2025` (90 facts: Land AN.211 × total/households/NFCs × 1995–2024) | [#141](https://github.com/PolicyEngine/chronicle/pull/141) | **Re-pinned to the dataset, vintage partially revised.** From the [2025-edition NBS reference tables](https://www.ons.gov.uk/economy/nationalaccounts/uksectoraccounts/datasets/thenationalbalancesheetestimates) (E44R/E44N/E43B). uk-data's totals match exactly for 2021–2023; its 2024 (£7,100,000m) approximated the published £7,117,771m; its 2020 household/corporate split matches no series in this edition (earlier vintage, since revised). **Excluded (computed):** flat-fills, the fixed 2020 share split, and the regional split over the unattributed prices×dwellings CSV. | | Salary-sacrifice headcounts ([`obr.py`](https://github.com/PolicyEngine/policyengine-uk-data/blob/ebf733c/policyengine_uk_data/targets/sources/obr.py)) | `obr/salary_sacrifice_users_{total,below_cap,above_cap}` (7.7m / 4.3m / 3.3m at 2024) | **ported** | `hmrc-salary-sacrifice-reform-2029-headcounts` (3 facts) | [#141](https://github.com/PolicyEngine/chronicle/pull/141) | **Re-pinned + relabeled.** The publisher is the [HMRC salary-sacrifice reform policy paper](https://www.gov.uk/government/publications/salary-sacrifice-reform-for-pension-contributions-effective-from-6-april-2029/salary-sacrifice-reform-for-pension-contributions) (2025-12-04), not OBR; the paper says "latest available data" with no reference period, so the 2024 keying and the ×1.024 growth extension are **excluded (computed)** populace declarations. | diff --git a/packages/dwp/uc_childcare_element_march_2021_august_2025/source_package.yaml b/packages/dwp/uc_childcare_element_march_2021_august_2025/source_package.yaml new file mode 100644 index 00000000..6ff4ea3d --- /dev/null +++ b/packages/dwp/uc_childcare_element_march_2021_august_2025/source_package.yaml @@ -0,0 +1,652 @@ +# DWP Table 1 publishes a complete monthly administrative series of UC +# households receiving the childcare element. DWP's UC household is the +# benefit unit of assessment, not an ONS household. Chronicle preserves the +# publisher's rounded counts and leaves annual averaging to consumers. +schema_version: ledger.source_package.v1 +package_id: dwp-uc-childcare-element-march-2021-august-2025 +label: 'DWP Universal Credit households receiving childcare element, March 2021 to August 2025' +artifact: + source_name: dwp + source_table: 'Universal Credit childcare element statistics to August 2025, Table 1' + resource_package: db + resource_directory: data/dwp/uc_childcare_element_march_2021_august_2025 + manifest: manifest.yaml + vintage: uc_childcare_element_2025_11_11 + extracted_at: '2026-08-21' + extraction_method: ODS Table 1 cell parse + parser: ods_used_range + sheet_name: Table_1 + artifact_year: 2025 +record_sets: +- &monthly + record_set_id: dwp.uc_childcare.month2021_03 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2021_03.v1 + source_record_id_prefix: dwp.uc_childcare.month2021_03 + sheet_name: Table_1 + period_type: month + period: 2021-03 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.uc_element + assertion: observation + rows: + - &childcare_row + value_id: childcare_element + label: March 2021 + ordinal: 0 + row_number: 5 + expected_row_header_column: B + expected_row_header: March 2021 + table_record_kind: total + filters: + uc_element: childcare + constraints: + - variable: uc_element + operator: == + value: childcare + label: Universal Credit element + measures: &childcare_measures + - measure_id: benefit_units + label: UC benefit units receiving childcare element + ordinal: 0 + column: C + expected_column_header_row: 4 + expected_column_header: Total households receiving childcare element + concept: dwp.uc_benefit_units_with_childcare_element + source_concept: dwp.uc_households_receiving_childcare_element + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://www.gov.uk/government/statistics/universal-credit-statistics-29-april-2013-to-9-october-2025/universal-credit-childcare-element-statistics-to-august-2025 + concept_evidence_notes: DWP defines a Universal Credit household as the UC unit of assessment, also called a benefit unit in other statistics. + unit: count + aggregation: sum + expected_cell_type: number +- <<: *monthly + record_set_id: dwp.uc_childcare.month2021_04 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2021_04.v1 + source_record_id_prefix: dwp.uc_childcare.month2021_04 + period: 2021-04 + rows: + - <<: *childcare_row + label: April 2021 + row_number: 6 + expected_row_header: April 2021 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2021_05 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2021_05.v1 + source_record_id_prefix: dwp.uc_childcare.month2021_05 + period: 2021-05 + rows: + - <<: *childcare_row + label: May 2021 + row_number: 7 + expected_row_header: May 2021 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2021_06 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2021_06.v1 + source_record_id_prefix: dwp.uc_childcare.month2021_06 + period: 2021-06 + rows: + - <<: *childcare_row + label: June 2021 + row_number: 8 + expected_row_header: June 2021 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2021_07 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2021_07.v1 + source_record_id_prefix: dwp.uc_childcare.month2021_07 + period: 2021-07 + rows: + - <<: *childcare_row + label: July 2021 + row_number: 9 + expected_row_header: July 2021 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2021_08 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2021_08.v1 + source_record_id_prefix: dwp.uc_childcare.month2021_08 + period: 2021-08 + rows: + - <<: *childcare_row + label: August 2021 + row_number: 10 + expected_row_header: August 2021 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2021_09 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2021_09.v1 + source_record_id_prefix: dwp.uc_childcare.month2021_09 + period: 2021-09 + rows: + - <<: *childcare_row + label: September 2021 + row_number: 11 + expected_row_header: September 2021 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2021_10 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2021_10.v1 + source_record_id_prefix: dwp.uc_childcare.month2021_10 + period: 2021-10 + rows: + - <<: *childcare_row + label: October 2021 + row_number: 12 + expected_row_header: October 2021 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2021_11 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2021_11.v1 + source_record_id_prefix: dwp.uc_childcare.month2021_11 + period: 2021-11 + rows: + - <<: *childcare_row + label: November 2021 + row_number: 13 + expected_row_header: November 2021 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2021_12 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2021_12.v1 + source_record_id_prefix: dwp.uc_childcare.month2021_12 + period: 2021-12 + rows: + - <<: *childcare_row + label: December 2021 + row_number: 14 + expected_row_header: December 2021 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2022_01 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2022_01.v1 + source_record_id_prefix: dwp.uc_childcare.month2022_01 + period: 2022-01 + rows: + - <<: *childcare_row + label: January 2022 + row_number: 15 + expected_row_header: January 2022 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2022_02 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2022_02.v1 + source_record_id_prefix: dwp.uc_childcare.month2022_02 + period: 2022-02 + rows: + - <<: *childcare_row + label: February 2022 + row_number: 16 + expected_row_header: February 2022 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2022_03 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2022_03.v1 + source_record_id_prefix: dwp.uc_childcare.month2022_03 + period: 2022-03 + rows: + - <<: *childcare_row + label: March 2022 + row_number: 17 + expected_row_header: March 2022 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2022_04 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2022_04.v1 + source_record_id_prefix: dwp.uc_childcare.month2022_04 + period: 2022-04 + rows: + - <<: *childcare_row + label: April 2022 + row_number: 18 + expected_row_header: April 2022 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2022_05 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2022_05.v1 + source_record_id_prefix: dwp.uc_childcare.month2022_05 + period: 2022-05 + rows: + - <<: *childcare_row + label: May 2022 + row_number: 19 + expected_row_header: May 2022 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2022_06 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2022_06.v1 + source_record_id_prefix: dwp.uc_childcare.month2022_06 + period: 2022-06 + rows: + - <<: *childcare_row + label: June 2022 + row_number: 20 + expected_row_header: June 2022 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2022_07 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2022_07.v1 + source_record_id_prefix: dwp.uc_childcare.month2022_07 + period: 2022-07 + rows: + - <<: *childcare_row + label: July 2022 + row_number: 21 + expected_row_header: July 2022 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2022_08 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2022_08.v1 + source_record_id_prefix: dwp.uc_childcare.month2022_08 + period: 2022-08 + rows: + - <<: *childcare_row + label: August 2022 + row_number: 22 + expected_row_header: August 2022 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2022_09 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2022_09.v1 + source_record_id_prefix: dwp.uc_childcare.month2022_09 + period: 2022-09 + rows: + - <<: *childcare_row + label: September 2022 + row_number: 23 + expected_row_header: September 2022 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2022_10 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2022_10.v1 + source_record_id_prefix: dwp.uc_childcare.month2022_10 + period: 2022-10 + rows: + - <<: *childcare_row + label: October 2022 + row_number: 24 + expected_row_header: October 2022 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2022_11 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2022_11.v1 + source_record_id_prefix: dwp.uc_childcare.month2022_11 + period: 2022-11 + rows: + - <<: *childcare_row + label: November 2022 + row_number: 25 + expected_row_header: November 2022 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2022_12 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2022_12.v1 + source_record_id_prefix: dwp.uc_childcare.month2022_12 + period: 2022-12 + rows: + - <<: *childcare_row + label: December 2022 + row_number: 26 + expected_row_header: December 2022 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2023_01 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2023_01.v1 + source_record_id_prefix: dwp.uc_childcare.month2023_01 + period: 2023-01 + rows: + - <<: *childcare_row + label: January 2023 + row_number: 27 + expected_row_header: January 2023 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2023_02 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2023_02.v1 + source_record_id_prefix: dwp.uc_childcare.month2023_02 + period: 2023-02 + rows: + - <<: *childcare_row + label: February 2023 + row_number: 28 + expected_row_header: February 2023 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2023_03 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2023_03.v1 + source_record_id_prefix: dwp.uc_childcare.month2023_03 + period: 2023-03 + rows: + - <<: *childcare_row + label: March 2023 + row_number: 29 + expected_row_header: March 2023 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2023_04 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2023_04.v1 + source_record_id_prefix: dwp.uc_childcare.month2023_04 + period: 2023-04 + rows: + - <<: *childcare_row + label: April 2023 + row_number: 30 + expected_row_header: April 2023 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2023_05 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2023_05.v1 + source_record_id_prefix: dwp.uc_childcare.month2023_05 + period: 2023-05 + rows: + - <<: *childcare_row + label: May 2023 + row_number: 31 + expected_row_header: May 2023 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2023_06 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2023_06.v1 + source_record_id_prefix: dwp.uc_childcare.month2023_06 + period: 2023-06 + rows: + - <<: *childcare_row + label: June 2023 + row_number: 32 + expected_row_header: June 2023 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2023_07 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2023_07.v1 + source_record_id_prefix: dwp.uc_childcare.month2023_07 + period: 2023-07 + rows: + - <<: *childcare_row + label: July 2023 + row_number: 33 + expected_row_header: July 2023 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2023_08 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2023_08.v1 + source_record_id_prefix: dwp.uc_childcare.month2023_08 + period: 2023-08 + rows: + - <<: *childcare_row + label: August 2023 + row_number: 34 + expected_row_header: August 2023 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2023_09 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2023_09.v1 + source_record_id_prefix: dwp.uc_childcare.month2023_09 + period: 2023-09 + rows: + - <<: *childcare_row + label: September 2023 + row_number: 35 + expected_row_header: September 2023 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2023_10 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2023_10.v1 + source_record_id_prefix: dwp.uc_childcare.month2023_10 + period: 2023-10 + rows: + - <<: *childcare_row + label: October 2023 + row_number: 36 + expected_row_header: October 2023 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2023_11 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2023_11.v1 + source_record_id_prefix: dwp.uc_childcare.month2023_11 + period: 2023-11 + rows: + - <<: *childcare_row + label: November 2023 + row_number: 37 + expected_row_header: November 2023 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2023_12 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2023_12.v1 + source_record_id_prefix: dwp.uc_childcare.month2023_12 + period: 2023-12 + rows: + - <<: *childcare_row + label: December 2023 + row_number: 38 + expected_row_header: December 2023 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2024_01 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2024_01.v1 + source_record_id_prefix: dwp.uc_childcare.month2024_01 + period: 2024-01 + rows: + - <<: *childcare_row + label: January 2024 + row_number: 39 + expected_row_header: January 2024 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2024_02 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2024_02.v1 + source_record_id_prefix: dwp.uc_childcare.month2024_02 + period: 2024-02 + rows: + - <<: *childcare_row + label: February 2024 + row_number: 40 + expected_row_header: February 2024 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2024_03 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2024_03.v1 + source_record_id_prefix: dwp.uc_childcare.month2024_03 + period: 2024-03 + rows: + - <<: *childcare_row + label: March 2024 + row_number: 41 + expected_row_header: March 2024 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2024_04 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2024_04.v1 + source_record_id_prefix: dwp.uc_childcare.month2024_04 + period: 2024-04 + rows: + - <<: *childcare_row + label: April 2024 + row_number: 42 + expected_row_header: April 2024 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2024_05 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2024_05.v1 + source_record_id_prefix: dwp.uc_childcare.month2024_05 + period: 2024-05 + rows: + - <<: *childcare_row + label: May 2024 + row_number: 43 + expected_row_header: May 2024 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2024_06 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2024_06.v1 + source_record_id_prefix: dwp.uc_childcare.month2024_06 + period: 2024-06 + rows: + - <<: *childcare_row + label: June 2024 + row_number: 44 + expected_row_header: June 2024 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2024_07 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2024_07.v1 + source_record_id_prefix: dwp.uc_childcare.month2024_07 + period: 2024-07 + rows: + - <<: *childcare_row + label: July 2024 + row_number: 45 + expected_row_header: July 2024 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2024_08 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2024_08.v1 + source_record_id_prefix: dwp.uc_childcare.month2024_08 + period: 2024-08 + rows: + - <<: *childcare_row + label: August 2024 + row_number: 46 + expected_row_header: August 2024 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2024_09 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2024_09.v1 + source_record_id_prefix: dwp.uc_childcare.month2024_09 + period: 2024-09 + rows: + - <<: *childcare_row + label: September 2024 + row_number: 47 + expected_row_header: September 2024 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2024_10 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2024_10.v1 + source_record_id_prefix: dwp.uc_childcare.month2024_10 + period: 2024-10 + rows: + - <<: *childcare_row + label: October 2024 + row_number: 48 + expected_row_header: October 2024 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2024_11 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2024_11.v1 + source_record_id_prefix: dwp.uc_childcare.month2024_11 + period: 2024-11 + rows: + - <<: *childcare_row + label: November 2024 + row_number: 49 + expected_row_header: November 2024 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2024_12 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2024_12.v1 + source_record_id_prefix: dwp.uc_childcare.month2024_12 + period: 2024-12 + rows: + - <<: *childcare_row + label: December 2024 + row_number: 50 + expected_row_header: December 2024 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2025_01 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2025_01.v1 + source_record_id_prefix: dwp.uc_childcare.month2025_01 + period: 2025-01 + rows: + - <<: *childcare_row + label: January 2025 + row_number: 51 + expected_row_header: January 2025 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2025_02 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2025_02.v1 + source_record_id_prefix: dwp.uc_childcare.month2025_02 + period: 2025-02 + rows: + - <<: *childcare_row + label: February 2025 + row_number: 52 + expected_row_header: February 2025 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2025_03 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2025_03.v1 + source_record_id_prefix: dwp.uc_childcare.month2025_03 + period: 2025-03 + rows: + - <<: *childcare_row + label: March 2025 + row_number: 53 + expected_row_header: March 2025 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2025_04 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2025_04.v1 + source_record_id_prefix: dwp.uc_childcare.month2025_04 + period: 2025-04 + rows: + - <<: *childcare_row + label: April 2025 + row_number: 54 + expected_row_header: April 2025 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2025_05 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2025_05.v1 + source_record_id_prefix: dwp.uc_childcare.month2025_05 + period: 2025-05 + rows: + - <<: *childcare_row + label: May 2025 + row_number: 55 + expected_row_header: May 2025 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2025_06 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2025_06.v1 + source_record_id_prefix: dwp.uc_childcare.month2025_06 + period: 2025-06 + rows: + - <<: *childcare_row + label: June 2025 + row_number: 56 + expected_row_header: June 2025 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2025_07 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2025_07.v1 + source_record_id_prefix: dwp.uc_childcare.month2025_07 + period: 2025-07 + rows: + - <<: *childcare_row + label: July 2025 + row_number: 57 + expected_row_header: July 2025 +- <<: *monthly + record_set_id: dwp.uc_childcare.month2025_08 + provenance_class: administrative + record_set_spec_id: dwp.uc_childcare.month2025_08.v1 + source_record_id_prefix: dwp.uc_childcare.month2025_08 + period: 2025-08 + rows: + - <<: *childcare_row + label: August 2025 + row_number: 58 + expected_row_header: August 2025 diff --git a/packages/dwp/uc_households_carer_entitlement_april_december_2025/source_package.yaml b/packages/dwp/uc_households_carer_entitlement_april_december_2025/source_package.yaml new file mode 100644 index 00000000..7e128024 --- /dev/null +++ b/packages/dwp/uc_households_carer_entitlement_april_december_2025/source_package.yaml @@ -0,0 +1,505 @@ +# Publisher-emitted monthly entitlement counts; no Chronicle-side aggregation. +schema_version: ledger.source_package.v1 +package_id: dwp-uc-households-carer-entitlement-april-december-2025 +label: 'DWP Stat-Xplore: Universal Credit benefit units with carer entitlement, Great Britain, April to + December 2025' +artifact: + source_name: dwp + source_table: Households on Universal Credit with carer entitlement, April to December 2025 + resource_package: db + resource_directory: data/dwp/uc_households_carer_entitlement_april_december_2025 + manifest: manifest.yaml + vintage: stat_xplore_2026_08_21 + extracted_at: '2026-08-21' + extraction_method: Stat-Xplore Open Data API table response parsed and unpivoted to one row per cube + cell + parser: statxplore_table_json_rows + sheet_name: api_response + artifact_year: 2025 +record_sets: +- record_set_id: dwp.statx.uc_benefit_units.carer.month2025_04 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.carer.month2025_04.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.carer.month2025_04 + sheet_name: api_response + period_type: month + period: 2025-04 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.carer_entitlement + assertion: observation + rows: + - value_id: carer_entitlement + label: 'Yes' + ordinal: 0 + row_number: 2 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCCARER_ENTITLEMENT:C_UC_CARER_ENTITLEMENT:1 + table_record_kind: total + filters: + carer_entitlement: 'Yes' + constraints: + - variable: carer_entitlement + operator: == + value: 'Yes' + label: Universal Credit element + guard_cells: + - column: C + row: 2 + expected_value: April 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with carer entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_carer_element + source_concept: dwp.uc_households_with_carer_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query selects the publisher's Yes value for Carer Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.carer.month2025_05 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.carer.month2025_05.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.carer.month2025_05 + sheet_name: api_response + period_type: month + period: 2025-05 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.carer_entitlement + assertion: observation + rows: + - value_id: carer_entitlement + label: 'Yes' + ordinal: 0 + row_number: 3 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCCARER_ENTITLEMENT:C_UC_CARER_ENTITLEMENT:1 + table_record_kind: total + filters: + carer_entitlement: 'Yes' + constraints: + - variable: carer_entitlement + operator: == + value: 'Yes' + label: Universal Credit element + guard_cells: + - column: C + row: 3 + expected_value: May 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with carer entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_carer_element + source_concept: dwp.uc_households_with_carer_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query selects the publisher's Yes value for Carer Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.carer.month2025_06 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.carer.month2025_06.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.carer.month2025_06 + sheet_name: api_response + period_type: month + period: 2025-06 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.carer_entitlement + assertion: observation + rows: + - value_id: carer_entitlement + label: 'Yes' + ordinal: 0 + row_number: 4 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCCARER_ENTITLEMENT:C_UC_CARER_ENTITLEMENT:1 + table_record_kind: total + filters: + carer_entitlement: 'Yes' + constraints: + - variable: carer_entitlement + operator: == + value: 'Yes' + label: Universal Credit element + guard_cells: + - column: C + row: 4 + expected_value: June 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with carer entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_carer_element + source_concept: dwp.uc_households_with_carer_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query selects the publisher's Yes value for Carer Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.carer.month2025_07 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.carer.month2025_07.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.carer.month2025_07 + sheet_name: api_response + period_type: month + period: 2025-07 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.carer_entitlement + assertion: observation + rows: + - value_id: carer_entitlement + label: 'Yes' + ordinal: 0 + row_number: 5 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCCARER_ENTITLEMENT:C_UC_CARER_ENTITLEMENT:1 + table_record_kind: total + filters: + carer_entitlement: 'Yes' + constraints: + - variable: carer_entitlement + operator: == + value: 'Yes' + label: Universal Credit element + guard_cells: + - column: C + row: 5 + expected_value: July 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with carer entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_carer_element + source_concept: dwp.uc_households_with_carer_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query selects the publisher's Yes value for Carer Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.carer.month2025_08 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.carer.month2025_08.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.carer.month2025_08 + sheet_name: api_response + period_type: month + period: 2025-08 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.carer_entitlement + assertion: observation + rows: + - value_id: carer_entitlement + label: 'Yes' + ordinal: 0 + row_number: 6 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCCARER_ENTITLEMENT:C_UC_CARER_ENTITLEMENT:1 + table_record_kind: total + filters: + carer_entitlement: 'Yes' + constraints: + - variable: carer_entitlement + operator: == + value: 'Yes' + label: Universal Credit element + guard_cells: + - column: C + row: 6 + expected_value: August 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with carer entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_carer_element + source_concept: dwp.uc_households_with_carer_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query selects the publisher's Yes value for Carer Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.carer.month2025_09 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.carer.month2025_09.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.carer.month2025_09 + sheet_name: api_response + period_type: month + period: 2025-09 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.carer_entitlement + assertion: observation + rows: + - value_id: carer_entitlement + label: 'Yes' + ordinal: 0 + row_number: 7 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCCARER_ENTITLEMENT:C_UC_CARER_ENTITLEMENT:1 + table_record_kind: total + filters: + carer_entitlement: 'Yes' + constraints: + - variable: carer_entitlement + operator: == + value: 'Yes' + label: Universal Credit element + guard_cells: + - column: C + row: 7 + expected_value: September 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with carer entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_carer_element + source_concept: dwp.uc_households_with_carer_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query selects the publisher's Yes value for Carer Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.carer.month2025_10 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.carer.month2025_10.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.carer.month2025_10 + sheet_name: api_response + period_type: month + period: 2025-10 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.carer_entitlement + assertion: observation + rows: + - value_id: carer_entitlement + label: 'Yes' + ordinal: 0 + row_number: 8 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCCARER_ENTITLEMENT:C_UC_CARER_ENTITLEMENT:1 + table_record_kind: total + filters: + carer_entitlement: 'Yes' + constraints: + - variable: carer_entitlement + operator: == + value: 'Yes' + label: Universal Credit element + guard_cells: + - column: C + row: 8 + expected_value: October 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with carer entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_carer_element + source_concept: dwp.uc_households_with_carer_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query selects the publisher's Yes value for Carer Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.carer.month2025_11 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.carer.month2025_11.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.carer.month2025_11 + sheet_name: api_response + period_type: month + period: 2025-11 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.carer_entitlement + assertion: observation + rows: + - value_id: carer_entitlement + label: 'Yes' + ordinal: 0 + row_number: 9 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCCARER_ENTITLEMENT:C_UC_CARER_ENTITLEMENT:1 + table_record_kind: total + filters: + carer_entitlement: 'Yes' + constraints: + - variable: carer_entitlement + operator: == + value: 'Yes' + label: Universal Credit element + guard_cells: + - column: C + row: 9 + expected_value: November 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with carer entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_carer_element + source_concept: dwp.uc_households_with_carer_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query selects the publisher's Yes value for Carer Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.carer.month2025_12 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.carer.month2025_12.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.carer.month2025_12 + sheet_name: api_response + period_type: month + period: 2025-12 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.carer_entitlement + assertion: observation + rows: + - value_id: carer_entitlement + label: 'Yes' + ordinal: 0 + row_number: 10 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCCARER_ENTITLEMENT:C_UC_CARER_ENTITLEMENT:1 + table_record_kind: total + filters: + carer_entitlement: 'Yes' + constraints: + - variable: carer_entitlement + operator: == + value: 'Yes' + label: Universal Credit element + guard_cells: + - column: C + row: 10 + expected_value: December 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with carer entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_carer_element + source_concept: dwp.uc_households_with_carer_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query selects the publisher's Yes value for Carer Entitlement. + unit: count + aggregation: sum + expected_cell_type: number diff --git a/packages/dwp/uc_households_children_april_december_2025/source_package.yaml b/packages/dwp/uc_households_children_april_december_2025/source_package.yaml new file mode 100644 index 00000000..c4247cce --- /dev/null +++ b/packages/dwp/uc_households_children_april_december_2025/source_package.yaml @@ -0,0 +1,1812 @@ +# DWP's 'household' is the Universal Credit unit of assessment (benefit unit), +# not an ONS household. Each monthly cube cell is preserved without cross-cube +# reconciliation. +schema_version: ledger.source_package.v1 +package_id: dwp-uc-households-children-april-december-2025 +label: 'DWP Stat-Xplore: Universal Credit benefit units by number of children, Great Britain, April to + December 2025' +artifact: + source_name: dwp + source_table: Households on Universal Credit by number of children, April to December 2025 + resource_package: db + resource_directory: data/dwp/uc_households_children_april_december_2025 + manifest: manifest.yaml + vintage: stat_xplore_2026_08_21 + extracted_at: '2026-08-21' + extraction_method: Stat-Xplore Open Data API table response parsed and unpivoted to one row per cube + cell + parser: statxplore_table_json_rows + sheet_name: api_response + artifact_year: 2025 +record_sets: +- record_set_id: dwp.statx.uc_benefit_units.children.month2025_04 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.children.month2025_04.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.children.month2025_04 + sheet_name: api_response + period_type: month + period: 2025-04 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.uc_number_of_children + assertion: observation + rows: + - value_id: children_0 + label: '0' + ordinal: 0 + row_number: 2 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:0 + table_record_kind: detail + filters: + number_of_children: '0' + constraints: + - variable: number_of_children + operator: == + value: '0' + label: number of children + guard_cells: + - column: C + row: 2 + expected_value: April 2025 + label: month + - value_id: children_1 + label: '1' + ordinal: 1 + row_number: 3 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:1 + table_record_kind: detail + filters: + number_of_children: '1' + constraints: + - variable: number_of_children + operator: == + value: '1' + label: number of children + guard_cells: + - column: C + row: 3 + expected_value: April 2025 + label: month + - value_id: children_2 + label: '2' + ordinal: 2 + row_number: 4 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:2 + table_record_kind: detail + filters: + number_of_children: '2' + constraints: + - variable: number_of_children + operator: == + value: '2' + label: number of children + guard_cells: + - column: C + row: 4 + expected_value: April 2025 + label: month + - value_id: children_3 + label: '3' + ordinal: 3 + row_number: 5 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:3 + table_record_kind: detail + filters: + number_of_children: '3' + constraints: + - variable: number_of_children + operator: == + value: '3' + label: number of children + guard_cells: + - column: C + row: 5 + expected_value: April 2025 + label: month + - value_id: children_4 + label: '4' + ordinal: 4 + row_number: 6 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:4 + table_record_kind: detail + filters: + number_of_children: '4' + constraints: + - variable: number_of_children + operator: == + value: '4' + label: number of children + guard_cells: + - column: C + row: 6 + expected_value: April 2025 + label: month + - value_id: children_5_or_more + label: 5 or more + ordinal: 5 + row_number: 7 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:5 + table_record_kind: detail + filters: + number_of_children: 5 or more + constraints: + - variable: number_of_children + operator: == + value: 5 or more + label: number of children + guard_cells: + - column: C + row: 7 + expected_value: April 2025 + label: month + - column: E + row: 7 + expected_value: 5 or more + label: number of children + - value_id: children_unknown_or_missing + label: Unknown or missing + ordinal: 6 + row_number: 8 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9998 + table_record_kind: detail + filters: + number_of_children: Unknown or missing + constraints: + - variable: number_of_children + operator: == + value: Unknown or missing + label: number of children + guard_cells: + - column: C + row: 8 + expected_value: April 2025 + label: month + - column: E + row: 8 + expected_value: Unknown or missing + label: number of children + - value_id: children_not_available_prior_to_april_2019 + label: Not available prior to April 2019 + ordinal: 7 + row_number: 9 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9999 + table_record_kind: detail + filters: + number_of_children: Not available prior to April 2019 + constraints: + - variable: number_of_children + operator: == + value: Not available prior to April 2019 + label: number of children + guard_cells: + - column: C + row: 9 + expected_value: April 2025 + label: month + - column: E + row: 9 + expected_value: Not available prior to April 2019 + label: number of children + measures: + - measure_id: benefit_units + label: Universal Credit benefit units + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units + source_concept: dwp.uc_households_on_universal_credit + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the UC unit of assessment; Chronicle + normalizes that entity to benefit_unit. Digit labels are guarded by publisher value URIs. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.children.month2025_05 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.children.month2025_05.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.children.month2025_05 + sheet_name: api_response + period_type: month + period: 2025-05 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.uc_number_of_children + assertion: observation + rows: + - value_id: children_0 + label: '0' + ordinal: 0 + row_number: 10 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:0 + table_record_kind: detail + filters: + number_of_children: '0' + constraints: + - variable: number_of_children + operator: == + value: '0' + label: number of children + guard_cells: + - column: C + row: 10 + expected_value: May 2025 + label: month + - value_id: children_1 + label: '1' + ordinal: 1 + row_number: 11 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:1 + table_record_kind: detail + filters: + number_of_children: '1' + constraints: + - variable: number_of_children + operator: == + value: '1' + label: number of children + guard_cells: + - column: C + row: 11 + expected_value: May 2025 + label: month + - value_id: children_2 + label: '2' + ordinal: 2 + row_number: 12 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:2 + table_record_kind: detail + filters: + number_of_children: '2' + constraints: + - variable: number_of_children + operator: == + value: '2' + label: number of children + guard_cells: + - column: C + row: 12 + expected_value: May 2025 + label: month + - value_id: children_3 + label: '3' + ordinal: 3 + row_number: 13 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:3 + table_record_kind: detail + filters: + number_of_children: '3' + constraints: + - variable: number_of_children + operator: == + value: '3' + label: number of children + guard_cells: + - column: C + row: 13 + expected_value: May 2025 + label: month + - value_id: children_4 + label: '4' + ordinal: 4 + row_number: 14 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:4 + table_record_kind: detail + filters: + number_of_children: '4' + constraints: + - variable: number_of_children + operator: == + value: '4' + label: number of children + guard_cells: + - column: C + row: 14 + expected_value: May 2025 + label: month + - value_id: children_5_or_more + label: 5 or more + ordinal: 5 + row_number: 15 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:5 + table_record_kind: detail + filters: + number_of_children: 5 or more + constraints: + - variable: number_of_children + operator: == + value: 5 or more + label: number of children + guard_cells: + - column: C + row: 15 + expected_value: May 2025 + label: month + - column: E + row: 15 + expected_value: 5 or more + label: number of children + - value_id: children_unknown_or_missing + label: Unknown or missing + ordinal: 6 + row_number: 16 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9998 + table_record_kind: detail + filters: + number_of_children: Unknown or missing + constraints: + - variable: number_of_children + operator: == + value: Unknown or missing + label: number of children + guard_cells: + - column: C + row: 16 + expected_value: May 2025 + label: month + - column: E + row: 16 + expected_value: Unknown or missing + label: number of children + - value_id: children_not_available_prior_to_april_2019 + label: Not available prior to April 2019 + ordinal: 7 + row_number: 17 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9999 + table_record_kind: detail + filters: + number_of_children: Not available prior to April 2019 + constraints: + - variable: number_of_children + operator: == + value: Not available prior to April 2019 + label: number of children + guard_cells: + - column: C + row: 17 + expected_value: May 2025 + label: month + - column: E + row: 17 + expected_value: Not available prior to April 2019 + label: number of children + measures: + - measure_id: benefit_units + label: Universal Credit benefit units + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units + source_concept: dwp.uc_households_on_universal_credit + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the UC unit of assessment; Chronicle + normalizes that entity to benefit_unit. Digit labels are guarded by publisher value URIs. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.children.month2025_06 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.children.month2025_06.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.children.month2025_06 + sheet_name: api_response + period_type: month + period: 2025-06 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.uc_number_of_children + assertion: observation + rows: + - value_id: children_0 + label: '0' + ordinal: 0 + row_number: 18 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:0 + table_record_kind: detail + filters: + number_of_children: '0' + constraints: + - variable: number_of_children + operator: == + value: '0' + label: number of children + guard_cells: + - column: C + row: 18 + expected_value: June 2025 + label: month + - value_id: children_1 + label: '1' + ordinal: 1 + row_number: 19 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:1 + table_record_kind: detail + filters: + number_of_children: '1' + constraints: + - variable: number_of_children + operator: == + value: '1' + label: number of children + guard_cells: + - column: C + row: 19 + expected_value: June 2025 + label: month + - value_id: children_2 + label: '2' + ordinal: 2 + row_number: 20 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:2 + table_record_kind: detail + filters: + number_of_children: '2' + constraints: + - variable: number_of_children + operator: == + value: '2' + label: number of children + guard_cells: + - column: C + row: 20 + expected_value: June 2025 + label: month + - value_id: children_3 + label: '3' + ordinal: 3 + row_number: 21 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:3 + table_record_kind: detail + filters: + number_of_children: '3' + constraints: + - variable: number_of_children + operator: == + value: '3' + label: number of children + guard_cells: + - column: C + row: 21 + expected_value: June 2025 + label: month + - value_id: children_4 + label: '4' + ordinal: 4 + row_number: 22 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:4 + table_record_kind: detail + filters: + number_of_children: '4' + constraints: + - variable: number_of_children + operator: == + value: '4' + label: number of children + guard_cells: + - column: C + row: 22 + expected_value: June 2025 + label: month + - value_id: children_5_or_more + label: 5 or more + ordinal: 5 + row_number: 23 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:5 + table_record_kind: detail + filters: + number_of_children: 5 or more + constraints: + - variable: number_of_children + operator: == + value: 5 or more + label: number of children + guard_cells: + - column: C + row: 23 + expected_value: June 2025 + label: month + - column: E + row: 23 + expected_value: 5 or more + label: number of children + - value_id: children_unknown_or_missing + label: Unknown or missing + ordinal: 6 + row_number: 24 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9998 + table_record_kind: detail + filters: + number_of_children: Unknown or missing + constraints: + - variable: number_of_children + operator: == + value: Unknown or missing + label: number of children + guard_cells: + - column: C + row: 24 + expected_value: June 2025 + label: month + - column: E + row: 24 + expected_value: Unknown or missing + label: number of children + - value_id: children_not_available_prior_to_april_2019 + label: Not available prior to April 2019 + ordinal: 7 + row_number: 25 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9999 + table_record_kind: detail + filters: + number_of_children: Not available prior to April 2019 + constraints: + - variable: number_of_children + operator: == + value: Not available prior to April 2019 + label: number of children + guard_cells: + - column: C + row: 25 + expected_value: June 2025 + label: month + - column: E + row: 25 + expected_value: Not available prior to April 2019 + label: number of children + measures: + - measure_id: benefit_units + label: Universal Credit benefit units + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units + source_concept: dwp.uc_households_on_universal_credit + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the UC unit of assessment; Chronicle + normalizes that entity to benefit_unit. Digit labels are guarded by publisher value URIs. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.children.month2025_07 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.children.month2025_07.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.children.month2025_07 + sheet_name: api_response + period_type: month + period: 2025-07 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.uc_number_of_children + assertion: observation + rows: + - value_id: children_0 + label: '0' + ordinal: 0 + row_number: 26 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:0 + table_record_kind: detail + filters: + number_of_children: '0' + constraints: + - variable: number_of_children + operator: == + value: '0' + label: number of children + guard_cells: + - column: C + row: 26 + expected_value: July 2025 + label: month + - value_id: children_1 + label: '1' + ordinal: 1 + row_number: 27 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:1 + table_record_kind: detail + filters: + number_of_children: '1' + constraints: + - variable: number_of_children + operator: == + value: '1' + label: number of children + guard_cells: + - column: C + row: 27 + expected_value: July 2025 + label: month + - value_id: children_2 + label: '2' + ordinal: 2 + row_number: 28 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:2 + table_record_kind: detail + filters: + number_of_children: '2' + constraints: + - variable: number_of_children + operator: == + value: '2' + label: number of children + guard_cells: + - column: C + row: 28 + expected_value: July 2025 + label: month + - value_id: children_3 + label: '3' + ordinal: 3 + row_number: 29 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:3 + table_record_kind: detail + filters: + number_of_children: '3' + constraints: + - variable: number_of_children + operator: == + value: '3' + label: number of children + guard_cells: + - column: C + row: 29 + expected_value: July 2025 + label: month + - value_id: children_4 + label: '4' + ordinal: 4 + row_number: 30 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:4 + table_record_kind: detail + filters: + number_of_children: '4' + constraints: + - variable: number_of_children + operator: == + value: '4' + label: number of children + guard_cells: + - column: C + row: 30 + expected_value: July 2025 + label: month + - value_id: children_5_or_more + label: 5 or more + ordinal: 5 + row_number: 31 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:5 + table_record_kind: detail + filters: + number_of_children: 5 or more + constraints: + - variable: number_of_children + operator: == + value: 5 or more + label: number of children + guard_cells: + - column: C + row: 31 + expected_value: July 2025 + label: month + - column: E + row: 31 + expected_value: 5 or more + label: number of children + - value_id: children_unknown_or_missing + label: Unknown or missing + ordinal: 6 + row_number: 32 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9998 + table_record_kind: detail + filters: + number_of_children: Unknown or missing + constraints: + - variable: number_of_children + operator: == + value: Unknown or missing + label: number of children + guard_cells: + - column: C + row: 32 + expected_value: July 2025 + label: month + - column: E + row: 32 + expected_value: Unknown or missing + label: number of children + - value_id: children_not_available_prior_to_april_2019 + label: Not available prior to April 2019 + ordinal: 7 + row_number: 33 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9999 + table_record_kind: detail + filters: + number_of_children: Not available prior to April 2019 + constraints: + - variable: number_of_children + operator: == + value: Not available prior to April 2019 + label: number of children + guard_cells: + - column: C + row: 33 + expected_value: July 2025 + label: month + - column: E + row: 33 + expected_value: Not available prior to April 2019 + label: number of children + measures: + - measure_id: benefit_units + label: Universal Credit benefit units + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units + source_concept: dwp.uc_households_on_universal_credit + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the UC unit of assessment; Chronicle + normalizes that entity to benefit_unit. Digit labels are guarded by publisher value URIs. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.children.month2025_08 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.children.month2025_08.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.children.month2025_08 + sheet_name: api_response + period_type: month + period: 2025-08 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.uc_number_of_children + assertion: observation + rows: + - value_id: children_0 + label: '0' + ordinal: 0 + row_number: 34 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:0 + table_record_kind: detail + filters: + number_of_children: '0' + constraints: + - variable: number_of_children + operator: == + value: '0' + label: number of children + guard_cells: + - column: C + row: 34 + expected_value: August 2025 + label: month + - value_id: children_1 + label: '1' + ordinal: 1 + row_number: 35 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:1 + table_record_kind: detail + filters: + number_of_children: '1' + constraints: + - variable: number_of_children + operator: == + value: '1' + label: number of children + guard_cells: + - column: C + row: 35 + expected_value: August 2025 + label: month + - value_id: children_2 + label: '2' + ordinal: 2 + row_number: 36 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:2 + table_record_kind: detail + filters: + number_of_children: '2' + constraints: + - variable: number_of_children + operator: == + value: '2' + label: number of children + guard_cells: + - column: C + row: 36 + expected_value: August 2025 + label: month + - value_id: children_3 + label: '3' + ordinal: 3 + row_number: 37 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:3 + table_record_kind: detail + filters: + number_of_children: '3' + constraints: + - variable: number_of_children + operator: == + value: '3' + label: number of children + guard_cells: + - column: C + row: 37 + expected_value: August 2025 + label: month + - value_id: children_4 + label: '4' + ordinal: 4 + row_number: 38 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:4 + table_record_kind: detail + filters: + number_of_children: '4' + constraints: + - variable: number_of_children + operator: == + value: '4' + label: number of children + guard_cells: + - column: C + row: 38 + expected_value: August 2025 + label: month + - value_id: children_5_or_more + label: 5 or more + ordinal: 5 + row_number: 39 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:5 + table_record_kind: detail + filters: + number_of_children: 5 or more + constraints: + - variable: number_of_children + operator: == + value: 5 or more + label: number of children + guard_cells: + - column: C + row: 39 + expected_value: August 2025 + label: month + - column: E + row: 39 + expected_value: 5 or more + label: number of children + - value_id: children_unknown_or_missing + label: Unknown or missing + ordinal: 6 + row_number: 40 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9998 + table_record_kind: detail + filters: + number_of_children: Unknown or missing + constraints: + - variable: number_of_children + operator: == + value: Unknown or missing + label: number of children + guard_cells: + - column: C + row: 40 + expected_value: August 2025 + label: month + - column: E + row: 40 + expected_value: Unknown or missing + label: number of children + - value_id: children_not_available_prior_to_april_2019 + label: Not available prior to April 2019 + ordinal: 7 + row_number: 41 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9999 + table_record_kind: detail + filters: + number_of_children: Not available prior to April 2019 + constraints: + - variable: number_of_children + operator: == + value: Not available prior to April 2019 + label: number of children + guard_cells: + - column: C + row: 41 + expected_value: August 2025 + label: month + - column: E + row: 41 + expected_value: Not available prior to April 2019 + label: number of children + measures: + - measure_id: benefit_units + label: Universal Credit benefit units + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units + source_concept: dwp.uc_households_on_universal_credit + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the UC unit of assessment; Chronicle + normalizes that entity to benefit_unit. Digit labels are guarded by publisher value URIs. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.children.month2025_09 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.children.month2025_09.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.children.month2025_09 + sheet_name: api_response + period_type: month + period: 2025-09 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.uc_number_of_children + assertion: observation + rows: + - value_id: children_0 + label: '0' + ordinal: 0 + row_number: 42 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:0 + table_record_kind: detail + filters: + number_of_children: '0' + constraints: + - variable: number_of_children + operator: == + value: '0' + label: number of children + guard_cells: + - column: C + row: 42 + expected_value: September 2025 + label: month + - value_id: children_1 + label: '1' + ordinal: 1 + row_number: 43 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:1 + table_record_kind: detail + filters: + number_of_children: '1' + constraints: + - variable: number_of_children + operator: == + value: '1' + label: number of children + guard_cells: + - column: C + row: 43 + expected_value: September 2025 + label: month + - value_id: children_2 + label: '2' + ordinal: 2 + row_number: 44 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:2 + table_record_kind: detail + filters: + number_of_children: '2' + constraints: + - variable: number_of_children + operator: == + value: '2' + label: number of children + guard_cells: + - column: C + row: 44 + expected_value: September 2025 + label: month + - value_id: children_3 + label: '3' + ordinal: 3 + row_number: 45 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:3 + table_record_kind: detail + filters: + number_of_children: '3' + constraints: + - variable: number_of_children + operator: == + value: '3' + label: number of children + guard_cells: + - column: C + row: 45 + expected_value: September 2025 + label: month + - value_id: children_4 + label: '4' + ordinal: 4 + row_number: 46 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:4 + table_record_kind: detail + filters: + number_of_children: '4' + constraints: + - variable: number_of_children + operator: == + value: '4' + label: number of children + guard_cells: + - column: C + row: 46 + expected_value: September 2025 + label: month + - value_id: children_5_or_more + label: 5 or more + ordinal: 5 + row_number: 47 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:5 + table_record_kind: detail + filters: + number_of_children: 5 or more + constraints: + - variable: number_of_children + operator: == + value: 5 or more + label: number of children + guard_cells: + - column: C + row: 47 + expected_value: September 2025 + label: month + - column: E + row: 47 + expected_value: 5 or more + label: number of children + - value_id: children_unknown_or_missing + label: Unknown or missing + ordinal: 6 + row_number: 48 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9998 + table_record_kind: detail + filters: + number_of_children: Unknown or missing + constraints: + - variable: number_of_children + operator: == + value: Unknown or missing + label: number of children + guard_cells: + - column: C + row: 48 + expected_value: September 2025 + label: month + - column: E + row: 48 + expected_value: Unknown or missing + label: number of children + - value_id: children_not_available_prior_to_april_2019 + label: Not available prior to April 2019 + ordinal: 7 + row_number: 49 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9999 + table_record_kind: detail + filters: + number_of_children: Not available prior to April 2019 + constraints: + - variable: number_of_children + operator: == + value: Not available prior to April 2019 + label: number of children + guard_cells: + - column: C + row: 49 + expected_value: September 2025 + label: month + - column: E + row: 49 + expected_value: Not available prior to April 2019 + label: number of children + measures: + - measure_id: benefit_units + label: Universal Credit benefit units + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units + source_concept: dwp.uc_households_on_universal_credit + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the UC unit of assessment; Chronicle + normalizes that entity to benefit_unit. Digit labels are guarded by publisher value URIs. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.children.month2025_10 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.children.month2025_10.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.children.month2025_10 + sheet_name: api_response + period_type: month + period: 2025-10 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.uc_number_of_children + assertion: observation + rows: + - value_id: children_0 + label: '0' + ordinal: 0 + row_number: 50 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:0 + table_record_kind: detail + filters: + number_of_children: '0' + constraints: + - variable: number_of_children + operator: == + value: '0' + label: number of children + guard_cells: + - column: C + row: 50 + expected_value: October 2025 + label: month + - value_id: children_1 + label: '1' + ordinal: 1 + row_number: 51 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:1 + table_record_kind: detail + filters: + number_of_children: '1' + constraints: + - variable: number_of_children + operator: == + value: '1' + label: number of children + guard_cells: + - column: C + row: 51 + expected_value: October 2025 + label: month + - value_id: children_2 + label: '2' + ordinal: 2 + row_number: 52 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:2 + table_record_kind: detail + filters: + number_of_children: '2' + constraints: + - variable: number_of_children + operator: == + value: '2' + label: number of children + guard_cells: + - column: C + row: 52 + expected_value: October 2025 + label: month + - value_id: children_3 + label: '3' + ordinal: 3 + row_number: 53 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:3 + table_record_kind: detail + filters: + number_of_children: '3' + constraints: + - variable: number_of_children + operator: == + value: '3' + label: number of children + guard_cells: + - column: C + row: 53 + expected_value: October 2025 + label: month + - value_id: children_4 + label: '4' + ordinal: 4 + row_number: 54 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:4 + table_record_kind: detail + filters: + number_of_children: '4' + constraints: + - variable: number_of_children + operator: == + value: '4' + label: number of children + guard_cells: + - column: C + row: 54 + expected_value: October 2025 + label: month + - value_id: children_5_or_more + label: 5 or more + ordinal: 5 + row_number: 55 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:5 + table_record_kind: detail + filters: + number_of_children: 5 or more + constraints: + - variable: number_of_children + operator: == + value: 5 or more + label: number of children + guard_cells: + - column: C + row: 55 + expected_value: October 2025 + label: month + - column: E + row: 55 + expected_value: 5 or more + label: number of children + - value_id: children_unknown_or_missing + label: Unknown or missing + ordinal: 6 + row_number: 56 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9998 + table_record_kind: detail + filters: + number_of_children: Unknown or missing + constraints: + - variable: number_of_children + operator: == + value: Unknown or missing + label: number of children + guard_cells: + - column: C + row: 56 + expected_value: October 2025 + label: month + - column: E + row: 56 + expected_value: Unknown or missing + label: number of children + - value_id: children_not_available_prior_to_april_2019 + label: Not available prior to April 2019 + ordinal: 7 + row_number: 57 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9999 + table_record_kind: detail + filters: + number_of_children: Not available prior to April 2019 + constraints: + - variable: number_of_children + operator: == + value: Not available prior to April 2019 + label: number of children + guard_cells: + - column: C + row: 57 + expected_value: October 2025 + label: month + - column: E + row: 57 + expected_value: Not available prior to April 2019 + label: number of children + measures: + - measure_id: benefit_units + label: Universal Credit benefit units + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units + source_concept: dwp.uc_households_on_universal_credit + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the UC unit of assessment; Chronicle + normalizes that entity to benefit_unit. Digit labels are guarded by publisher value URIs. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.children.month2025_11 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.children.month2025_11.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.children.month2025_11 + sheet_name: api_response + period_type: month + period: 2025-11 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.uc_number_of_children + assertion: observation + rows: + - value_id: children_0 + label: '0' + ordinal: 0 + row_number: 58 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:0 + table_record_kind: detail + filters: + number_of_children: '0' + constraints: + - variable: number_of_children + operator: == + value: '0' + label: number of children + guard_cells: + - column: C + row: 58 + expected_value: November 2025 + label: month + - value_id: children_1 + label: '1' + ordinal: 1 + row_number: 59 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:1 + table_record_kind: detail + filters: + number_of_children: '1' + constraints: + - variable: number_of_children + operator: == + value: '1' + label: number of children + guard_cells: + - column: C + row: 59 + expected_value: November 2025 + label: month + - value_id: children_2 + label: '2' + ordinal: 2 + row_number: 60 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:2 + table_record_kind: detail + filters: + number_of_children: '2' + constraints: + - variable: number_of_children + operator: == + value: '2' + label: number of children + guard_cells: + - column: C + row: 60 + expected_value: November 2025 + label: month + - value_id: children_3 + label: '3' + ordinal: 3 + row_number: 61 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:3 + table_record_kind: detail + filters: + number_of_children: '3' + constraints: + - variable: number_of_children + operator: == + value: '3' + label: number of children + guard_cells: + - column: C + row: 61 + expected_value: November 2025 + label: month + - value_id: children_4 + label: '4' + ordinal: 4 + row_number: 62 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:4 + table_record_kind: detail + filters: + number_of_children: '4' + constraints: + - variable: number_of_children + operator: == + value: '4' + label: number of children + guard_cells: + - column: C + row: 62 + expected_value: November 2025 + label: month + - value_id: children_5_or_more + label: 5 or more + ordinal: 5 + row_number: 63 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:5 + table_record_kind: detail + filters: + number_of_children: 5 or more + constraints: + - variable: number_of_children + operator: == + value: 5 or more + label: number of children + guard_cells: + - column: C + row: 63 + expected_value: November 2025 + label: month + - column: E + row: 63 + expected_value: 5 or more + label: number of children + - value_id: children_unknown_or_missing + label: Unknown or missing + ordinal: 6 + row_number: 64 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9998 + table_record_kind: detail + filters: + number_of_children: Unknown or missing + constraints: + - variable: number_of_children + operator: == + value: Unknown or missing + label: number of children + guard_cells: + - column: C + row: 64 + expected_value: November 2025 + label: month + - column: E + row: 64 + expected_value: Unknown or missing + label: number of children + - value_id: children_not_available_prior_to_april_2019 + label: Not available prior to April 2019 + ordinal: 7 + row_number: 65 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9999 + table_record_kind: detail + filters: + number_of_children: Not available prior to April 2019 + constraints: + - variable: number_of_children + operator: == + value: Not available prior to April 2019 + label: number of children + guard_cells: + - column: C + row: 65 + expected_value: November 2025 + label: month + - column: E + row: 65 + expected_value: Not available prior to April 2019 + label: number of children + measures: + - measure_id: benefit_units + label: Universal Credit benefit units + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units + source_concept: dwp.uc_households_on_universal_credit + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the UC unit of assessment; Chronicle + normalizes that entity to benefit_unit. Digit labels are guarded by publisher value URIs. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.children.month2025_12 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.children.month2025_12.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.children.month2025_12 + sheet_name: api_response + period_type: month + period: 2025-12 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.uc_number_of_children + assertion: observation + rows: + - value_id: children_0 + label: '0' + ordinal: 0 + row_number: 66 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:0 + table_record_kind: detail + filters: + number_of_children: '0' + constraints: + - variable: number_of_children + operator: == + value: '0' + label: number of children + guard_cells: + - column: C + row: 66 + expected_value: December 2025 + label: month + - value_id: children_1 + label: '1' + ordinal: 1 + row_number: 67 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:1 + table_record_kind: detail + filters: + number_of_children: '1' + constraints: + - variable: number_of_children + operator: == + value: '1' + label: number of children + guard_cells: + - column: C + row: 67 + expected_value: December 2025 + label: month + - value_id: children_2 + label: '2' + ordinal: 2 + row_number: 68 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:2 + table_record_kind: detail + filters: + number_of_children: '2' + constraints: + - variable: number_of_children + operator: == + value: '2' + label: number of children + guard_cells: + - column: C + row: 68 + expected_value: December 2025 + label: month + - value_id: children_3 + label: '3' + ordinal: 3 + row_number: 69 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:3 + table_record_kind: detail + filters: + number_of_children: '3' + constraints: + - variable: number_of_children + operator: == + value: '3' + label: number of children + guard_cells: + - column: C + row: 69 + expected_value: December 2025 + label: month + - value_id: children_4 + label: '4' + ordinal: 4 + row_number: 70 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:4 + table_record_kind: detail + filters: + number_of_children: '4' + constraints: + - variable: number_of_children + operator: == + value: '4' + label: number of children + guard_cells: + - column: C + row: 70 + expected_value: December 2025 + label: month + - value_id: children_5_or_more + label: 5 or more + ordinal: 5 + row_number: 71 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:5 + table_record_kind: detail + filters: + number_of_children: 5 or more + constraints: + - variable: number_of_children + operator: == + value: 5 or more + label: number of children + guard_cells: + - column: C + row: 71 + expected_value: December 2025 + label: month + - column: E + row: 71 + expected_value: 5 or more + label: number of children + - value_id: children_unknown_or_missing + label: Unknown or missing + ordinal: 6 + row_number: 72 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9998 + table_record_kind: detail + filters: + number_of_children: Unknown or missing + constraints: + - variable: number_of_children + operator: == + value: Unknown or missing + label: number of children + guard_cells: + - column: C + row: 72 + expected_value: December 2025 + label: month + - column: E + row: 72 + expected_value: Unknown or missing + label: number of children + - value_id: children_not_available_prior_to_april_2019 + label: Not available prior to April 2019 + ordinal: 7 + row_number: 73 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9999 + table_record_kind: detail + filters: + number_of_children: Not available prior to April 2019 + constraints: + - variable: number_of_children + operator: == + value: Not available prior to April 2019 + label: number of children + guard_cells: + - column: C + row: 73 + expected_value: December 2025 + label: month + - column: E + row: 73 + expected_value: Not available prior to April 2019 + label: number of children + measures: + - measure_id: benefit_units + label: Universal Credit benefit units + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units + source_concept: dwp.uc_households_on_universal_credit + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the UC unit of assessment; Chronicle + normalizes that entity to benefit_unit. Digit labels are guarded by publisher value URIs. + unit: count + aggregation: sum + expected_cell_type: number diff --git a/packages/dwp/uc_households_children_may_2025/source_package.yaml b/packages/dwp/uc_households_children_may_2025/source_package.yaml deleted file mode 100644 index a375f2e4..00000000 --- a/packages/dwp/uc_households_children_may_2025/source_package.yaml +++ /dev/null @@ -1,233 +0,0 @@ -# Stat-Xplore Open Data API extract: Households on Universal Credit by -# Number of Children, Great Britain, May 2025 (raw API response artifact, -# query echoed inside it). policyengine-uk-data transcribes an earlier -# provisional vintage (e.g. 1 child: 1,222,944 vs this revised cube's -# 1,269,512) - deltas enumerated in the PR. Digit categories are guarded -# via publisher value URIs (digit-text row headers int-coerce in the guard -# contract, the mye precedent). -# Cross-cube reconciliation note (adversarial review): the same May-2025 -# universe queried through different dimensions returns totals that differ -# by a handful of households (family-type cube total 6,584,241 vs -# number-of-children cube total 6,584,239; summing the band x family cube's -# non-overlapping bands differs from the family-type marginals by 4-20 per -# family type). DWP applies cell-level adjustment at source, so cross-cube -# marginals are not expected to reconcile exactly; each package carries its -# own cube's publisher-emitted values. -schema_version: ledger.source_package.v1 -package_id: dwp-uc-households-children-may-2025 -label: 'DWP Stat-Xplore: households on Universal Credit by number of children, Great Britain, - May 2025' -artifact: - source_name: dwp - source_table: Households on Universal Credit by number of children, May 2025 - resource_package: db - resource_directory: data/dwp/uc_households_children_may_2025 - manifest: manifest.yaml - vintage: stat_xplore_may_2025 - extracted_at: '2026-08-07' - extraction_method: Stat-Xplore Open Data API table response parsed and unpivoted to one - row per cube cell - parser: statxplore_table_json_rows - sheet_name: api_response - artifact_year: 2025 -record_sets: -- record_set_id: dwp.statx.uc_households.may2025.number_of_children - provenance_class: administrative - record_set_spec_id: dwp.statx.uc_households.may2025.number_of_children.v1 - source_record_id_prefix: dwp.statx.uc_households.may2025.number_of_children - sheet_name: api_response - period_type: month - period: 2025-05 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: household - entity_role: uc_household - domain: universal_credit - groupby_dimension: dwp.uc_number_of_children - rows: - - value_id: children_0 - label: '0' - ordinal: 0 - row_number: 2 - expected_row_header_column: F - expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:0 - table_record_kind: detail - filters: - number_of_children: '0' - constraints: - - variable: number_of_children - operator: == - value: '0' - label: number of children - guard_cells: - - column: C - row: 2 - expected_value: May 2025 - label: month - - value_id: children_1 - label: '1' - ordinal: 1 - row_number: 3 - expected_row_header_column: F - expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:1 - table_record_kind: detail - filters: - number_of_children: '1' - constraints: - - variable: number_of_children - operator: == - value: '1' - label: number of children - guard_cells: - - column: C - row: 3 - expected_value: May 2025 - label: month - - value_id: children_2 - label: '2' - ordinal: 2 - row_number: 4 - expected_row_header_column: F - expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:2 - table_record_kind: detail - filters: - number_of_children: '2' - constraints: - - variable: number_of_children - operator: == - value: '2' - label: number of children - guard_cells: - - column: C - row: 4 - expected_value: May 2025 - label: month - - value_id: children_3 - label: '3' - ordinal: 3 - row_number: 5 - expected_row_header_column: F - expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:3 - table_record_kind: detail - filters: - number_of_children: '3' - constraints: - - variable: number_of_children - operator: == - value: '3' - label: number of children - guard_cells: - - column: C - row: 5 - expected_value: May 2025 - label: month - - value_id: children_4 - label: '4' - ordinal: 4 - row_number: 6 - expected_row_header_column: F - expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:4 - table_record_kind: detail - filters: - number_of_children: '4' - constraints: - - variable: number_of_children - operator: == - value: '4' - label: number of children - guard_cells: - - column: C - row: 6 - expected_value: May 2025 - label: month - - value_id: children_5_or_more - label: 5 or more - ordinal: 5 - row_number: 7 - expected_row_header_column: F - expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:5 - table_record_kind: detail - filters: - number_of_children: 5 or more - constraints: - - variable: number_of_children - operator: == - value: 5 or more - label: number of children - guard_cells: - - column: C - row: 7 - expected_value: May 2025 - label: month - - column: E - row: 7 - expected_value: 5 or more - label: number of children - - value_id: children_unknown_or_missing - label: Unknown or missing - ordinal: 6 - row_number: 8 - expected_row_header_column: F - expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9998 - table_record_kind: detail - filters: - number_of_children: Unknown or missing - constraints: - - variable: number_of_children - operator: == - value: Unknown or missing - label: number of children - guard_cells: - - column: C - row: 8 - expected_value: May 2025 - label: month - - column: E - row: 8 - expected_value: Unknown or missing - label: number of children - - value_id: children_not_available_prior_to_april_2019 - label: Not available prior to April 2019 - ordinal: 7 - row_number: 9 - expected_row_header_column: F - expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:NUMBER_OF_CHILDREN:C_UC_NUMBER_OF_CHILDREN:9999 - table_record_kind: detail - filters: - number_of_children: Not available prior to April 2019 - constraints: - - variable: number_of_children - operator: == - value: Not available prior to April 2019 - label: number of children - guard_cells: - - column: C - row: 9 - expected_value: May 2025 - label: month - - column: E - row: 9 - expected_value: Not available prior to April 2019 - label: number of children - measures: - - measure_id: households - label: Households on Universal Credit - ordinal: 0 - column: B - source_column_id: value - expected_column_header_row: 1 - expected_column_header: value - concept: dwp.uc_households - source_concept: dwp.uc_households - concept_relation: source_label - concept_authority: dwp - concept_evidence_url: https://stat-xplore.dwp.gov.uk/ - concept_evidence_notes: Stat-Xplore 'Households on Universal Credit' dataset, May 2025, - dimensioned by Number of Children; query echoed in the archived API response. Digit - categories are guarded via the publisher value URIs because digit-text row headers int-coerce - in the guard contract. - unit: count - aggregation: sum - expected_cell_type: number diff --git a/packages/dwp/uc_households_family_type_april_december_2025/source_package.yaml b/packages/dwp/uc_households_family_type_april_december_2025/source_package.yaml new file mode 100644 index 00000000..5ccc741c --- /dev/null +++ b/packages/dwp/uc_households_family_type_april_december_2025/source_package.yaml @@ -0,0 +1,211 @@ +# DWP's "household" is the Universal Credit unit of assessment (benefit unit), +# not an ONS household. This package preserves each monthly, publisher-emitted +# cube cell; DWP's source adjustment means independently queried cubes need not +# reconcile exactly. +schema_version: ledger.source_package.v1 +package_id: dwp-uc-households-family-type-april-december-2025 +label: 'DWP Stat-Xplore: Universal Credit benefit units by family type, Great Britain, April to December 2025' +artifact: + source_name: dwp + source_table: Households on Universal Credit by family type, April to December 2025 + resource_package: db + resource_directory: data/dwp/uc_households_family_type_april_december_2025 + manifest: manifest.yaml + vintage: stat_xplore_2026_08_21 + extracted_at: '2026-08-21' + extraction_method: Stat-Xplore Open Data API table response parsed and unpivoted to one row per cube cell + parser: statxplore_table_json_rows + sheet_name: api_response + artifact_year: 2025 +record_sets: +- &monthly + record_set_id: dwp.statx.uc_benefit_units.family_type.month2025_04 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.family_type.month2025_04.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.family_type.month2025_04 + sheet_name: api_response + period_type: month + period: 2025-04 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.uc_family_type + assertion: observation + rows: + - &single_no_children + value_id: single_no_children + label: Single, no children + ordinal: 0 + row_number: 2 + expected_row_header_column: E + expected_row_header: Single, no children + table_record_kind: detail + filters: {family_type: 'Single, no children'} + constraints: + - {variable: family_type, operator: '==', value: 'Single, no children', label: family type} + guard_cells: &april_guard [{column: C, row: 2, expected_value: 'April 2025', label: month}] + - &single_with_children + value_id: single_with_children + label: Single, with children + ordinal: 1 + row_number: 3 + expected_row_header_column: E + expected_row_header: Single, with children + table_record_kind: detail + filters: {family_type: 'Single, with children'} + constraints: + - {variable: family_type, operator: '==', value: 'Single, with children', label: family type} + guard_cells: [{column: C, row: 3, expected_value: 'April 2025', label: month}] + - &couple_no_children + value_id: couple_no_children + label: Couple, no children + ordinal: 2 + row_number: 4 + expected_row_header_column: E + expected_row_header: Couple, no children + table_record_kind: detail + filters: {family_type: 'Couple, no children'} + constraints: + - {variable: family_type, operator: '==', value: 'Couple, no children', label: family type} + guard_cells: [{column: C, row: 4, expected_value: 'April 2025', label: month}] + - &couple_with_children + value_id: couple_with_children + label: Couple, with children + ordinal: 3 + row_number: 5 + expected_row_header_column: E + expected_row_header: Couple, with children + table_record_kind: detail + filters: {family_type: 'Couple, with children'} + constraints: + - {variable: family_type, operator: '==', value: 'Couple, with children', label: family type} + guard_cells: [{column: C, row: 5, expected_value: 'April 2025', label: month}] + - &unknown_family + value_id: unknown_or_missing_family_type + label: Unknown or missing family type + ordinal: 4 + row_number: 6 + expected_row_header_column: E + expected_row_header: Unknown or missing family type + table_record_kind: detail + filters: {family_type: 'Unknown or missing family type'} + constraints: + - {variable: family_type, operator: '==', value: 'Unknown or missing family type', label: family type} + guard_cells: [{column: C, row: 6, expected_value: 'April 2025', label: month}] + measures: &measures + - measure_id: benefit_units + label: Universal Credit benefit units + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units + source_concept: dwp.uc_households_on_universal_credit + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the UC unit of assessment; Chronicle normalizes that entity to benefit_unit. + unit: count + aggregation: sum + expected_cell_type: number +- <<: *monthly + record_set_id: dwp.statx.uc_benefit_units.family_type.month2025_05 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.family_type.month2025_05.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.family_type.month2025_05 + period: 2025-05 + rows: &may_rows + - {<<: *single_no_children, row_number: 7, guard_cells: [{column: C, row: 7, expected_value: 'May 2025', label: month}]} + - {<<: *single_with_children, row_number: 8, guard_cells: [{column: C, row: 8, expected_value: 'May 2025', label: month}]} + - {<<: *couple_no_children, row_number: 9, guard_cells: [{column: C, row: 9, expected_value: 'May 2025', label: month}]} + - {<<: *couple_with_children, row_number: 10, guard_cells: [{column: C, row: 10, expected_value: 'May 2025', label: month}]} + - {<<: *unknown_family, row_number: 11, guard_cells: [{column: C, row: 11, expected_value: 'May 2025', label: month}]} +- <<: *monthly + record_set_id: dwp.statx.uc_benefit_units.family_type.month2025_06 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.family_type.month2025_06.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.family_type.month2025_06 + period: 2025-06 + rows: + - {<<: *single_no_children, row_number: 12, guard_cells: [{column: C, row: 12, expected_value: 'June 2025', label: month}]} + - {<<: *single_with_children, row_number: 13, guard_cells: [{column: C, row: 13, expected_value: 'June 2025', label: month}]} + - {<<: *couple_no_children, row_number: 14, guard_cells: [{column: C, row: 14, expected_value: 'June 2025', label: month}]} + - {<<: *couple_with_children, row_number: 15, guard_cells: [{column: C, row: 15, expected_value: 'June 2025', label: month}]} + - {<<: *unknown_family, row_number: 16, guard_cells: [{column: C, row: 16, expected_value: 'June 2025', label: month}]} +- <<: *monthly + record_set_id: dwp.statx.uc_benefit_units.family_type.month2025_07 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.family_type.month2025_07.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.family_type.month2025_07 + period: 2025-07 + rows: + - {<<: *single_no_children, row_number: 17, guard_cells: [{column: C, row: 17, expected_value: 'July 2025', label: month}]} + - {<<: *single_with_children, row_number: 18, guard_cells: [{column: C, row: 18, expected_value: 'July 2025', label: month}]} + - {<<: *couple_no_children, row_number: 19, guard_cells: [{column: C, row: 19, expected_value: 'July 2025', label: month}]} + - {<<: *couple_with_children, row_number: 20, guard_cells: [{column: C, row: 20, expected_value: 'July 2025', label: month}]} + - {<<: *unknown_family, row_number: 21, guard_cells: [{column: C, row: 21, expected_value: 'July 2025', label: month}]} +- <<: *monthly + record_set_id: dwp.statx.uc_benefit_units.family_type.month2025_08 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.family_type.month2025_08.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.family_type.month2025_08 + period: 2025-08 + rows: + - {<<: *single_no_children, row_number: 22, guard_cells: [{column: C, row: 22, expected_value: 'August 2025', label: month}]} + - {<<: *single_with_children, row_number: 23, guard_cells: [{column: C, row: 23, expected_value: 'August 2025', label: month}]} + - {<<: *couple_no_children, row_number: 24, guard_cells: [{column: C, row: 24, expected_value: 'August 2025', label: month}]} + - {<<: *couple_with_children, row_number: 25, guard_cells: [{column: C, row: 25, expected_value: 'August 2025', label: month}]} + - {<<: *unknown_family, row_number: 26, guard_cells: [{column: C, row: 26, expected_value: 'August 2025', label: month}]} +- <<: *monthly + record_set_id: dwp.statx.uc_benefit_units.family_type.month2025_09 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.family_type.month2025_09.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.family_type.month2025_09 + period: 2025-09 + rows: + - {<<: *single_no_children, row_number: 27, guard_cells: [{column: C, row: 27, expected_value: 'September 2025', label: month}]} + - {<<: *single_with_children, row_number: 28, guard_cells: [{column: C, row: 28, expected_value: 'September 2025', label: month}]} + - {<<: *couple_no_children, row_number: 29, guard_cells: [{column: C, row: 29, expected_value: 'September 2025', label: month}]} + - {<<: *couple_with_children, row_number: 30, guard_cells: [{column: C, row: 30, expected_value: 'September 2025', label: month}]} + - {<<: *unknown_family, row_number: 31, guard_cells: [{column: C, row: 31, expected_value: 'September 2025', label: month}]} +- <<: *monthly + record_set_id: dwp.statx.uc_benefit_units.family_type.month2025_10 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.family_type.month2025_10.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.family_type.month2025_10 + period: 2025-10 + rows: + - {<<: *single_no_children, row_number: 32, guard_cells: [{column: C, row: 32, expected_value: 'October 2025', label: month}]} + - {<<: *single_with_children, row_number: 33, guard_cells: [{column: C, row: 33, expected_value: 'October 2025', label: month}]} + - {<<: *couple_no_children, row_number: 34, guard_cells: [{column: C, row: 34, expected_value: 'October 2025', label: month}]} + - {<<: *couple_with_children, row_number: 35, guard_cells: [{column: C, row: 35, expected_value: 'October 2025', label: month}]} + - {<<: *unknown_family, row_number: 36, guard_cells: [{column: C, row: 36, expected_value: 'October 2025', label: month}]} +- <<: *monthly + record_set_id: dwp.statx.uc_benefit_units.family_type.month2025_11 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.family_type.month2025_11.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.family_type.month2025_11 + period: 2025-11 + rows: + - {<<: *single_no_children, row_number: 37, guard_cells: [{column: C, row: 37, expected_value: 'November 2025', label: month}]} + - {<<: *single_with_children, row_number: 38, guard_cells: [{column: C, row: 38, expected_value: 'November 2025', label: month}]} + - {<<: *couple_no_children, row_number: 39, guard_cells: [{column: C, row: 39, expected_value: 'November 2025', label: month}]} + - {<<: *couple_with_children, row_number: 40, guard_cells: [{column: C, row: 40, expected_value: 'November 2025', label: month}]} + - {<<: *unknown_family, row_number: 41, guard_cells: [{column: C, row: 41, expected_value: 'November 2025', label: month}]} +- <<: *monthly + record_set_id: dwp.statx.uc_benefit_units.family_type.month2025_12 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.family_type.month2025_12.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.family_type.month2025_12 + period: 2025-12 + rows: + - {<<: *single_no_children, row_number: 42, guard_cells: [{column: C, row: 42, expected_value: 'December 2025', label: month}]} + - {<<: *single_with_children, row_number: 43, guard_cells: [{column: C, row: 43, expected_value: 'December 2025', label: month}]} + - {<<: *couple_no_children, row_number: 44, guard_cells: [{column: C, row: 44, expected_value: 'December 2025', label: month}]} + - {<<: *couple_with_children, row_number: 45, guard_cells: [{column: C, row: 45, expected_value: 'December 2025', label: month}]} + - {<<: *unknown_family, row_number: 46, guard_cells: [{column: C, row: 46, expected_value: 'December 2025', label: month}]} diff --git a/packages/dwp/uc_households_family_type_may_2025/source_package.yaml b/packages/dwp/uc_households_family_type_may_2025/source_package.yaml deleted file mode 100644 index cf404783..00000000 --- a/packages/dwp/uc_households_family_type_may_2025/source_package.yaml +++ /dev/null @@ -1,161 +0,0 @@ -# Stat-Xplore Open Data API extract: Households on Universal Credit by -# Family Type, Great Britain, May 2025 (raw API response artifact, query -# echoed inside it). policyengine-uk-data's base thousands (2868.011 etc.) -# are the provisional May 2025 vintage of this same cube; its -# undercount_relative inflation is uk-data-computed and excluded per the -# facts-only ADR - populace re-declares it over these raw counts. -# Cross-cube reconciliation note (adversarial review): the same May-2025 -# universe queried through different dimensions returns totals that differ -# by a handful of households (family-type cube total 6,584,241 vs -# number-of-children cube total 6,584,239; summing the band x family cube's -# non-overlapping bands differs from the family-type marginals by 4-20 per -# family type). DWP applies cell-level adjustment at source, so cross-cube -# marginals are not expected to reconcile exactly; each package carries its -# own cube's publisher-emitted values. -schema_version: ledger.source_package.v1 -package_id: dwp-uc-households-family-type-may-2025 -label: 'DWP Stat-Xplore: households on Universal Credit by family type, Great Britain, May - 2025' -artifact: - source_name: dwp - source_table: Households on Universal Credit by family type, May 2025 - resource_package: db - resource_directory: data/dwp/uc_households_family_type_may_2025 - manifest: manifest.yaml - vintage: stat_xplore_may_2025 - extracted_at: '2026-08-07' - extraction_method: Stat-Xplore Open Data API table response parsed and unpivoted to one - row per cube cell - parser: statxplore_table_json_rows - sheet_name: api_response - artifact_year: 2025 -record_sets: -- record_set_id: dwp.statx.uc_households.may2025.family_type - provenance_class: administrative - record_set_spec_id: dwp.statx.uc_households.may2025.family_type.v1 - source_record_id_prefix: dwp.statx.uc_households.may2025.family_type - sheet_name: api_response - period_type: month - period: 2025-05 - geography_id: K03000001 - geography_level: country - geography_name: Great Britain - geography_vintage: current - entity: household - entity_role: uc_household - domain: universal_credit - groupby_dimension: dwp.uc_family_type - rows: - - value_id: single_no_children - label: Single, no children - ordinal: 0 - row_number: 2 - expected_row_header_column: E - expected_row_header: Single, no children - table_record_kind: detail - filters: - family_type: Single, no children - constraints: - - variable: family_type - operator: == - value: Single, no children - label: family type - guard_cells: - - column: C - row: 2 - expected_value: May 2025 - label: month - - value_id: single_with_children - label: Single, with children - ordinal: 1 - row_number: 3 - expected_row_header_column: E - expected_row_header: Single, with children - table_record_kind: detail - filters: - family_type: Single, with children - constraints: - - variable: family_type - operator: == - value: Single, with children - label: family type - guard_cells: - - column: C - row: 3 - expected_value: May 2025 - label: month - - value_id: couple_no_children - label: Couple, no children - ordinal: 2 - row_number: 4 - expected_row_header_column: E - expected_row_header: Couple, no children - table_record_kind: detail - filters: - family_type: Couple, no children - constraints: - - variable: family_type - operator: == - value: Couple, no children - label: family type - guard_cells: - - column: C - row: 4 - expected_value: May 2025 - label: month - - value_id: couple_with_children - label: Couple, with children - ordinal: 3 - row_number: 5 - expected_row_header_column: E - expected_row_header: Couple, with children - table_record_kind: detail - filters: - family_type: Couple, with children - constraints: - - variable: family_type - operator: == - value: Couple, with children - label: family type - guard_cells: - - column: C - row: 5 - expected_value: May 2025 - label: month - - value_id: unknown_or_missing_family_type - label: Unknown or missing family type - ordinal: 4 - row_number: 6 - expected_row_header_column: E - expected_row_header: Unknown or missing family type - table_record_kind: detail - filters: - family_type: Unknown or missing family type - constraints: - - variable: family_type - operator: == - value: Unknown or missing family type - label: family type - guard_cells: - - column: C - row: 6 - expected_value: May 2025 - label: month - measures: - - measure_id: households - label: Households on Universal Credit - ordinal: 0 - column: B - source_column_id: value - expected_column_header_row: 1 - expected_column_header: value - concept: dwp.uc_households - source_concept: dwp.uc_households - concept_relation: source_label - concept_authority: dwp - concept_evidence_url: https://stat-xplore.dwp.gov.uk/ - concept_evidence_notes: Stat-Xplore 'Households on Universal Credit' dataset, May 2025, - dimensioned by Family Type; query echoed in the archived API response. - unit: count - aggregation: sum - expected_cell_type: number diff --git a/packages/dwp/uc_households_housing_entitlement_april_december_2025/source_package.yaml b/packages/dwp/uc_households_housing_entitlement_april_december_2025/source_package.yaml new file mode 100644 index 00000000..567d01b8 --- /dev/null +++ b/packages/dwp/uc_households_housing_entitlement_april_december_2025/source_package.yaml @@ -0,0 +1,514 @@ +# Publisher-emitted monthly entitlement counts; no Chronicle-side aggregation. +schema_version: ledger.source_package.v1 +package_id: dwp-uc-households-housing-entitlement-april-december-2025 +label: 'DWP Stat-Xplore: Universal Credit benefit units with housing entitlement, Great Britain, April + to December 2025' +artifact: + source_name: dwp + source_table: Households on Universal Credit with housing entitlement, April to December 2025 + resource_package: db + resource_directory: data/dwp/uc_households_housing_entitlement_april_december_2025 + manifest: manifest.yaml + vintage: stat_xplore_2026_08_21 + extracted_at: '2026-08-21' + extraction_method: Stat-Xplore Open Data API table response parsed and unpivoted to one row per cube + cell + parser: statxplore_table_json_rows + sheet_name: api_response + artifact_year: 2025 +record_sets: +- record_set_id: dwp.statx.uc_benefit_units.housing.month2025_04 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.housing.month2025_04.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.housing.month2025_04 + sheet_name: api_response + period_type: month + period: 2025-04 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.housing_entitlement_tenure + assertion: observation + rows: + - value_id: housing_entitlement + label: Social Rented Sector + ordinal: 0 + row_number: 2 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:1 + table_record_kind: total + filters: + housing_entitlement_tenure: Social Rented Sector + constraints: + - variable: housing_entitlement_tenure + operator: == + value: Social Rented Sector + label: Universal Credit element + guard_cells: + - column: C + row: 2 + expected_value: April 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with housing entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_housing_element + source_concept: dwp.uc_households_with_housing_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query asks DWP to emit one grouped cell combining Social Rented Sector, Private Rented + Sector, and Other or unknown, while excluding No Housing Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.housing.month2025_05 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.housing.month2025_05.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.housing.month2025_05 + sheet_name: api_response + period_type: month + period: 2025-05 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.housing_entitlement_tenure + assertion: observation + rows: + - value_id: housing_entitlement + label: Social Rented Sector + ordinal: 0 + row_number: 3 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:1 + table_record_kind: total + filters: + housing_entitlement_tenure: Social Rented Sector + constraints: + - variable: housing_entitlement_tenure + operator: == + value: Social Rented Sector + label: Universal Credit element + guard_cells: + - column: C + row: 3 + expected_value: May 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with housing entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_housing_element + source_concept: dwp.uc_households_with_housing_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query asks DWP to emit one grouped cell combining Social Rented Sector, Private Rented + Sector, and Other or unknown, while excluding No Housing Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.housing.month2025_06 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.housing.month2025_06.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.housing.month2025_06 + sheet_name: api_response + period_type: month + period: 2025-06 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.housing_entitlement_tenure + assertion: observation + rows: + - value_id: housing_entitlement + label: Social Rented Sector + ordinal: 0 + row_number: 4 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:1 + table_record_kind: total + filters: + housing_entitlement_tenure: Social Rented Sector + constraints: + - variable: housing_entitlement_tenure + operator: == + value: Social Rented Sector + label: Universal Credit element + guard_cells: + - column: C + row: 4 + expected_value: June 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with housing entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_housing_element + source_concept: dwp.uc_households_with_housing_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query asks DWP to emit one grouped cell combining Social Rented Sector, Private Rented + Sector, and Other or unknown, while excluding No Housing Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.housing.month2025_07 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.housing.month2025_07.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.housing.month2025_07 + sheet_name: api_response + period_type: month + period: 2025-07 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.housing_entitlement_tenure + assertion: observation + rows: + - value_id: housing_entitlement + label: Social Rented Sector + ordinal: 0 + row_number: 5 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:1 + table_record_kind: total + filters: + housing_entitlement_tenure: Social Rented Sector + constraints: + - variable: housing_entitlement_tenure + operator: == + value: Social Rented Sector + label: Universal Credit element + guard_cells: + - column: C + row: 5 + expected_value: July 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with housing entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_housing_element + source_concept: dwp.uc_households_with_housing_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query asks DWP to emit one grouped cell combining Social Rented Sector, Private Rented + Sector, and Other or unknown, while excluding No Housing Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.housing.month2025_08 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.housing.month2025_08.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.housing.month2025_08 + sheet_name: api_response + period_type: month + period: 2025-08 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.housing_entitlement_tenure + assertion: observation + rows: + - value_id: housing_entitlement + label: Social Rented Sector + ordinal: 0 + row_number: 6 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:1 + table_record_kind: total + filters: + housing_entitlement_tenure: Social Rented Sector + constraints: + - variable: housing_entitlement_tenure + operator: == + value: Social Rented Sector + label: Universal Credit element + guard_cells: + - column: C + row: 6 + expected_value: August 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with housing entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_housing_element + source_concept: dwp.uc_households_with_housing_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query asks DWP to emit one grouped cell combining Social Rented Sector, Private Rented + Sector, and Other or unknown, while excluding No Housing Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.housing.month2025_09 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.housing.month2025_09.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.housing.month2025_09 + sheet_name: api_response + period_type: month + period: 2025-09 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.housing_entitlement_tenure + assertion: observation + rows: + - value_id: housing_entitlement + label: Social Rented Sector + ordinal: 0 + row_number: 7 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:1 + table_record_kind: total + filters: + housing_entitlement_tenure: Social Rented Sector + constraints: + - variable: housing_entitlement_tenure + operator: == + value: Social Rented Sector + label: Universal Credit element + guard_cells: + - column: C + row: 7 + expected_value: September 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with housing entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_housing_element + source_concept: dwp.uc_households_with_housing_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query asks DWP to emit one grouped cell combining Social Rented Sector, Private Rented + Sector, and Other or unknown, while excluding No Housing Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.housing.month2025_10 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.housing.month2025_10.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.housing.month2025_10 + sheet_name: api_response + period_type: month + period: 2025-10 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.housing_entitlement_tenure + assertion: observation + rows: + - value_id: housing_entitlement + label: Social Rented Sector + ordinal: 0 + row_number: 8 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:1 + table_record_kind: total + filters: + housing_entitlement_tenure: Social Rented Sector + constraints: + - variable: housing_entitlement_tenure + operator: == + value: Social Rented Sector + label: Universal Credit element + guard_cells: + - column: C + row: 8 + expected_value: October 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with housing entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_housing_element + source_concept: dwp.uc_households_with_housing_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query asks DWP to emit one grouped cell combining Social Rented Sector, Private Rented + Sector, and Other or unknown, while excluding No Housing Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.housing.month2025_11 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.housing.month2025_11.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.housing.month2025_11 + sheet_name: api_response + period_type: month + period: 2025-11 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.housing_entitlement_tenure + assertion: observation + rows: + - value_id: housing_entitlement + label: Social Rented Sector + ordinal: 0 + row_number: 9 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:1 + table_record_kind: total + filters: + housing_entitlement_tenure: Social Rented Sector + constraints: + - variable: housing_entitlement_tenure + operator: == + value: Social Rented Sector + label: Universal Credit element + guard_cells: + - column: C + row: 9 + expected_value: November 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with housing entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_housing_element + source_concept: dwp.uc_households_with_housing_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query asks DWP to emit one grouped cell combining Social Rented Sector, Private Rented + Sector, and Other or unknown, while excluding No Housing Entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.housing.month2025_12 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.housing.month2025_12.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.housing.month2025_12 + sheet_name: api_response + period_type: month + period: 2025-12 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.housing_entitlement_tenure + assertion: observation + rows: + - value_id: housing_entitlement + label: Social Rented Sector + ordinal: 0 + row_number: 10 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:TENURE:C_UC_HOUSING_TENURE:1 + table_record_kind: total + filters: + housing_entitlement_tenure: Social Rented Sector + constraints: + - variable: housing_entitlement_tenure + operator: == + value: Social Rented Sector + label: Universal Credit element + guard_cells: + - column: C + row: 10 + expected_value: December 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with housing entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_housing_element + source_concept: dwp.uc_households_with_housing_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The archived query asks DWP to emit one grouped cell combining Social Rented Sector, Private Rented + Sector, and Other or unknown, while excluding No Housing Entitlement. + unit: count + aggregation: sum + expected_cell_type: number diff --git a/packages/dwp/uc_households_lcwra_entitlement_april_december_2025/source_package.yaml b/packages/dwp/uc_households_lcwra_entitlement_april_december_2025/source_package.yaml new file mode 100644 index 00000000..4a5445ff --- /dev/null +++ b/packages/dwp/uc_households_lcwra_entitlement_april_december_2025/source_package.yaml @@ -0,0 +1,514 @@ +# Publisher-emitted monthly entitlement counts; no Chronicle-side aggregation. +schema_version: ledger.source_package.v1 +package_id: dwp-uc-households-lcwra-entitlement-april-december-2025 +label: 'DWP Stat-Xplore: Universal Credit benefit units with LCWRA entitlement, Great Britain, April to + December 2025' +artifact: + source_name: dwp + source_table: Households on Universal Credit with LCWRA entitlement, April to December 2025 + resource_package: db + resource_directory: data/dwp/uc_households_lcwra_entitlement_april_december_2025 + manifest: manifest.yaml + vintage: stat_xplore_2026_08_21 + extracted_at: '2026-08-21' + extraction_method: Stat-Xplore Open Data API table response parsed and unpivoted to one row per cube + cell + parser: statxplore_table_json_rows + sheet_name: api_response + artifact_year: 2025 +record_sets: +- record_set_id: dwp.statx.uc_benefit_units.lcwra.month2025_04 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.lcwra.month2025_04.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.lcwra.month2025_04 + sheet_name: api_response + period_type: month + period: 2025-04 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.limited_capability_for_work_entitlement + assertion: observation + rows: + - value_id: lcwra_entitlement + label: LCWRA - Higher + ordinal: 0 + row_number: 2 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCLCW_ENTITLEMENT:C_UC_LCW_ENTITLEMENT:3 + table_record_kind: total + filters: + limited_capability_for_work_entitlement: LCWRA - Higher + constraints: + - variable: limited_capability_for_work_entitlement + operator: == + value: LCWRA - Higher + label: Universal Credit element + guard_cells: + - column: C + row: 2 + expected_value: April 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with LCWRA entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_lcwra_element + source_concept: dwp.uc_households_with_lcwra_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The publisher value is LCWRA - Higher. During April-December 2025, before two LCWRA rates began + in April 2026, it is the LCWRA entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.lcwra.month2025_05 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.lcwra.month2025_05.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.lcwra.month2025_05 + sheet_name: api_response + period_type: month + period: 2025-05 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.limited_capability_for_work_entitlement + assertion: observation + rows: + - value_id: lcwra_entitlement + label: LCWRA - Higher + ordinal: 0 + row_number: 3 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCLCW_ENTITLEMENT:C_UC_LCW_ENTITLEMENT:3 + table_record_kind: total + filters: + limited_capability_for_work_entitlement: LCWRA - Higher + constraints: + - variable: limited_capability_for_work_entitlement + operator: == + value: LCWRA - Higher + label: Universal Credit element + guard_cells: + - column: C + row: 3 + expected_value: May 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with LCWRA entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_lcwra_element + source_concept: dwp.uc_households_with_lcwra_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The publisher value is LCWRA - Higher. During April-December 2025, before two LCWRA rates began + in April 2026, it is the LCWRA entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.lcwra.month2025_06 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.lcwra.month2025_06.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.lcwra.month2025_06 + sheet_name: api_response + period_type: month + period: 2025-06 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.limited_capability_for_work_entitlement + assertion: observation + rows: + - value_id: lcwra_entitlement + label: LCWRA - Higher + ordinal: 0 + row_number: 4 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCLCW_ENTITLEMENT:C_UC_LCW_ENTITLEMENT:3 + table_record_kind: total + filters: + limited_capability_for_work_entitlement: LCWRA - Higher + constraints: + - variable: limited_capability_for_work_entitlement + operator: == + value: LCWRA - Higher + label: Universal Credit element + guard_cells: + - column: C + row: 4 + expected_value: June 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with LCWRA entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_lcwra_element + source_concept: dwp.uc_households_with_lcwra_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The publisher value is LCWRA - Higher. During April-December 2025, before two LCWRA rates began + in April 2026, it is the LCWRA entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.lcwra.month2025_07 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.lcwra.month2025_07.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.lcwra.month2025_07 + sheet_name: api_response + period_type: month + period: 2025-07 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.limited_capability_for_work_entitlement + assertion: observation + rows: + - value_id: lcwra_entitlement + label: LCWRA - Higher + ordinal: 0 + row_number: 5 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCLCW_ENTITLEMENT:C_UC_LCW_ENTITLEMENT:3 + table_record_kind: total + filters: + limited_capability_for_work_entitlement: LCWRA - Higher + constraints: + - variable: limited_capability_for_work_entitlement + operator: == + value: LCWRA - Higher + label: Universal Credit element + guard_cells: + - column: C + row: 5 + expected_value: July 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with LCWRA entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_lcwra_element + source_concept: dwp.uc_households_with_lcwra_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The publisher value is LCWRA - Higher. During April-December 2025, before two LCWRA rates began + in April 2026, it is the LCWRA entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.lcwra.month2025_08 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.lcwra.month2025_08.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.lcwra.month2025_08 + sheet_name: api_response + period_type: month + period: 2025-08 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.limited_capability_for_work_entitlement + assertion: observation + rows: + - value_id: lcwra_entitlement + label: LCWRA - Higher + ordinal: 0 + row_number: 6 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCLCW_ENTITLEMENT:C_UC_LCW_ENTITLEMENT:3 + table_record_kind: total + filters: + limited_capability_for_work_entitlement: LCWRA - Higher + constraints: + - variable: limited_capability_for_work_entitlement + operator: == + value: LCWRA - Higher + label: Universal Credit element + guard_cells: + - column: C + row: 6 + expected_value: August 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with LCWRA entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_lcwra_element + source_concept: dwp.uc_households_with_lcwra_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The publisher value is LCWRA - Higher. During April-December 2025, before two LCWRA rates began + in April 2026, it is the LCWRA entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.lcwra.month2025_09 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.lcwra.month2025_09.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.lcwra.month2025_09 + sheet_name: api_response + period_type: month + period: 2025-09 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.limited_capability_for_work_entitlement + assertion: observation + rows: + - value_id: lcwra_entitlement + label: LCWRA - Higher + ordinal: 0 + row_number: 7 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCLCW_ENTITLEMENT:C_UC_LCW_ENTITLEMENT:3 + table_record_kind: total + filters: + limited_capability_for_work_entitlement: LCWRA - Higher + constraints: + - variable: limited_capability_for_work_entitlement + operator: == + value: LCWRA - Higher + label: Universal Credit element + guard_cells: + - column: C + row: 7 + expected_value: September 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with LCWRA entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_lcwra_element + source_concept: dwp.uc_households_with_lcwra_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The publisher value is LCWRA - Higher. During April-December 2025, before two LCWRA rates began + in April 2026, it is the LCWRA entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.lcwra.month2025_10 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.lcwra.month2025_10.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.lcwra.month2025_10 + sheet_name: api_response + period_type: month + period: 2025-10 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.limited_capability_for_work_entitlement + assertion: observation + rows: + - value_id: lcwra_entitlement + label: LCWRA - Higher + ordinal: 0 + row_number: 8 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCLCW_ENTITLEMENT:C_UC_LCW_ENTITLEMENT:3 + table_record_kind: total + filters: + limited_capability_for_work_entitlement: LCWRA - Higher + constraints: + - variable: limited_capability_for_work_entitlement + operator: == + value: LCWRA - Higher + label: Universal Credit element + guard_cells: + - column: C + row: 8 + expected_value: October 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with LCWRA entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_lcwra_element + source_concept: dwp.uc_households_with_lcwra_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The publisher value is LCWRA - Higher. During April-December 2025, before two LCWRA rates began + in April 2026, it is the LCWRA entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.lcwra.month2025_11 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.lcwra.month2025_11.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.lcwra.month2025_11 + sheet_name: api_response + period_type: month + period: 2025-11 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.limited_capability_for_work_entitlement + assertion: observation + rows: + - value_id: lcwra_entitlement + label: LCWRA - Higher + ordinal: 0 + row_number: 9 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCLCW_ENTITLEMENT:C_UC_LCW_ENTITLEMENT:3 + table_record_kind: total + filters: + limited_capability_for_work_entitlement: LCWRA - Higher + constraints: + - variable: limited_capability_for_work_entitlement + operator: == + value: LCWRA - Higher + label: Universal Credit element + guard_cells: + - column: C + row: 9 + expected_value: November 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with LCWRA entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_lcwra_element + source_concept: dwp.uc_households_with_lcwra_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The publisher value is LCWRA - Higher. During April-December 2025, before two LCWRA rates began + in April 2026, it is the LCWRA entitlement. + unit: count + aggregation: sum + expected_cell_type: number +- record_set_id: dwp.statx.uc_benefit_units.lcwra.month2025_12 + provenance_class: administrative + record_set_spec_id: dwp.statx.uc_benefit_units.lcwra.month2025_12.v1 + source_record_id_prefix: dwp.statx.uc_benefit_units.lcwra.month2025_12 + sheet_name: api_response + period_type: month + period: 2025-12 + geography_id: K03000001 + geography_level: country + geography_name: Great Britain + geography_vintage: current + entity: benefit_unit + entity_role: universal_credit_unit_of_assessment + domain: universal_credit + groupby_dimension: dwp.limited_capability_for_work_entitlement + assertion: observation + rows: + - value_id: lcwra_entitlement + label: LCWRA - Higher + ordinal: 0 + row_number: 10 + expected_row_header_column: F + expected_row_header: str:value:UC_Households:V_F_UC_HOUSEHOLDS:HCLCW_ENTITLEMENT:C_UC_LCW_ENTITLEMENT:3 + table_record_kind: total + filters: + limited_capability_for_work_entitlement: LCWRA - Higher + constraints: + - variable: limited_capability_for_work_entitlement + operator: == + value: LCWRA - Higher + label: Universal Credit element + guard_cells: + - column: C + row: 10 + expected_value: December 2025 + label: month + measures: + - measure_id: benefit_units + label: UC benefit units with LCWRA entitlement + ordinal: 0 + column: B + source_column_id: value + expected_column_header_row: 1 + expected_column_header: value + concept: dwp.uc_benefit_units_with_lcwra_element + source_concept: dwp.uc_households_with_lcwra_entitlement + concept_relation: source_label + concept_authority: dwp + concept_evidence_url: https://stat-xplore.dwp.gov.uk/ + concept_evidence_notes: DWP defines a Universal Credit household as the benefit unit of assessment. + The publisher value is LCWRA - Higher. During April-December 2025, before two LCWRA rates began + in April 2026, it is the LCWRA entitlement. + unit: count + aggregation: sum + expected_cell_type: number diff --git a/tests/test_chronicle_bundle.py b/tests/test_chronicle_bundle.py index d27d6532..e6ce4768 100644 --- a/tests/test_chronicle_bundle.py +++ b/tests/test_chronicle_bundle.py @@ -73,16 +73,16 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "aggregate_duplicate_key_count": 0, "entity_count": 11, "error_count": 0, - "fact_count": 155504, + "fact_count": 155689, "geography_count": 12536, - "period_count": 151, + "period_count": 191, "semantic_duplicate_key_count": 12, "skipped_source_count": 10, "source_count": 41, - "source_package_count": 130, + "source_package_count": 134, "warning_count": 1, } - assert len(rows) == 155504 + assert len(rows) == 155689 assert {row["provenance_class"] for row in rows} <= { "administrative", "census", @@ -100,7 +100,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): ) assert rows[0]["aggregate_fact_key"].startswith("ledger.aggregate_fact.v2:") assert rows[0]["semantic_fact_key"].startswith("ledger.semantic_fact.v2:") - assert source_packages["source_package_count"] == 130 + assert source_packages["source_package_count"] == 134 assert source_packages["skipped_source_count"] == 10 assert sorted(item["source"] for item in source_packages["skipped_sources"]) == [ "census-acs-s0101-congressional-district-age-2024", @@ -114,7 +114,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "jct-obbba-revenue-estimates-2025", "jct-tax-expenditures-2024", ] - assert coverage["fact_count"] == 155504 + assert coverage["fact_count"] == 155689 assert coverage["counts"]["by_source"] == { "bea": 445, "bfp_economic_outlook": 5, @@ -127,7 +127,7 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "cms_medicare": 1, "cms_nhe": 3, "dft": 81, - "dwp": 6362, + "dwp": 6547, "eurostat": 108, "federal_reserve": 1, "hhs_acf_liheap": 2, @@ -159,7 +159,47 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "welshgov": 198, } table_counts = coverage["counts"]["by_source_table"] - assert len(table_counts) == 125 + assert len(table_counts) == 129 + assert ( + table_counts[ + "dwp:Universal Credit childcare element statistics to August 2025, Table 1" + ] + == 54 + ) + assert ( + table_counts[ + "dwp:Households on Universal Credit with carer entitlement, " + "April to December 2025" + ] + == 9 + ) + assert ( + table_counts[ + "dwp:Households on Universal Credit by number of children, " + "April to December 2025" + ] + == 72 + ) + assert ( + table_counts[ + "dwp:Households on Universal Credit by family type, April to December 2025" + ] + == 45 + ) + assert ( + table_counts[ + "dwp:Households on Universal Credit with housing entitlement, " + "April to December 2025" + ] + == 9 + ) + assert ( + table_counts[ + "dwp:Households on Universal Credit with LCWRA entitlement, " + "April to December 2025" + ] + == 9 + ) assert table_counts["usda_snap:SNAP FY2025 Monthly State Participation"] == 636 assert table_counts["irs_soi:Congressional District Data 2022"] == 26880 assert table_counts["irs_soi:IRS SOI County Data 2022"] == 6286 @@ -409,24 +449,64 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): "fiscal_year:2028": 32, "fiscal_year:2029": 32, "fiscal_year:2030": 28, - "month:2023-01": 1, - "month:2023-12": 6, - "month:2024-01": 1, - "month:2024-10": 106, - "month:2024-11": 106, - "month:2024-12": 376, - "month:2025-01": 108, - "month:2025-02": 106, - "month:2025-03": 228, - "month:2025-04": 95, - "month:2025-05": 6217, - "month:2025-06": 3, - "month:2025-07": 3, - "month:2025-08": 7, - "month:2025-09": 12, - "month:2025-10": 3, - "month:2025-11": 18, - "month:2025-12": 259, + "month:2021-03": 1, + "month:2021-04": 1, + "month:2021-05": 1, + "month:2021-06": 1, + "month:2021-07": 1, + "month:2021-08": 1, + "month:2021-09": 1, + "month:2021-10": 1, + "month:2021-11": 1, + "month:2021-12": 1, + "month:2022-01": 1, + "month:2022-02": 1, + "month:2022-03": 1, + "month:2022-04": 1, + "month:2022-05": 1, + "month:2022-06": 1, + "month:2022-07": 1, + "month:2022-08": 1, + "month:2022-09": 1, + "month:2022-10": 1, + "month:2022-11": 1, + "month:2022-12": 1, + "month:2023-01": 2, + "month:2023-02": 1, + "month:2023-03": 1, + "month:2023-04": 1, + "month:2023-05": 1, + "month:2023-06": 1, + "month:2023-07": 1, + "month:2023-08": 1, + "month:2023-09": 1, + "month:2023-10": 1, + "month:2023-11": 1, + "month:2023-12": 7, + "month:2024-01": 2, + "month:2024-02": 1, + "month:2024-03": 1, + "month:2024-04": 1, + "month:2024-05": 1, + "month:2024-06": 1, + "month:2024-07": 1, + "month:2024-08": 1, + "month:2024-09": 1, + "month:2024-10": 107, + "month:2024-11": 107, + "month:2024-12": 377, + "month:2025-01": 109, + "month:2025-02": 107, + "month:2025-03": 229, + "month:2025-04": 112, + "month:2025-05": 6221, + "month:2025-06": 20, + "month:2025-07": 20, + "month:2025-08": 24, + "month:2025-09": 28, + "month:2025-10": 19, + "month:2025-11": 34, + "month:2025-12": 275, "month:2026-01": 3, "month:2026-02": 7, "month:2026-06": 348, @@ -482,15 +562,15 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): coverage["counts"]["by_geography"]["congressional_district:5001700US0601"] == 56 ) assert coverage["counts"]["by_geography"]["country:K02000001"] == 4262 - assert coverage["counts"]["by_geography"]["country:K03000001"] == 312 + assert coverage["counts"]["by_geography"]["country:K03000001"] == 497 assert len(coverage["counts"]["by_geography"]) == 12536 assert coverage["counts"]["by_entity"] == { - "benefit_unit": 35, + "benefit_unit": 233, "dwelling": 12708, "family": 107, "firm": 1439, "government": 294, - "household": 40448, + "household": 40435, "institutional_sector": 103, "pension_plan": 2, "person": 60272, @@ -508,6 +588,15 @@ def test_build_bundle_writes_merged_consumer_contract(tmp_path): ), } ] + for source in ( + "dwp-uc-childcare-element-march-2021-august-2025", + "dwp-uc-households-carer-entitlement-april-december-2025", + "dwp-uc-households-children-april-december-2025", + "dwp-uc-households-family-type-april-december-2025", + "dwp-uc-households-housing-entitlement-april-december-2025", + "dwp-uc-households-lcwra-entitlement-april-december-2025", + ): + assert (output_dir / "sources" / source / "consumer_facts.jsonl").exists() assert (output_dir / "sources" / "soi-table-1-1" / "consumer_facts.jsonl").exists() assert ( output_dir / "sources" / "soi-table-1-4" / "reports" / "build_summary.json" diff --git a/tests/test_chronicle_source_package.py b/tests/test_chronicle_source_package.py index 99d880bc..c0f6b622 100644 --- a/tests/test_chronicle_source_package.py +++ b/tests/test_chronicle_source_package.py @@ -329,13 +329,117 @@ def test_dwp_uc_deductions_package_preserves_rows_and_derives_uc_units(): if region.record_set_id is not None and region.record_set_id.endswith(".total_units") } - assert derived_regions[ - "dwp.uc_deductions.month2025_04.total_units" - ].right_column == 4 + assert ( + derived_regions["dwp.uc_deductions.month2025_04.total_units"].right_column == 4 + ) + assert validate_consumer_fact_contract(facts).valid + assert len(consumer_fact_rows(facts)) == len(facts) + + +def test_dwp_uc_childcare_element_package_preserves_monthly_publisher_series(): + package = load_source_package("dwp-uc-childcare-element-march-2021-august-2025") + facts = package.build_facts(2025) + values = {fact.period.value: fact.value for fact in facts} + + assert len(facts) == 54 + assert values["2021-03"] == 88_000 + assert values["2024-08"] == 171_000 + assert values["2025-08"] == 160_000 + assert all( + fact.measure.concept == "dwp.uc_benefit_units_with_childcare_element" + for fact in facts + ) + assert all(fact.period.type == "month" for fact in facts) + assert all(fact.entity.name == "benefit_unit" for fact in facts) + assert all(fact.geography.id == "K03000001" for fact in facts) + assert all(fact.assertion == "observation" for fact in facts) + assert all(fact.provenance_class == "administrative" for fact in facts) + # Each fact retains both its monthly value cell and the guarded column header. + assert all(len(fact.source_cell_keys) == 2 for fact in facts) assert validate_consumer_fact_contract(facts).valid assert len(consumer_fact_rows(facts)) == len(facts) +@pytest.mark.parametrize( + ("alias", "concept", "april_value", "december_value"), + [ + ( + "dwp-uc-households-housing-entitlement-april-december-2025", + "dwp.uc_benefit_units_with_housing_element", + 4_097_119, + 4_464_277, + ), + ( + "dwp-uc-households-lcwra-entitlement-april-december-2025", + "dwp.uc_benefit_units_with_lcwra_element", + 2_071_127, + 2_706_904, + ), + ( + "dwp-uc-households-carer-entitlement-april-december-2025", + "dwp.uc_benefit_units_with_carer_element", + 1_081_717, + 1_181_358, + ), + ], +) +def test_dwp_uc_element_packages_emit_one_benefit_unit_fact_per_month( + alias, + concept, + april_value, + december_value, +): + facts = load_source_package(alias).build_facts(2025) + + assert [fact.period.value for fact in facts] == [ + "2025-04", + "2025-05", + "2025-06", + "2025-07", + "2025-08", + "2025-09", + "2025-10", + "2025-11", + "2025-12", + ] + assert all(fact.measure.concept == concept for fact in facts) + assert all(fact.period.type == "month" for fact in facts) + assert all(fact.entity.name == "benefit_unit" for fact in facts) + assert all(fact.geography.id == "K03000001" for fact in facts) + assert all(fact.assertion == "observation" for fact in facts) + assert all(fact.provenance_class == "administrative" for fact in facts) + assert all(fact.source_row_keys for fact in facts) + assert facts[0].value == april_value + assert facts[-1].value == december_value + assert validate_consumer_fact_contract(facts).valid + + +@pytest.mark.parametrize( + ("alias", "facts_per_month"), + [ + ("dwp-uc-households-family-type-april-december-2025", 5), + ("dwp-uc-households-children-april-december-2025", 8), + ], +) +def test_dwp_uc_composition_packages_cover_the_caseload_months( + alias, + facts_per_month, +): + facts = load_source_package(alias).build_facts(2025) + periods = [f"2025-{month:02d}" for month in range(4, 13)] + + assert len(facts) == facts_per_month * len(periods) + assert {fact.period.value for fact in facts} == set(periods) + assert all(fact.measure.concept == "dwp.uc_benefit_units" for fact in facts) + assert all(fact.period.type == "month" for fact in facts) + assert all(fact.entity.name == "benefit_unit" for fact in facts) + assert all(fact.geography.id == "K03000001" for fact in facts) + assert all(fact.assertion == "observation" for fact in facts) + assert all(fact.provenance_class == "administrative" for fact in facts) + assert all(fact.source_row_keys for fact in facts) + assert validate_consumer_fact_contract(facts).valid + + def test_source_package_alias_compiles_soi_table_1_1_specs(): package = load_source_package("soi-table-1-1") record_set = package.build_source_record_set_specs(2023)[0] @@ -2771,7 +2875,8 @@ def test_soi_county_production_package_builds_exportable_county_facts(): assert {fact.geography.vintage for fact in facts} == {"2022"} assert not any( fact.geography.id.startswith("0500000US09") - and fact.geography.id not in { + and fact.geography.id + not in { f"0500000US09{code}" for code in ("110", "120", "130", "140", "150", "160", "170", "180", "190") } @@ -2781,7 +2886,8 @@ def test_soi_county_production_package_builds_exportable_county_facts(): contract = validate_consumer_fact_contract(facts) assert contract.valid assert all( - fact.source.raw_r2_uri and fact.source.raw_r2_uri.startswith( + fact.source.raw_r2_uri + and fact.source.raw_r2_uri.startswith( "r2://ledger-raw/raw/irs_soi/soi-county-2022/2022/" ) for fact in facts @@ -2806,12 +2912,10 @@ def test_census_pep_county_production_package_builds_exportable_facts(): assert {fact.source.source_name for fact in facts} == {"census_pep"} autauga = values_by_record[ - "census_pep.vintage2024.county_population." - "county_01001.resident_population" + "census_pep.vintage2024.county_population.county_01001.resident_population" ] dc = values_by_record[ - "census_pep.vintage2024.county_population." - "county_11001.resident_population" + "census_pep.vintage2024.county_population.county_11001.resident_population" ] assert autauga.value == 61_464 @@ -2868,33 +2972,29 @@ def test_usda_snap_fy2025_monthly_package_builds_state_caseload_facts(): "2025-02", "2025-03", } - assert { - fact.measure.concept for fact in facts - } == { + assert {fact.measure.concept for fact in facts} == { "usda_snap.monthly_participating_households", "usda_snap.monthly_participating_persons", } for period in {fact.period.value for fact in facts}: for entity in ("household", "person"): - assert sum( - fact.period.value == period and fact.entity.name == entity - for fact in facts - ) == 53 + assert ( + sum( + fact.period.value == period and fact.entity.name == entity + for fact in facts + ) + == 53 + ) geography_ids = {fact.geography.id for fact in facts} assert {"0400000US11", "0400000US66", "0400000US78"} <= geography_ids - assert {"0400000US60", "0400000US69", "0400000US72"}.isdisjoint( - geography_ids - ) + assert {"0400000US60", "0400000US69", "0400000US72"}.isdisjoint(geography_ids) ca_households = ( - "usda_snap.month2024_10.state_households.wro." - "ca.participating_households" - ) - tx_persons = ( - "usda_snap.month2025_03.state_persons.swro.tx.participating_persons" + "usda_snap.month2024_10.state_households.wro.ca.participating_households" ) + tx_persons = "usda_snap.month2025_03.state_persons.swro.tx.participating_persons" assert records_by_id[ca_households].source_cell_addresses == ( "B39", "B7", @@ -3544,12 +3644,10 @@ def test_obr_efo_economy_package_builds_cell_faithful_macro_facts(): assert len(facts) == 36 nominal_gdp_2024 = values_by_record[ - "obr.efo_2026_03.economy.nominal_gdp_nsa.cy2024." - "nominal_gdp_nsa.nominal_gdp_nsa" + "obr.efo_2026_03.economy.nominal_gdp_nsa.cy2024.nominal_gdp_nsa.nominal_gdp_nsa" ] cpi_2025 = values_by_record[ - "obr.efo_2026_03.economy.cpi_inflation.cy2025." - "cpi_inflation.cpi_inflation" + "obr.efo_2026_03.economy.cpi_inflation.cy2025.cpi_inflation.cpi_inflation" ] bank_rate_2029 = values_by_record[ "obr.efo_2026_03.economy.bank_rate.cy2029.bank_rate.bank_rate"