policyengine-uk 2.37.0__py3-none-any.whl → 2.38.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,28 @@
1
+ from policyengine_core.parameters import Parameter, ParameterNode
2
+
3
+
4
+ def add_lagged_earnings(
5
+ parameters: ParameterNode,
6
+ ) -> ParameterNode:
7
+ """
8
+ Add lagged average earnings to the economic assumptions.
9
+ """
10
+ obr = parameters.gov.economic_assumptions.yoy_growth.obr
11
+ earnings = obr.average_earnings
12
+
13
+ lagged_earnings = Parameter(
14
+ "gov.economic_assumptions.yoy_growth.lagged_average_earnings",
15
+ data={
16
+ "values": {
17
+ f"{year}-01-01": earnings(year - 1)
18
+ for year in range(2022, 2030)
19
+ },
20
+ },
21
+ )
22
+
23
+ obr.add_child(
24
+ "lagged_average_earnings",
25
+ lagged_earnings,
26
+ )
27
+
28
+ return parameters
@@ -111,23 +111,52 @@ obr:
111
111
  href: https://obr.uk/efo/economic-and-fiscal-outlook-march-2025/
112
112
 
113
113
  council_tax:
114
- description: Council tax year-on-year growth.
115
- values:
116
- 2021-01-01: 0.078
117
- 2022-01-01: 0.053
118
- 2023-01-01: 0.056
119
- 2024-01-01: 0.064
120
- 2025-01-01: 0.046
121
- 2026-01-01: 0.045
122
- 2027-01-01: 0.046
123
- 2028-01-01: 0.045
124
- 2029-01-01: 0.045
125
- metadata:
126
- unit: /1
127
- label: council tax growth
128
- reference:
114
+ england:
115
+ description: Growth in the level (adjusted for household growth) of council tax receipts in England.
116
+ values:
117
+ 2023-01-01: 0.051
118
+ 2024-01-01: 0.051
119
+ 2025-01-01: 0.043
120
+ 2026-01-01: 0.043
121
+ 2027-01-01: 0.043
122
+ 2028-01-01: 0.043
123
+ 2029-01-01: 0.043
124
+ metadata:
125
+ unit: /1
126
+ reference:
129
127
  - title: OBR EFO March 2025
130
128
  href: https://obr.uk/efo/economic-and-fiscal-outlook-march-2025/
129
+ scotland:
130
+ description: Growth in the level (adjusted for household growth) of council tax receipts in Scotland.
131
+ values:
132
+ 2023-01-01: 0.026
133
+ 2024-01-01: 0.027
134
+ 2025-01-01: 0.027
135
+ 2026-01-01: 0.027
136
+ 2027-01-01: 0.027
137
+ 2028-01-01: 0.027
138
+ 2029-01-01: 0.027
139
+ metadata:
140
+ unit: /1
141
+ reference:
142
+ - title: OBR EFO March 2025
143
+ href: https://obr.uk/efo/economic-and-fiscal-outlook-march-2025/
144
+ wales:
145
+ description: Growth in the level (adjusted for household growth) of council tax receipts in Wales.
146
+ values:
147
+ 2023-01-01: 0.038
148
+ 2024-01-01: 0.041
149
+ 2025-01-01: 0.041
150
+ 2026-01-01: 0.041
151
+ 2027-01-01: 0.041
152
+ 2028-01-01: 0.041
153
+ 2029-01-01: 0.041
154
+ metadata:
155
+ unit: /1
156
+ reference:
157
+ - title: OBR EFO March 2025
158
+ href: https://obr.uk/efo/economic-and-fiscal-outlook-march-2025/
159
+
131
160
 
132
161
  per_capita:
133
162
  gdp:
@@ -225,21 +254,20 @@ obr:
225
254
  - title: OBR EFO March 2025
226
255
  href: https://obr.uk/efo/economic-and-fiscal-outlook-march-2025/
227
256
 
228
- rent:
229
- description: Rent year-on-year growth.
257
+ social_rent:
258
+ description: Rent year-on-year growth (CPI+1%, one year lagged).
230
259
  values:
231
- 2021-01-01: 0.018
232
- 2022-01-01: 0.04
233
- 2023-01-01: 0.063
234
- 2024-01-01: 0.074
235
- 2025-01-01: 0.057
236
- 2026-01-01: 0.036
237
- 2027-01-01: 0.027
238
- 2028-01-01: 0.023
239
- 2029-01-01: 0.024
260
+ 2022-01-01: 0.050
261
+ 2023-01-01: 0.110
262
+ 2024-01-01: 0.067
263
+ 2025-01-01: 0.033
264
+ 2026-01-01: 0.042
265
+ 2027-01-01: 0.029
266
+ 2028-01-01: 0.030
267
+ 2029-01-01: 0.030
240
268
  metadata:
241
269
  unit: /1
242
- label: rent growth
270
+ label: social rent growth
243
271
  reference:
244
272
  - title: OBR EFO March 2025
245
273
  href: https://obr.uk/efo/economic-and-fiscal-outlook-march-2025/
policyengine_uk/system.py CHANGED
@@ -17,6 +17,9 @@ from policyengine_uk.utils.parameters import (
17
17
  from policyengine_uk.parameters.gov.economic_assumptions.create_economic_assumption_indices import (
18
18
  create_economic_assumption_indices,
19
19
  )
20
+ from policyengine_uk.parameters.gov.economic_assumptions.lag_average_earnings import (
21
+ add_lagged_earnings,
22
+ )
20
23
  from policyengine_core.reforms import Reform
21
24
  from policyengine_uk.reforms import create_structural_reforms_from_parameters
22
25
 
@@ -61,6 +64,7 @@ class CountryTaxBenefitSystem(TaxBenefitSystem):
61
64
  if reform:
62
65
  self.apply_reform_set(reform)
63
66
  self.parameters = add_private_pension_uprating_factor(self.parameters)
67
+ self.parameters = add_lagged_earnings(self.parameters)
64
68
  self.parameters = add_triple_lock(self.parameters)
65
69
  self.parameters = create_economic_assumption_indices(self.parameters)
66
70
  self.parameters.add_child("baseline", self.parameters.clone())
@@ -5,8 +5,8 @@ class benunit_rent(Variable):
5
5
  value_type = float
6
6
  entity = BenUnit
7
7
  label = "Rent"
8
- documentation = "Gross rent that members of this family are liable for"
8
+ documentation = "Gross rent that members of this family are liable for (social housing only)"
9
9
  definition_period = YEAR
10
10
  unit = GBP
11
-
11
+ uprating = "gov.economic_assumptions.indices.obr.social_rent"
12
12
  adds = ["personal_rent"]
@@ -9,4 +9,38 @@ class council_tax(Variable):
9
9
  definition_period = YEAR
10
10
  unit = GBP
11
11
  quantity_type = FLOW
12
- uprating = "gov.economic_assumptions.indices.obr.council_tax"
12
+
13
+ def formula(household, period, parameters):
14
+ if period.start.year < 2023:
15
+ # We don't have growth rates for council tax by nation before this.
16
+ return 0
17
+
18
+ if household.simulation.dataset is None:
19
+ return 0
20
+
21
+ data_year = household.simulation.dataset.time_period
22
+
23
+ original_ct = household("council_tax", data_year)
24
+
25
+ ct = parameters.gov.economic_assumptions.indices.obr.council_tax
26
+
27
+ def get_growth(country):
28
+ param = getattr(ct, country)
29
+ return param(period.start.year) / param(data_year)
30
+
31
+ country = household("country", period).decode_to_str()
32
+
33
+ return select(
34
+ [
35
+ country == "ENGLAND",
36
+ country == "WALES",
37
+ country == "SCOTLAND",
38
+ True,
39
+ ],
40
+ [
41
+ original_ct * get_growth("england"),
42
+ original_ct * get_growth("wales"),
43
+ original_ct * get_growth("scotland"),
44
+ original_ct,
45
+ ],
46
+ )
@@ -8,3 +8,4 @@ class housing_service_charges(Variable):
8
8
  documentation = "Total amount spent on housing service charges"
9
9
  definition_period = YEAR
10
10
  unit = GBP
11
+ uprating = "gov.economic_assumptions.indices.obr.lagged_average_earnings"
@@ -11,4 +11,43 @@ class rent(Variable):
11
11
  value_type = float
12
12
  unit = GBP
13
13
  quantity_type = FLOW
14
- uprating = "gov.economic_assumptions.indices.obr.rent"
14
+
15
+ def formula(household, period, parameters):
16
+ if period.start.year < 2023:
17
+ # We don't have growth rates for rent before this.
18
+ return 0
19
+
20
+ if household.simulation.dataset is None:
21
+ return 0
22
+
23
+ data_year = household.simulation.dataset.time_period
24
+ original_rent = household("rent", data_year)
25
+ tenure_type = household("tenure_type", period).decode_to_str()
26
+
27
+ is_social_rent = (tenure_type == "RENT_FROM_COUNCIL") | (
28
+ tenure_type == "RENT_FROM_HA"
29
+ )
30
+
31
+ is_private_rent = tenure_type == "RENT_PRIVATELY"
32
+
33
+ obr = parameters.gov.economic_assumptions.indices.obr
34
+
35
+ private_rent_uprating = obr.lagged_average_earnings(
36
+ period
37
+ ) / obr.lagged_average_earnings(data_year)
38
+ social_rent_uprating = obr.social_rent(period) / obr.social_rent(
39
+ data_year
40
+ )
41
+
42
+ return select(
43
+ [
44
+ is_social_rent,
45
+ is_private_rent,
46
+ True,
47
+ ],
48
+ [
49
+ original_rent * social_rent_uprating,
50
+ original_rent * private_rent_uprating,
51
+ original_rent,
52
+ ],
53
+ )
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.38.0] - 2025-07-14 14:10:31
9
+
10
+ ### Fixed
11
+
12
+ - Uprating for rent split by private and social rented sectors.
13
+
8
14
  ## [2.37.0] - 2025-07-14 10:36:08
9
15
 
10
16
  ### Added
@@ -1924,6 +1930,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1924
1930
 
1925
1931
 
1926
1932
 
1933
+ [2.38.0]: https://github.com/PolicyEngine/openfisca-uk/compare/2.37.0...2.38.0
1927
1934
  [2.37.0]: https://github.com/PolicyEngine/openfisca-uk/compare/2.36.1...2.37.0
1928
1935
  [2.36.1]: https://github.com/PolicyEngine/openfisca-uk/compare/2.36.0...2.36.1
1929
1936
  [2.36.0]: https://github.com/PolicyEngine/openfisca-uk/compare/2.35.1...2.36.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: policyengine-uk
3
- Version: 2.37.0
3
+ Version: 2.38.0
4
4
  Summary: PolicyEngine tax and benefit system for the UK
5
5
  Project-URL: Homepage, https://github.com/PolicyEngine/policyengine-uk
6
6
  Project-URL: Repository, https://github.com/PolicyEngine/policyengine-uk
@@ -3,7 +3,7 @@ policyengine_uk/entities.py,sha256=9yUbkUWQr3WydNE-gHhUudG97HGyXIZY3dkgQ6Z3t9A,1
3
3
  policyengine_uk/model_api.py,sha256=D5OuQpQbdBXiF6r7LvCLWjsTkAWtkeBJWz2ebsJ-GN0,189
4
4
  policyengine_uk/modelled_policies.yaml,sha256=TLhvmkuI9ip-Fjq63n66RzDErCkN8K4BzY6XLxLMtFg,463
5
5
  policyengine_uk/repo.py,sha256=-dqpIMUD7UUj94ql9XwaMrFJUYKvNhFQ_9uj83Z8uh0,55
6
- policyengine_uk/system.py,sha256=A17rqR23iIMdvskuucahMvGZnMxwzuTYqGiFGKRu9kE,8613
6
+ policyengine_uk/system.py,sha256=jGA_Ft_puEMK0agRSHgJE_ATsJTS1ZbstwCiNioJjnM,8790
7
7
  policyengine_uk/data/__init__.py,sha256=9o7hH2qcHChfwDYq8Oqf2jE3b5WDS3TXJm3bf9VC4Ks,58
8
8
  policyengine_uk/data/dataset_schema.py,sha256=kZuDKeBFBmK2B8MKWSAmDhHsTkzOY_WM5FnKcT8G4rA,3942
9
9
  policyengine_uk/data/economic_assumptions.py,sha256=heEro-NYCszFzW-TJ3Vt3DUUrpDkysOpyvZVymJN3-8,5722
@@ -311,7 +311,8 @@ policyengine_uk/parameters/gov/dwp/winter_fuel_payment/eligibility/state_pension
311
311
  policyengine_uk/parameters/gov/dwp/winter_fuel_payment/eligibility/taxable_income_test/maximum_taxable_income.yaml,sha256=gLj2M2zoCMPuZ-0UgNSf-FTA5I4CCXhxBsd3qVro7Ck,260
312
312
  policyengine_uk/parameters/gov/dwp/winter_fuel_payment/eligibility/taxable_income_test/use_maximum_taxable_income.yaml,sha256=pHldHvNHeGhG0mcn7LvjYA3b-q_AxrAxm5bu-mkTn1A,261
313
313
  policyengine_uk/parameters/gov/economic_assumptions/create_economic_assumption_indices.py,sha256=Z4dYghSit5gXo4V3wBpnLIc9zgTX4cfEyb_TUlJkTGY,1937
314
- policyengine_uk/parameters/gov/economic_assumptions/yoy_growth.yaml,sha256=D4EiVeOtPiFdNAeLos8nxMLwPk0avInFtr2g5XtSl4s,7428
314
+ policyengine_uk/parameters/gov/economic_assumptions/lag_average_earnings.py,sha256=ksHcyUQkLAJmKizCeSg8j0hzPc7ajgIvbExWLgCra4U,701
315
+ policyengine_uk/parameters/gov/economic_assumptions/yoy_growth.yaml,sha256=Vdd8sJJ29wjq0kin1cdy6fglwDTJ1bBXusVIuH0tpC0,8414
315
316
  policyengine_uk/parameters/gov/hmrc/README.md,sha256=nkHVZl6lsjI93sR8uC7wAbul3_61wJrsP08iaW8f5lk,7
316
317
  policyengine_uk/parameters/gov/hmrc/minimum_wage.yaml,sha256=1oMbevU0ESHR51mcAG39POd1DA1FgPUep4hL6ojj-P4,2049
317
318
  policyengine_uk/parameters/gov/hmrc/business_rates/README.md,sha256=9ud50i_gMjGj6VymF-nzFDTzkFRMMJx6ybpLwbWzvpI,17
@@ -1117,7 +1118,7 @@ policyengine_uk/variables/household/marginal_tax_rate.py,sha256=hK41cSc9i4QAnGBL
1117
1118
  policyengine_uk/variables/household/region.py,sha256=swhjOMUg_crfDi4oEcJY7GoaiNQXfMsyDnJPAmMjp5U,456
1118
1119
  policyengine_uk/variables/household/benefits/employment_benefits.py,sha256=Q3vdJv6MOTv4pIQkyOYhrfyztKV7t6kEAqIYssUNZw8,262
1119
1120
  policyengine_uk/variables/household/consumption/additional_residential_property_purchased.py,sha256=lUd5VjLB2jysui8RuLEJCC4C4Yx0zDXlpybLUEUHuiU,742
1120
- policyengine_uk/variables/household/consumption/benunit_rent.py,sha256=n2pqRQXbRVtlrBgiob_5af8wDMdHNKZ_GpY50BW7AFU,285
1121
+ policyengine_uk/variables/household/consumption/benunit_rent.py,sha256=YuWfSkLsco5g0vneC40CtVJyPOZ1YRNMO5U2iHEwHSA,372
1121
1122
  policyengine_uk/variables/household/consumption/carbon.py,sha256=OxxPoXG79fqWUG6y_PXHk45ysVzyr5wyzhA9i97y1eo,2018
1122
1123
  policyengine_uk/variables/household/consumption/consumption_share.py,sha256=GK3HLuo6AihlGAetozl51P1SbibQZmRff-r_mqZPzqI,646
1123
1124
  policyengine_uk/variables/household/consumption/council_tax_less_benefit.py,sha256=2yK564495I83xnM_2BTQ3qSietxc3CC2kO_KY6vrm4I,590
@@ -1324,7 +1325,7 @@ policyengine_uk/variables/input/pip_m_category.py,sha256=UfgnVrg5p5bR5n1jdcJb8qo
1324
1325
  policyengine_uk/variables/input/private_pension_income.py,sha256=nquIdGsghUZtXY8nWCJM6qsd9zg9jCsuwiXPf3khYQk,473
1325
1326
  policyengine_uk/variables/input/private_transfer_income.py,sha256=gS8QXT__YKCHAqQWrupujXTre-INgJftup4Y_IpZIqw,329
1326
1327
  policyengine_uk/variables/input/property_income.py,sha256=o0JeFu77h9N8LWjlLDw55c8fRBrdcY5lWW_w0tGgnNA,413
1327
- policyengine_uk/variables/input/rent.py,sha256=fc5u7vBV5wailiU23pF19lPkcDsTJqwBF9Td6c03R48,355
1328
+ policyengine_uk/variables/input/rent.py,sha256=fUEjF0qkDfvniAPaT6FgoWlEVgH3fmIZuWcZlrYjVIQ,1521
1328
1329
  policyengine_uk/variables/input/savings_interest_income.py,sha256=B8AXrGGPl4MI9nvBaOKI-QYdm35qwNSVQxtpNWEosHA,448
1329
1330
  policyengine_uk/variables/input/self_employment_income.py,sha256=66eqP3jk3czOpmxA6wQOtsWM0Ll9lU2cw4_kuc7SgUA,492
1330
1331
  policyengine_uk/variables/input/state_pension.py,sha256=o4LrBumOYadV-lZ6NC5-3lvafkLVJ_RNKjTrclQA0N4,957
@@ -1348,12 +1349,12 @@ policyengine_uk/variables/input/consumption/recreation_consumption.py,sha256=47I
1348
1349
  policyengine_uk/variables/input/consumption/restaurants_and_hotels_consumption.py,sha256=plke30Xdy_zFvjqkXOhWtVdYqE8NfwMKnWaOD5n4IdM,464
1349
1350
  policyengine_uk/variables/input/consumption/transport_consumption.py,sha256=5JfmRMpap6GOGZwl0PIRyUJvDaZrQyelEUE9z61GAfI,425
1350
1351
  policyengine_uk/variables/input/consumption/property/README.md,sha256=IP9_pLLNXMHRMS5sEjRRqsM1nQMffQC2PJII-z-I6wI,11
1351
- policyengine_uk/variables/input/consumption/property/council_tax.py,sha256=FrnYs0JqGW4EABFVf-keuJ1SHZ17QxKk7P0R9AKPlmI,357
1352
+ policyengine_uk/variables/input/consumption/property/council_tax.py,sha256=sGrFXHO9JWqlzChroCoZbQKnd2vhfysRVmeJxwg0zys,1360
1352
1353
  policyengine_uk/variables/input/consumption/property/cumulative_non_residential_rent.py,sha256=rhqlRphsTMSx2Xij-B9RjSZeuLTjAyt3sx2VK66Nkf8,338
1353
1354
  policyengine_uk/variables/input/consumption/property/cumulative_residential_rent.py,sha256=KMbISuubgfGaH34kJDe_tfOsKzVUHSJneDhyd-fLeI4,326
1354
1355
  policyengine_uk/variables/input/consumption/property/employee_pension_contributions.py,sha256=J8Ead71hjCZ0vktrl9MbMMgsPCWsdPWSTbVPsVYkgcU,293
1355
1356
  policyengine_uk/variables/input/consumption/property/employer_pension_contributions.py,sha256=tnhLfxtpBPaKnrOPBxGh_ZEYbnktPoauJe2yiTc1iro,368
1356
- policyengine_uk/variables/input/consumption/property/housing_service_charges.py,sha256=SlAA7a5rxn1sgSpbSYSkmBv2ayaIstQDDz2Lc-DtazY,279
1357
+ policyengine_uk/variables/input/consumption/property/housing_service_charges.py,sha256=HNpFGk4AUGy6AbLdookVPOCgu67jv59KzWDFOkANCX4,357
1357
1358
  policyengine_uk/variables/input/consumption/property/maintenance_expenses.py,sha256=AlOm8_QM08uQfiyE8TAdLKWNRS6eOinnySwCcmD0iaI,277
1358
1359
  policyengine_uk/variables/input/consumption/property/mortgage_capital_repayment.py,sha256=LN_9rWK7k0LfxJy1nTSCizT-xOVn2YiufQHqJdG0rfU,287
1359
1360
  policyengine_uk/variables/input/consumption/property/mortgage_interest_repayment.py,sha256=v13s6wjO--fZmyRLFwQqeHrbYjTObjVTdV04E1S5sn0,365
@@ -1366,10 +1367,10 @@ policyengine_uk/variables/misc/spi_imputed.py,sha256=iPVlBF_TisM0rtKvO-3-PQ2UYCe
1366
1367
  policyengine_uk/variables/misc/uc_migrated.py,sha256=zFNcUJaO8gwmbL1iY9GKgUt3G6J9yrCraqBV_5dCvlM,306
1367
1368
  policyengine_uk/variables/misc/categories/lower_middle_or_higher.py,sha256=C54tHYz2DmOyvQYCC1bF8RJwRZinhAq_e3aYC-9F5fM,157
1368
1369
  policyengine_uk/variables/misc/categories/lower_or_higher.py,sha256=81NIbLLabRr9NwjpUZDuV8IV8_mqmp5NM-CZvt55TwE,129
1369
- policyengine_uk-2.37.0.data/data/share/openfisca/openfisca-country-template/CHANGELOG.md,sha256=VOafV5TKivt1vJtRfwzFfcUyOXUEg-dp1EvX18Ginzo,55537
1370
- policyengine_uk-2.37.0.data/data/share/openfisca/openfisca-country-template/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
1371
- policyengine_uk-2.37.0.data/data/share/openfisca/openfisca-country-template/README.md,sha256=PCy7LRLdUDQS8U4PaeHeBVnyBZAqHv1dAVDDvEcom20,1976
1372
- policyengine_uk-2.37.0.dist-info/METADATA,sha256=GxvMvy3vZ-l2lIE_NfS7pUI_Uh6qplY3rEeT33veAIk,3453
1373
- policyengine_uk-2.37.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1374
- policyengine_uk-2.37.0.dist-info/licenses/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
1375
- policyengine_uk-2.37.0.dist-info/RECORD,,
1370
+ policyengine_uk-2.38.0.data/data/share/openfisca/openfisca-country-template/CHANGELOG.md,sha256=5iyLIVZACmG7qGZ1Ir_WotK1Pu8eH58K0tQhjOCkGwk,55727
1371
+ policyengine_uk-2.38.0.data/data/share/openfisca/openfisca-country-template/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
1372
+ policyengine_uk-2.38.0.data/data/share/openfisca/openfisca-country-template/README.md,sha256=PCy7LRLdUDQS8U4PaeHeBVnyBZAqHv1dAVDDvEcom20,1976
1373
+ policyengine_uk-2.38.0.dist-info/METADATA,sha256=eKxI3tA1M8p48GmnVs4eeAYvZbqjjFq_nBzY2xzAWyQ,3453
1374
+ policyengine_uk-2.38.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1375
+ policyengine_uk-2.38.0.dist-info/licenses/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
1376
+ policyengine_uk-2.38.0.dist-info/RECORD,,