Update features
This commit is contained in:
parent
5198f32f2e
commit
004948385d
1 changed files with 24 additions and 169 deletions
|
|
@ -54,6 +54,9 @@ pub const IGNORED_COLUMNS: &[&str] = &[
|
||||||
"Postcode",
|
"Postcode",
|
||||||
"historical_prices",
|
"historical_prices",
|
||||||
"Is construction date approximate",
|
"Is construction date approximate",
|
||||||
|
"Previous transaction date",
|
||||||
|
"Current energy rating",
|
||||||
|
"Potential energy rating",
|
||||||
];
|
];
|
||||||
|
|
||||||
pub static FEATURE_GROUPS: &[FeatureGroup] = &[
|
pub static FEATURE_GROUPS: &[FeatureGroup] = &[
|
||||||
|
|
@ -105,7 +108,7 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
|
||||||
source: "epc",
|
source: "epc",
|
||||||
},
|
},
|
||||||
FeatureConfig {
|
FeatureConfig {
|
||||||
name: "Approximate construction age",
|
name: "Construction age",
|
||||||
bounds: Bounds::Fixed {
|
bounds: Bounds::Fixed {
|
||||||
min: 0.0,
|
min: 0.0,
|
||||||
max: 2026.0,
|
max: 2026.0,
|
||||||
|
|
@ -121,36 +124,47 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
|
||||||
name: "Transport",
|
name: "Transport",
|
||||||
features: &[
|
features: &[
|
||||||
FeatureConfig {
|
FeatureConfig {
|
||||||
name: "public_transport_easy_minutes",
|
name: "Public transport to Bank (mins)",
|
||||||
bounds: Bounds::Fixed {
|
bounds: Bounds::Fixed {
|
||||||
min: 0.0,
|
min: 0.0,
|
||||||
max: 180.0,
|
max: 180.0,
|
||||||
},
|
},
|
||||||
step: 2.0,
|
step: 2.0,
|
||||||
description: "Quickest public transport journey to central London (easy route)",
|
description: "Public transport journey time to Bank station",
|
||||||
detail: "Journey time in minutes by public transport to central London destinations, using TfL's Journey Planner API. The 'easy' route minimises changes and walking. Calculated for weekday morning commute times.",
|
detail: "Journey time in minutes by public transport to Bank station in the City of London, using TfL's Journey Planner API. Calculated for weekday morning commute times.",
|
||||||
source: "tfl-journey-times",
|
source: "tfl-journey-times",
|
||||||
},
|
},
|
||||||
FeatureConfig {
|
FeatureConfig {
|
||||||
name: "public_transport_quick_minutes",
|
name: "Public transport to Fitzrovia (mins)",
|
||||||
bounds: Bounds::Fixed {
|
bounds: Bounds::Fixed {
|
||||||
min: 0.0,
|
min: 0.0,
|
||||||
max: 180.0,
|
max: 180.0,
|
||||||
},
|
},
|
||||||
step: 2.0,
|
step: 2.0,
|
||||||
description: "Fastest public transport journey to central London",
|
description: "Public transport journey time to Fitzrovia",
|
||||||
detail: "Journey time in minutes by public transport to central London destinations, using TfL's Journey Planner API. The 'quick' route optimises for shortest total time regardless of changes. Calculated for weekday morning commute times.",
|
detail: "Journey time in minutes by public transport to Fitzrovia in central London, using TfL's Journey Planner API. Calculated for weekday morning commute times.",
|
||||||
source: "tfl-journey-times",
|
source: "tfl-journey-times",
|
||||||
},
|
},
|
||||||
FeatureConfig {
|
FeatureConfig {
|
||||||
name: "cycling_minutes",
|
name: "Cycling to Bank (mins)",
|
||||||
bounds: Bounds::Fixed {
|
bounds: Bounds::Fixed {
|
||||||
min: 0.0,
|
min: 0.0,
|
||||||
max: 180.0,
|
max: 180.0,
|
||||||
},
|
},
|
||||||
step: 1.0,
|
step: 1.0,
|
||||||
description: "Cycling time to central London via TfL routing",
|
description: "Cycling time to Bank station",
|
||||||
detail: "Cycling journey time in minutes to central London destinations, as calculated by the TfL Journey Planner API. Uses TfL's default cycling speed and route preferences.",
|
detail: "Cycling journey time in minutes to Bank station, as calculated by the TfL Journey Planner API. Uses TfL's default cycling speed and route preferences.",
|
||||||
|
source: "tfl-journey-times",
|
||||||
|
},
|
||||||
|
FeatureConfig {
|
||||||
|
name: "Cycling to Fitzrovia (mins)",
|
||||||
|
bounds: Bounds::Fixed {
|
||||||
|
min: 0.0,
|
||||||
|
max: 180.0,
|
||||||
|
},
|
||||||
|
step: 1.0,
|
||||||
|
description: "Cycling time to Fitzrovia",
|
||||||
|
detail: "Cycling journey time in minutes to Fitzrovia, as calculated by the TfL Journey Planner API. Uses TfL's default cycling speed and route preferences.",
|
||||||
source: "tfl-journey-times",
|
source: "tfl-journey-times",
|
||||||
},
|
},
|
||||||
FeatureConfig {
|
FeatureConfig {
|
||||||
|
|
@ -207,17 +221,6 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
|
||||||
FeatureGroup {
|
FeatureGroup {
|
||||||
name: "Deprivation",
|
name: "Deprivation",
|
||||||
features: &[
|
features: &[
|
||||||
FeatureConfig {
|
|
||||||
name: "Index of Multiple Deprivation (IMD) Score",
|
|
||||||
bounds: Bounds::Percentile {
|
|
||||||
low: 2.0,
|
|
||||||
high: 98.0,
|
|
||||||
},
|
|
||||||
step: 0.1,
|
|
||||||
description: "Overall deprivation score combining all domains",
|
|
||||||
detail: "The Index of Multiple Deprivation is the official measure of relative deprivation in England. It combines seven weighted domains: Income (22.5%), Employment (22.5%), Education (13.5%), Health (13.5%), Crime (9.3%), Barriers to Housing & Services (9.3%), and Living Environment (9.3%). Higher scores indicate greater deprivation. Measured at LSOA level (~1,500 people).",
|
|
||||||
source: "iod",
|
|
||||||
},
|
|
||||||
FeatureConfig {
|
FeatureConfig {
|
||||||
name: "Income Score (rate)",
|
name: "Income Score (rate)",
|
||||||
bounds: Bounds::Fixed { min: 0.0, max: 0.6 },
|
bounds: Bounds::Fixed { min: 0.0, max: 0.6 },
|
||||||
|
|
@ -245,17 +248,6 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
|
||||||
detail: "From the English Indices of Deprivation. Measures the risk of premature death and impairment of quality of life through poor physical or mental health. Derived from years of potential life lost, comparative illness and disability ratio, acute morbidity, and mood and anxiety disorders.",
|
detail: "From the English Indices of Deprivation. Measures the risk of premature death and impairment of quality of life through poor physical or mental health. Derived from years of potential life lost, comparative illness and disability ratio, acute morbidity, and mood and anxiety disorders.",
|
||||||
source: "iod",
|
source: "iod",
|
||||||
},
|
},
|
||||||
FeatureConfig {
|
|
||||||
name: "Crime Score",
|
|
||||||
bounds: Bounds::Percentile {
|
|
||||||
low: 2.0,
|
|
||||||
high: 98.0,
|
|
||||||
},
|
|
||||||
step: 0.1,
|
|
||||||
description: "IoD crime deprivation score measuring personal risk",
|
|
||||||
detail: "From the English Indices of Deprivation. Measures the risk of personal and material victimisation at local level. Derived from recorded rates of violence, burglary, theft, and criminal damage. Higher scores indicate higher crime-related deprivation.",
|
|
||||||
source: "iod",
|
|
||||||
},
|
|
||||||
FeatureConfig {
|
FeatureConfig {
|
||||||
name: "Living Environment Score",
|
name: "Living Environment Score",
|
||||||
bounds: Bounds::Percentile {
|
bounds: Bounds::Percentile {
|
||||||
|
|
@ -597,110 +589,6 @@ pub static FEATURE_GROUPS: &[FeatureGroup] = &[
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
FeatureGroup {
|
|
||||||
name: "Council Tax",
|
|
||||||
features: &[
|
|
||||||
FeatureConfig {
|
|
||||||
name: "Council tax (£/yr)",
|
|
||||||
bounds: Bounds::Percentile {
|
|
||||||
low: 2.0,
|
|
||||||
high: 98.0,
|
|
||||||
},
|
|
||||||
step: 10.0,
|
|
||||||
description: "Exact annual council tax based on the property's actual band",
|
|
||||||
detail: "Annual council tax for this property based on its actual VOA council tax band and the local authority's 2025-26 rates. Only available where the property's band was successfully matched from the VOA valuation list. For a dwelling occupied by two adults, including adult social care and parish precepts.",
|
|
||||||
source: "council-tax",
|
|
||||||
},
|
|
||||||
FeatureConfig {
|
|
||||||
name: "Council tax Band A (£/yr)",
|
|
||||||
bounds: Bounds::Percentile {
|
|
||||||
low: 2.0,
|
|
||||||
high: 98.0,
|
|
||||||
},
|
|
||||||
step: 10.0,
|
|
||||||
description: "Annual council tax for a Band A property (2-adult dwelling)",
|
|
||||||
detail: "Council tax for a Band A dwelling occupied by two adults in the local authority area, for financial year 2025-26. Band A covers properties valued up to £40,000 at 1 April 1991. Includes adult social care and parish precepts. The ratio to Band D is 6/9.",
|
|
||||||
source: "council-tax",
|
|
||||||
},
|
|
||||||
FeatureConfig {
|
|
||||||
name: "Council tax Band B (£/yr)",
|
|
||||||
bounds: Bounds::Percentile {
|
|
||||||
low: 2.0,
|
|
||||||
high: 98.0,
|
|
||||||
},
|
|
||||||
step: 10.0,
|
|
||||||
description: "Annual council tax for a Band B property (2-adult dwelling)",
|
|
||||||
detail: "Council tax for a Band B dwelling occupied by two adults in the local authority area, for financial year 2025-26. Band B covers properties valued £40,001-£52,000 at 1 April 1991. Includes adult social care and parish precepts. The ratio to Band D is 7/9.",
|
|
||||||
source: "council-tax",
|
|
||||||
},
|
|
||||||
FeatureConfig {
|
|
||||||
name: "Council tax Band C (£/yr)",
|
|
||||||
bounds: Bounds::Percentile {
|
|
||||||
low: 2.0,
|
|
||||||
high: 98.0,
|
|
||||||
},
|
|
||||||
step: 10.0,
|
|
||||||
description: "Annual council tax for a Band C property (2-adult dwelling)",
|
|
||||||
detail: "Council tax for a Band C dwelling occupied by two adults in the local authority area, for financial year 2025-26. Band C covers properties valued £52,001-£68,000 at 1 April 1991. Includes adult social care and parish precepts. The ratio to Band D is 8/9.",
|
|
||||||
source: "council-tax",
|
|
||||||
},
|
|
||||||
FeatureConfig {
|
|
||||||
name: "Council tax Band D (£/yr)",
|
|
||||||
bounds: Bounds::Percentile {
|
|
||||||
low: 2.0,
|
|
||||||
high: 98.0,
|
|
||||||
},
|
|
||||||
step: 10.0,
|
|
||||||
description: "Annual council tax for a Band D property (2-adult dwelling)",
|
|
||||||
detail: "Council tax for a Band D dwelling occupied by two adults in the local authority area, for financial year 2025-26. Band D covers properties valued £68,001-£88,000 at 1 April 1991 and is the standard reference band used for national comparisons. Includes adult social care and parish precepts.",
|
|
||||||
source: "council-tax",
|
|
||||||
},
|
|
||||||
FeatureConfig {
|
|
||||||
name: "Council tax Band E (£/yr)",
|
|
||||||
bounds: Bounds::Percentile {
|
|
||||||
low: 2.0,
|
|
||||||
high: 98.0,
|
|
||||||
},
|
|
||||||
step: 10.0,
|
|
||||||
description: "Annual council tax for a Band E property (2-adult dwelling)",
|
|
||||||
detail: "Council tax for a Band E dwelling occupied by two adults in the local authority area, for financial year 2025-26. Band E covers properties valued £88,001-£120,000 at 1 April 1991. Includes adult social care and parish precepts. The ratio to Band D is 11/9.",
|
|
||||||
source: "council-tax",
|
|
||||||
},
|
|
||||||
FeatureConfig {
|
|
||||||
name: "Council tax Band F (£/yr)",
|
|
||||||
bounds: Bounds::Percentile {
|
|
||||||
low: 2.0,
|
|
||||||
high: 98.0,
|
|
||||||
},
|
|
||||||
step: 10.0,
|
|
||||||
description: "Annual council tax for a Band F property (2-adult dwelling)",
|
|
||||||
detail: "Council tax for a Band F dwelling occupied by two adults in the local authority area, for financial year 2025-26. Band F covers properties valued £120,001-£160,000 at 1 April 1991. Includes adult social care and parish precepts. The ratio to Band D is 13/9.",
|
|
||||||
source: "council-tax",
|
|
||||||
},
|
|
||||||
FeatureConfig {
|
|
||||||
name: "Council tax Band G (£/yr)",
|
|
||||||
bounds: Bounds::Percentile {
|
|
||||||
low: 2.0,
|
|
||||||
high: 98.0,
|
|
||||||
},
|
|
||||||
step: 10.0,
|
|
||||||
description: "Annual council tax for a Band G property (2-adult dwelling)",
|
|
||||||
detail: "Council tax for a Band G dwelling occupied by two adults in the local authority area, for financial year 2025-26. Band G covers properties valued £160,001-£320,000 at 1 April 1991. Includes adult social care and parish precepts. The ratio to Band D is 15/9.",
|
|
||||||
source: "council-tax",
|
|
||||||
},
|
|
||||||
FeatureConfig {
|
|
||||||
name: "Council tax Band H (£/yr)",
|
|
||||||
bounds: Bounds::Percentile {
|
|
||||||
low: 2.0,
|
|
||||||
high: 98.0,
|
|
||||||
},
|
|
||||||
step: 10.0,
|
|
||||||
description: "Annual council tax for a Band H property (2-adult dwelling)",
|
|
||||||
detail: "Council tax for a Band H dwelling occupied by two adults in the local authority area, for financial year 2025-26. Band H covers properties valued above £320,000 at 1 April 1991. Includes adult social care and parish precepts. The ratio to Band D is 18/9 (double Band D).",
|
|
||||||
source: "council-tax",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
pub static ENUM_FEATURE_GROUPS: &[EnumFeatureGroup] = &[
|
pub static ENUM_FEATURE_GROUPS: &[EnumFeatureGroup] = &[
|
||||||
|
|
@ -714,20 +602,6 @@ pub static ENUM_FEATURE_GROUPS: &[EnumFeatureGroup] = &[
|
||||||
detail: "From HM Land Registry Price Paid data. Freehold means you own the building and the land it stands on. Leasehold means you own the building but not the land — you have a lease from the freeholder for a set number of years.",
|
detail: "From HM Land Registry Price Paid data. Freehold means you own the building and the land it stands on. Leasehold means you own the building but not the land — you have a lease from the freeholder for a set number of years.",
|
||||||
source: "price-paid",
|
source: "price-paid",
|
||||||
},
|
},
|
||||||
EnumFeatureConfig {
|
|
||||||
name: "Current energy rating",
|
|
||||||
order: Some(&["A", "B", "C", "D", "E", "F", "G"]),
|
|
||||||
description: "Current EPC energy efficiency rating (A-G)",
|
|
||||||
detail: "The current energy efficiency rating from the Energy Performance Certificate, graded A (most efficient) to G (least efficient). Based on the energy costs per square metre of floor area for heating, hot water, lighting, and ventilation.",
|
|
||||||
source: "epc",
|
|
||||||
},
|
|
||||||
EnumFeatureConfig {
|
|
||||||
name: "Potential energy rating",
|
|
||||||
order: Some(&["A", "B", "C", "D", "E", "F", "G"]),
|
|
||||||
description: "Achievable EPC rating after recommended improvements",
|
|
||||||
detail: "The potential energy efficiency rating that could be achieved if all cost-effective improvements recommended in the EPC were carried out. Graded A (most efficient) to G (least efficient).",
|
|
||||||
source: "epc",
|
|
||||||
},
|
|
||||||
EnumFeatureConfig {
|
EnumFeatureConfig {
|
||||||
name: "Property type",
|
name: "Property type",
|
||||||
order: Some(&["Detached", "Semi-Detached", "Terraced", "Flat"]),
|
order: Some(&["Detached", "Semi-Detached", "Terraced", "Flat"]),
|
||||||
|
|
@ -735,27 +609,8 @@ pub static ENUM_FEATURE_GROUPS: &[EnumFeatureGroup] = &[
|
||||||
detail: "From HM Land Registry Price Paid data. The broad property type classification: Detached, Semi-Detached, Terraced, or Flat/Maisonette.",
|
detail: "From HM Land Registry Price Paid data. The broad property type classification: Detached, Semi-Detached, Terraced, or Flat/Maisonette.",
|
||||||
source: "price-paid",
|
source: "price-paid",
|
||||||
},
|
},
|
||||||
EnumFeatureConfig {
|
|
||||||
name: "Property type/built form",
|
|
||||||
order: None,
|
|
||||||
description: "Detailed property type and built form from the EPC",
|
|
||||||
detail: "A more detailed classification from the Energy Performance Certificate combining property type and built form. Examples include 'Semi-Detached House', 'Mid-Terrace House', 'Ground-Floor Flat', 'Detached Bungalow', etc.",
|
|
||||||
source: "epc",
|
|
||||||
},
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
EnumFeatureGroup {
|
|
||||||
name: "Council Tax",
|
|
||||||
features: &[
|
|
||||||
EnumFeatureConfig {
|
|
||||||
name: "Council tax band",
|
|
||||||
order: Some(&["A", "B", "C", "D", "E", "F", "G", "H"]),
|
|
||||||
description: "VOA council tax valuation band (A-H)",
|
|
||||||
detail: "The council tax band assigned by the Valuation Office Agency based on the estimated open market value of the property at 1 April 1991. Band A (up to £40k) to Band H (over £320k). Matched from the VOA valuation list by address within postcode.",
|
|
||||||
source: "council-tax",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
/// Flat ordered list of all numeric feature names (follows group order).
|
/// Flat ordered list of all numeric feature names (follows group order).
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue