{
  "meta":{
    "run_date":"2026-05-12",
    "election_cycle":"uk_2029",
    "election_date":"2026-05-12",
    "n_polls":456,
    "majority_threshold":326,
    "total_seats":650,
    "n_simulations":10000,
    "pipeline_version":"uk_fork_v1",
    "mode":"rich",
    "wave_strength":0.0
  },
  "parties":[
    {
      "party":"uk_con",
      "label_en":"Conservative",
      "label_fr":"Conservateur",
      "color":"#0087DC",
      "vote_mean":18.0,
      "vote_sd":0.37,
      "vote_ci_low_80":17.5,
      "vote_ci_high_80":18.5,
      "vote_ci_low_95":17.3,
      "vote_ci_high_95":18.7,
      "seats_mean":155.0,
      "seats_median":155.0,
      "p_majority":0.0,
      "p_largest":0.0692,
      "current_seats":121
    },
    {
      "party":"uk_grn",
      "label_en":"Green",
      "label_fr":"Vert",
      "color":"#6AB023",
      "vote_mean":17.4,
      "vote_sd":0.85,
      "vote_ci_low_80":16.3,
      "vote_ci_high_80":18.5,
      "vote_ci_low_95":15.6,
      "vote_ci_high_95":19.0,
      "seats_mean":10.5,
      "seats_median":10.0,
      "p_majority":0.0,
      "p_largest":0.0,
      "current_seats":4
    },
    {
      "party":"uk_lab",
      "label_en":"Labour",
      "label_fr":"Travailliste",
      "color":"#E4003B",
      "vote_mean":17.8,
      "vote_sd":0.7,
      "vote_ci_low_80":16.9,
      "vote_ci_high_80":18.6,
      "vote_ci_low_95":16.3,
      "vote_ci_high_95":19.1,
      "seats_mean":177.1,
      "seats_median":177.0,
      "p_majority":0.0,
      "p_largest":0.9407,
      "current_seats":411
    },
    {
      "party":"uk_ld",
      "label_en":"Liberal Democrat",
      "label_fr":"Libéral-démocrate",
      "color":"#FAA61A",
      "vote_mean":11.9,
      "vote_sd":0.96,
      "vote_ci_low_80":10.6,
      "vote_ci_high_80":13.1,
      "vote_ci_low_95":10.0,
      "vote_ci_high_95":13.8,
      "seats_mean":78.7,
      "seats_median":79.0,
      "p_majority":0.0,
      "p_largest":0.0,
      "current_seats":72
    },
    {
      "party":"uk_oth",
      "label_en":"Other",
      "label_fr":"Autre",
      "color":"#888888",
      "vote_mean":5.8,
      "vote_sd":0.54,
      "vote_ci_low_80":5.1,
      "vote_ci_high_80":6.4,
      "vote_ci_low_95":4.6,
      "vote_ci_high_95":6.8,
      "seats_mean":39.4,
      "seats_median":39.0,
      "p_majority":0.0,
      "p_largest":0.0,
      "current_seats":24
    },
    {
      "party":"uk_pc",
      "label_en":"Plaid Cymru",
      "label_fr":"Plaid Cymru",
      "color":"#008142",
      "vote_mean":0.9,
      "vote_sd":0.32,
      "vote_ci_low_80":0.5,
      "vote_ci_high_80":1.3,
      "vote_ci_low_95":0.3,
      "vote_ci_high_95":1.5,
      "seats_mean":4.6,
      "seats_median":5.0,
      "p_majority":0.0,
      "p_largest":0.0,
      "current_seats":4
    },
    {
      "party":"uk_ref",
      "label_en":"Reform UK",
      "label_fr":"Reform UK",
      "color":"#12B6CF",
      "vote_mean":25.5,
      "vote_sd":1.64,
      "vote_ci_low_80":23.4,
      "vote_ci_high_80":27.6,
      "vote_ci_low_95":22.3,
      "vote_ci_high_95":28.7,
      "seats_mean":140.8,
      "seats_median":141.0,
      "p_majority":0.0,
      "p_largest":0.0003,
      "current_seats":5
    },
    {
      "party":"uk_snp",
      "label_en":"SNP",
      "label_fr":"SNP",
      "color":"#FDF38E",
      "vote_mean":2.8,
      "vote_sd":0.39,
      "vote_ci_low_80":2.3,
      "vote_ci_high_80":3.3,
      "vote_ci_low_95":2.1,
      "vote_ci_high_95":3.6,
      "seats_mean":44.0,
      "seats_median":44.0,
      "p_majority":0.0,
      "p_largest":0.0,
      "current_seats":9
    }
  ],
  "current_composition":[
    {
      "party":"uk_lab",
      "label_en":"Labour",
      "label_fr":"Travailliste",
      "color":"#E4003B",
      "seats":411
    },
    {
      "party":"uk_con",
      "label_en":"Conservative",
      "label_fr":"Conservateur",
      "color":"#0087DC",
      "seats":121
    },
    {
      "party":"uk_ld",
      "label_en":"Liberal Democrat",
      "label_fr":"Libéral-démocrate",
      "color":"#FAA61A",
      "seats":72
    },
    {
      "party":"uk_ref",
      "label_en":"Reform UK",
      "label_fr":"Reform UK",
      "color":"#12B6CF",
      "seats":5
    },
    {
      "party":"uk_grn",
      "label_en":"Green",
      "label_fr":"Vert",
      "color":"#6AB023",
      "seats":4
    },
    {
      "party":"uk_snp",
      "label_en":"SNP",
      "label_fr":"SNP",
      "color":"#FDF38E",
      "seats":9
    },
    {
      "party":"uk_pc",
      "label_en":"Plaid Cymru",
      "label_fr":"Plaid Cymru",
      "color":"#008142",
      "seats":4
    },
    {
      "party":"uk_oth",
      "label_en":"Other",
      "label_fr":"Autre",
      "color":"#888888",
      "seats":24
    }
  ],
  "polls_history":[
    {
      "poll_id":"find_out_now_20260416",
      "firm":"find_out_now",
      "client":"Restore Britain",
      "region":"gb",
      "release_date":"2026-04-16T00:00:00",
      "field_start":"2026-04-15T00:00:00",
      "field_end":"2026-04-16T00:00:00",
      "sample_size":2284,
      "method":null,
      "time_weight":0.2760223784184531,
      "weight_firm":0.7360423033539213,
      "uk_lab":17.0,
      "uk_con":18.0,
      "uk_ld":11.0,
      "uk_ref":21.0,
      "uk_grn":18.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":11.0
    },
    {
      "poll_id":"find_out_now_20260415",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-04-15T00:00:00",
      "field_start":"2026-04-15T00:00:00",
      "field_end":"2026-04-15T00:00:00",
      "sample_size":2032,
      "method":null,
      "time_weight":0.1623419006719224,
      "weight_firm":0.7688892892100636,
      "uk_lab":16.0,
      "uk_con":17.0,
      "uk_ld":11.0,
      "uk_ref":26.0,
      "uk_grn":20.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":6.0
    },
    {
      "poll_id":"more_in_common_20260413",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2026-04-13T00:00:00",
      "field_start":"2026-04-10T00:00:00",
      "field_end":"2026-04-13T00:00:00",
      "sample_size":2011,
      "method":null,
      "time_weight":0.23792378825265492,
      "weight_firm":0.7952634903419928,
      "uk_lab":21.0,
      "uk_con":22.0,
      "uk_ld":12.0,
      "uk_ref":25.0,
      "uk_grn":13.0,
      "uk_snp":2.0,
      "uk_pc":0.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"yougov_20260413",
      "firm":"yougov",
      "client":"The Times/Sky News",
      "region":"gb",
      "release_date":"2026-04-13T00:00:00",
      "field_start":"2026-04-12T00:00:00",
      "field_end":"2026-04-13T00:00:00",
      "sample_size":2367,
      "method":null,
      "time_weight":0.23792378825265492,
      "weight_firm":0.8403150605663745,
      "uk_lab":17.0,
      "uk_con":19.0,
      "uk_ld":13.0,
      "uk_ref":24.0,
      "uk_grn":18.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":6.0
    },
    {
      "poll_id":"freshwater_strategy_20260412",
      "firm":"freshwater_strategy",
      "client":"City AM",
      "region":"gb",
      "release_date":"2026-04-12T00:00:00",
      "field_start":"2026-04-10T00:00:00",
      "field_end":"2026-04-12T00:00:00",
      "sample_size":1250,
      "method":null,
      "time_weight":0.22643091606597668,
      "weight_firm":1.4268287941329734,
      "uk_lab":22.0,
      "uk_con":19.0,
      "uk_ld":13.0,
      "uk_ref":26.0,
      "uk_grn":15.0,
      "uk_snp":2.0,
      "uk_pc":null,
      "uk_oth":4.0
    },
    {
      "poll_id":"jl_partners_20260409",
      "firm":"jl_partners",
      "client":"The Spectator",
      "region":"gb",
      "release_date":"2026-04-09T00:00:00",
      "field_start":"2026-04-08T00:00:00",
      "field_end":"2026-04-09T00:00:00",
      "sample_size":3506,
      "method":null,
      "time_weight":0.19517729553892757,
      "weight_firm":1.6626159400175529,
      "uk_lab":21.0,
      "uk_con":18.0,
      "uk_ld":11.0,
      "uk_ref":28.0,
      "uk_grn":14.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"find_out_now_20260408",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-04-08T00:00:00",
      "field_start":"2026-04-08T00:00:00",
      "field_end":"2026-04-08T00:00:00",
      "sample_size":2869,
      "method":null,
      "time_weight":0.07094211036054249,
      "weight_firm":0.8037101885445189,
      "uk_lab":16.0,
      "uk_con":17.0,
      "uk_ld":11.0,
      "uk_ref":25.0,
      "uk_grn":20.0,
      "uk_snp":3.0,
      "uk_pc":2.0,
      "uk_oth":7.0
    },
    {
      "poll_id":"more_in_common_20260407",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2026-04-07T00:00:00",
      "field_start":"2026-04-02T00:00:00",
      "field_end":"2026-04-07T00:00:00",
      "sample_size":2009,
      "method":null,
      "time_weight":0.10924799769332162,
      "weight_firm":0.7951594584303503,
      "uk_lab":20.0,
      "uk_con":19.0,
      "uk_ld":12.0,
      "uk_ref":30.0,
      "uk_grn":12.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"yougov_20260407",
      "firm":"yougov",
      "client":"The Times/Sky News",
      "region":"gb",
      "release_date":"2026-04-07T00:00:00",
      "field_start":"2026-04-06T00:00:00",
      "field_end":"2026-04-07T00:00:00",
      "sample_size":2320,
      "method":null,
      "time_weight":0.10924799769332162,
      "weight_firm":0.8381458419680217,
      "uk_lab":16.0,
      "uk_con":19.0,
      "uk_ld":13.0,
      "uk_ref":24.0,
      "uk_grn":16.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":7.0
    },
    {
      "poll_id":"find_out_now_20260402",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-04-02T00:00:00",
      "field_start":"2026-04-01T00:00:00",
      "field_end":"2026-04-02T00:00:00",
      "sample_size":2330,
      "method":null,
      "time_weight":0.04140335676276797,
      "weight_firm":0.7379400621089115,
      "uk_lab":15.0,
      "uk_con":18.0,
      "uk_ld":10.0,
      "uk_ref":26.0,
      "uk_grn":20.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":7.0
    },
    {
      "poll_id":"good_growth_foundation_20260401",
      "firm":"good_growth_foundation",
      "client":null,
      "region":"gb",
      "release_date":"2026-04-01T00:00:00",
      "field_start":"2026-03-27T00:00:00",
      "field_end":"2026-04-01T00:00:00",
      "sample_size":2005,
      "method":null,
      "time_weight":0.13134457983165249,
      "weight_firm":1.439135582285305,
      "uk_lab":20.0,
      "uk_con":19.0,
      "uk_ld":12.0,
      "uk_ref":27.0,
      "uk_grn":15.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"ipsos_uk_20260331",
      "firm":"ipsos_uk",
      "client":"STV",
      "region":"scotland",
      "release_date":"2026-03-31T00:00:00",
      "field_start":"2026-03-31T00:00:00",
      "field_end":"2026-03-31T00:00:00",
      "sample_size":1030,
      "method":null,
      "time_weight":0.12500000000000003,
      "weight_firm":2.025098024812999,
      "uk_lab":15.0,
      "uk_con":11.0,
      "uk_ld":8.0,
      "uk_ref":18.0,
      "uk_grn":9.0,
      "uk_snp":37.0,
      "uk_pc":null,
      "uk_oth":2.0
    },
    {
      "poll_id":"more_in_common_20260330_a",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2026-03-30T00:00:00",
      "field_start":"2026-03-28T00:00:00",
      "field_end":"2026-03-30T00:00:00",
      "sample_size":2003,
      "method":null,
      "time_weight":0.03568856823789823,
      "weight_firm":0.7948467401635896,
      "uk_lab":19.0,
      "uk_con":21.0,
      "uk_ld":11.0,
      "uk_ref":30.0,
      "uk_grn":12.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"yougov_20260330",
      "firm":"yougov",
      "client":"The Times/Sky News",
      "region":"gb",
      "release_date":"2026-03-30T00:00:00",
      "field_start":"2026-03-29T00:00:00",
      "field_end":"2026-03-30T00:00:00",
      "sample_size":2368,
      "method":null,
      "time_weight":0.045434402452303485,
      "weight_firm":0.7922997083421259,
      "uk_lab":18.0,
      "uk_con":19.0,
      "uk_ld":12.0,
      "uk_ref":23.0,
      "uk_grn":19.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":5.0
    },
    {
      "poll_id":"more_in_common_20260330",
      "firm":"more_in_common",
      "client":"The Times",
      "region":"gb",
      "release_date":"2026-03-30T00:00:00",
      "field_start":"2026-03-01T00:00:00",
      "field_end":"2026-03-30T00:00:00",
      "sample_size":15482,
      "method":"mrp",
      "time_weight":0.045434402452303485,
      "weight_firm":1.0167854862788972,
      "uk_lab":20.0,
      "uk_con":21.0,
      "uk_ld":13.0,
      "uk_ref":28.0,
      "uk_grn":12.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"lord_ashcroft_20260330",
      "firm":"lord_ashcroft",
      "client":null,
      "region":"gb",
      "release_date":"2026-03-30T00:00:00",
      "field_start":"2026-03-26T00:00:00",
      "field_end":"2026-03-30T00:00:00",
      "sample_size":5447,
      "method":null,
      "time_weight":0.11896189412632745,
      "weight_firm":1.3928120551042438,
      "uk_lab":17.0,
      "uk_con":21.0,
      "uk_ld":9.0,
      "uk_ref":21.0,
      "uk_grn":21.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":7.0
    },
    {
      "poll_id":"find_out_now_20260327",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-03-27T00:00:00",
      "field_start":"2026-03-26T00:00:00",
      "field_end":"2026-03-27T00:00:00",
      "sample_size":3092,
      "method":null,
      "time_weight":0.030762575850286432,
      "weight_firm":0.7648694117647207,
      "uk_lab":16.0,
      "uk_con":18.0,
      "uk_ld":12.0,
      "uk_ref":24.0,
      "uk_grn":20.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":7.0
    },
    {
      "poll_id":"bmg_20260326",
      "firm":"bmg",
      "client":"The i Paper",
      "region":"gb",
      "release_date":"2026-03-26T00:00:00",
      "field_start":"2026-03-25T00:00:00",
      "field_end":"2026-03-26T00:00:00",
      "sample_size":1507,
      "method":null,
      "time_weight":0.09758864776946377,
      "weight_firm":1.5038153745935654,
      "uk_lab":19.0,
      "uk_con":18.0,
      "uk_ld":12.0,
      "uk_ref":28.0,
      "uk_grn":16.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"find_out_now_20260325",
      "firm":"find_out_now",
      "client":"Restore Britain",
      "region":"gb",
      "release_date":"2026-03-25T00:00:00",
      "field_start":"2026-03-25T00:00:00",
      "field_end":"2026-03-25T00:00:00",
      "sample_size":2948,
      "method":null,
      "time_weight":0.02786239292131779,
      "weight_firm":0.8064522511368918,
      "uk_lab":16.0,
      "uk_con":16.0,
      "uk_ld":10.0,
      "uk_ref":25.0,
      "uk_grn":19.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":11.0
    },
    {
      "poll_id":"verian_20260323",
      "firm":"verian",
      "client":null,
      "region":"gb",
      "release_date":"2026-03-23T00:00:00",
      "field_start":"2026-03-20T00:00:00",
      "field_end":"2026-03-23T00:00:00",
      "sample_size":1236,
      "method":null,
      "time_weight":0.08411876203952229,
      "weight_firm":2.123553657813618,
      "uk_lab":15.0,
      "uk_con":18.0,
      "uk_ld":14.0,
      "uk_ref":25.0,
      "uk_grn":20.0,
      "uk_snp":2.0,
      "uk_pc":2.0,
      "uk_oth":5.0
    },
    {
      "poll_id":"yougov_20260323",
      "firm":"yougov",
      "client":"The Times/Sky News",
      "region":"gb",
      "release_date":"2026-03-23T00:00:00",
      "field_start":"2026-03-22T00:00:00",
      "field_end":"2026-03-23T00:00:00",
      "sample_size":2435,
      "method":null,
      "time_weight":0.025235628611856686,
      "weight_firm":0.7951448243856124,
      "uk_lab":19.0,
      "uk_con":17.0,
      "uk_ld":13.0,
      "uk_ref":23.0,
      "uk_grn":18.0,
      "uk_snp":4.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"more_in_common_20260322",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2026-03-22T00:00:00",
      "field_start":"2026-03-20T00:00:00",
      "field_end":"2026-03-22T00:00:00",
      "sample_size":2408,
      "method":null,
      "time_weight":0.024016625433080113,
      "weight_firm":0.8703095634395827,
      "uk_lab":19.0,
      "uk_con":20.0,
      "uk_ld":14.0,
      "uk_ref":27.0,
      "uk_grn":12.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"opinium_20260320",
      "firm":"opinium",
      "client":"The Observer",
      "region":"gb",
      "release_date":"2026-03-20T00:00:00",
      "field_start":"2026-03-18T00:00:00",
      "field_end":"2026-03-20T00:00:00",
      "sample_size":2050,
      "method":null,
      "time_weight":0.0725080866350102,
      "weight_firm":1.1372323761880876,
      "uk_lab":21.0,
      "uk_con":17.0,
      "uk_ld":12.0,
      "uk_ref":27.0,
      "uk_grn":15.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":5.0
    },
    {
      "poll_id":"yougov_20260319",
      "firm":"yougov",
      "client":"ITV Cymru Wales / Cardiff University",
      "region":"wales",
      "release_date":"2026-03-19T00:00:00",
      "field_start":"2026-03-19T00:00:00",
      "field_end":"2026-03-19T00:00:00",
      "sample_size":1082,
      "method":null,
      "time_weight":0.020701678381383985,
      "weight_firm":1.187386603369366,
      "uk_lab":12.0,
      "uk_con":12.0,
      "uk_ld":5.0,
      "uk_ref":24.0,
      "uk_grn":14.0,
      "uk_snp":null,
      "uk_pc":29.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"find_out_now_20260318",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-03-18T00:00:00",
      "field_start":"2026-03-18T00:00:00",
      "field_end":"2026-03-18T00:00:00",
      "sample_size":2549,
      "method":null,
      "time_weight":0.01970168697474787,
      "weight_firm":0.7917719742812627,
      "uk_lab":16.0,
      "uk_con":17.0,
      "uk_ld":11.0,
      "uk_ref":25.0,
      "uk_grn":19.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":7.0
    },
    {
      "poll_id":"more_in_common_20260316",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2026-03-16T00:00:00",
      "field_start":"2026-03-13T00:00:00",
      "field_end":"2026-03-16T00:00:00",
      "sample_size":2402,
      "method":null,
      "time_weight":0.017844284118949123,
      "weight_firm":0.9397405795115286,
      "uk_lab":20.0,
      "uk_con":21.0,
      "uk_ld":12.0,
      "uk_ref":28.0,
      "uk_grn":13.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"yougov_20260316",
      "firm":"yougov",
      "client":"The Times/Sky News",
      "region":"gb",
      "release_date":"2026-03-16T00:00:00",
      "field_start":"2026-03-15T00:00:00",
      "field_end":"2026-03-16T00:00:00",
      "sample_size":2329,
      "method":null,
      "time_weight":0.017844284118949123,
      "weight_firm":0.8385646059908368,
      "uk_lab":17.0,
      "uk_con":17.0,
      "uk_ld":14.0,
      "uk_ref":25.0,
      "uk_grn":19.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"techne_20260312",
      "firm":"techne",
      "client":null,
      "region":"uk",
      "release_date":"2026-03-12T00:00:00",
      "field_start":"2026-03-10T00:00:00",
      "field_end":"2026-03-12T00:00:00",
      "sample_size":1639,
      "method":null,
      "time_weight":0.0487943238847319,
      "weight_firm":1.4943847247877453,
      "uk_lab":17.0,
      "uk_con":18.0,
      "uk_ld":14.0,
      "uk_ref":27.0,
      "uk_grn":17.0,
      "uk_snp":3.0,
      "uk_pc":null,
      "uk_oth":4.0
    },
    {
      "poll_id":"find_out_now_20260311",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-03-11T00:00:00",
      "field_start":"2026-03-11T00:00:00",
      "field_end":"2026-03-11T00:00:00",
      "sample_size":2793,
      "method":null,
      "time_weight":0.013931196460658895,
      "weight_firm":0.8010000440534607,
      "uk_lab":15.0,
      "uk_con":17.0,
      "uk_ld":11.0,
      "uk_ref":26.0,
      "uk_grn":21.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":7.0
    },
    {
      "poll_id":"ipsos_uk_20260311",
      "firm":"ipsos_uk",
      "client":null,
      "region":"gb",
      "release_date":"2026-03-11T00:00:00",
      "field_start":"2026-03-05T00:00:00",
      "field_end":"2026-03-11T00:00:00",
      "sample_size":1062,
      "method":null,
      "time_weight":0.028698264708957325,
      "weight_firm":1.220417498452627,
      "uk_lab":21.0,
      "uk_con":17.0,
      "uk_ld":9.0,
      "uk_ref":28.0,
      "uk_grn":17.0,
      "uk_snp":4.0,
      "uk_pc":0.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"focaldata_20260310",
      "firm":"focaldata",
      "client":null,
      "region":"gb",
      "release_date":"2026-03-10T00:00:00",
      "field_start":"2026-03-06T00:00:00",
      "field_end":"2026-03-10T00:00:00",
      "sample_size":1086,
      "method":null,
      "time_weight":0.044194173824159244,
      "weight_firm":2.0493236949827827,
      "uk_lab":20.0,
      "uk_con":18.0,
      "uk_ld":14.0,
      "uk_ref":27.0,
      "uk_grn":13.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":5.0
    },
    {
      "poll_id":"yougov_20260310",
      "firm":"yougov",
      "client":"The Times/Sky News",
      "region":"gb",
      "release_date":"2026-03-10T00:00:00",
      "field_start":"2026-03-09T00:00:00",
      "field_end":"2026-03-10T00:00:00",
      "sample_size":2246,
      "method":null,
      "time_weight":0.013258252147247773,
      "weight_firm":0.8346397791102036,
      "uk_lab":17.0,
      "uk_con":19.0,
      "uk_ld":14.0,
      "uk_ref":23.0,
      "uk_grn":19.0,
      "uk_snp":2.0,
      "uk_pc":2.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"more_in_common_20260309",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2026-03-09T00:00:00",
      "field_start":"2026-03-06T00:00:00",
      "field_end":"2026-03-09T00:00:00",
      "sample_size":2112,
      "method":null,
      "time_weight":0.012617814305928343,
      "weight_firm":1.012418222235535,
      "uk_lab":22.0,
      "uk_con":19.0,
      "uk_ld":13.0,
      "uk_ref":30.0,
      "uk_grn":11.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"find_out_now_20260306",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-03-06T00:00:00",
      "field_start":"2026-03-04T00:00:00",
      "field_end":"2026-03-06T00:00:00",
      "sample_size":2548,
      "method":null,
      "time_weight":0.010876212995251527,
      "weight_firm":0.7917323639927271,
      "uk_lab":15.0,
      "uk_con":17.0,
      "uk_ld":10.0,
      "uk_ref":27.0,
      "uk_grn":21.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":6.0
    },
    {
      "poll_id":"lord_ashcroft_20260306",
      "firm":"lord_ashcroft",
      "client":null,
      "region":"scotland",
      "release_date":"2026-03-06T00:00:00",
      "field_start":"2026-03-06T00:00:00",
      "field_end":"2026-03-06T00:00:00",
      "sample_size":2089,
      "method":null,
      "time_weight":0.022404998770218145,
      "weight_firm":2.526339809583076,
      "uk_lab":13.0,
      "uk_con":10.0,
      "uk_ld":8.0,
      "uk_ref":16.0,
      "uk_grn":12.0,
      "uk_snp":36.0,
      "uk_pc":null,
      "uk_oth":5.0
    },
    {
      "poll_id":"opinium_20260306",
      "firm":"opinium",
      "client":"The Observer",
      "region":"gb",
      "release_date":"2026-03-06T00:00:00",
      "field_start":"2026-03-04T00:00:00",
      "field_end":"2026-03-06T00:00:00",
      "sample_size":2050,
      "method":null,
      "time_weight":0.022404998770218145,
      "weight_firm":1.1372323761880876,
      "uk_lab":21.0,
      "uk_con":16.0,
      "uk_ld":10.0,
      "uk_ref":29.0,
      "uk_grn":14.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":5.0
    },
    {
      "poll_id":"bmg_20260305",
      "firm":"bmg",
      "client":"The i Paper",
      "region":"gb",
      "release_date":"2026-03-05T00:00:00",
      "field_start":"2026-03-04T00:00:00",
      "field_end":"2026-03-05T00:00:00",
      "sample_size":1503,
      "method":null,
      "time_weight":0.021322728732825508,
      "weight_firm":1.5032691978425181,
      "uk_lab":20.0,
      "uk_con":18.0,
      "uk_ld":12.0,
      "uk_ref":27.0,
      "uk_grn":14.0,
      "uk_snp":2.0,
      "uk_pc":0.0,
      "uk_oth":6.0
    },
    {
      "poll_id":"jl_partners_20260305",
      "firm":"jl_partners",
      "client":"The Sun",
      "region":"gb",
      "release_date":"2026-03-05T00:00:00",
      "field_start":"2026-03-02T00:00:00",
      "field_end":"2026-03-05T00:00:00",
      "sample_size":2573,
      "method":null,
      "time_weight":0.021322728732825508,
      "weight_firm":1.5995916545573934,
      "uk_lab":20.0,
      "uk_con":20.0,
      "uk_ld":12.0,
      "uk_ref":27.0,
      "uk_grn":14.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"survation_20260305",
      "firm":"survation",
      "client":null,
      "region":"uk",
      "release_date":"2026-03-05T00:00:00",
      "field_start":"2026-03-05T00:00:00",
      "field_end":"2026-03-05T00:00:00",
      "sample_size":1045,
      "method":null,
      "time_weight":0.03450279730230665,
      "weight_firm":1.4661756525062788,
      "uk_lab":21.0,
      "uk_con":18.0,
      "uk_ld":10.0,
      "uk_ref":29.0,
      "uk_grn":12.0,
      "uk_snp":2.0,
      "uk_pc":2.0,
      "uk_oth":5.0
    },
    {
      "poll_id":"more_in_common_20260302",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2026-03-02T00:00:00",
      "field_start":"2026-02-27T00:00:00",
      "field_end":"2026-03-02T00:00:00",
      "sample_size":2010,
      "method":null,
      "time_weight":0.00892214205947456,
      "weight_firm":1.1245988703305527,
      "uk_lab":18.0,
      "uk_con":19.0,
      "uk_ld":14.0,
      "uk_ref":29.0,
      "uk_grn":14.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"yougov_20260302",
      "firm":"yougov",
      "client":"The Times/Sky News",
      "region":"gb",
      "release_date":"2026-03-02T00:00:00",
      "field_start":"2026-03-01T00:00:00",
      "field_end":"2026-03-02T00:00:00",
      "sample_size":2073,
      "method":null,
      "time_weight":0.00892214205947456,
      "weight_firm":0.8259705359233739,
      "uk_lab":16.0,
      "uk_con":16.0,
      "uk_ld":14.0,
      "uk_ref":23.0,
      "uk_grn":21.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":5.0
    },
    {
      "poll_id":"freshwater_strategy_20260301",
      "firm":"freshwater_strategy",
      "client":"City AM",
      "region":"gb",
      "release_date":"2026-03-01T00:00:00",
      "field_start":"2026-02-27T00:00:00",
      "field_end":"2026-03-01T00:00:00",
      "sample_size":1221,
      "method":null,
      "time_weight":0.01749178826609671,
      "weight_firm":1.422131986437663,
      "uk_lab":18.0,
      "uk_con":18.0,
      "uk_ld":13.0,
      "uk_ref":30.0,
      "uk_grn":15.0,
      "uk_snp":3.0,
      "uk_pc":null,
      "uk_oth":3.0
    },
    {
      "poll_id":"opinium_20260227",
      "firm":"opinium",
      "client":"The Observer",
      "region":"gb",
      "release_date":"2026-02-27T00:00:00",
      "field_start":"2026-02-25T00:00:00",
      "field_end":"2026-02-27T00:00:00",
      "sample_size":2050,
      "method":null,
      "time_weight":0.009790805015870666,
      "weight_firm":1.3131628370467003,
      "uk_lab":18.0,
      "uk_con":18.0,
      "uk_ld":12.0,
      "uk_ref":30.0,
      "uk_grn":13.0,
      "uk_snp":3.0,
      "uk_pc":0.0,
      "uk_oth":6.0
    },
    {
      "poll_id":"ipsos_uk_20260226",
      "firm":"ipsos_uk",
      "client":"STV News",
      "region":"scotland",
      "release_date":"2026-02-26T00:00:00",
      "field_start":"2026-02-26T00:00:00",
      "field_end":"2026-02-26T00:00:00",
      "sample_size":1096,
      "method":null,
      "time_weight":0.009317861677676172,
      "weight_firm":2.5024334092312452,
      "uk_lab":21.0,
      "uk_con":10.0,
      "uk_ld":10.0,
      "uk_ref":17.0,
      "uk_grn":8.0,
      "uk_snp":33.0,
      "uk_pc":null,
      "uk_oth":1.0
    },
    {
      "poll_id":"find_out_now_20260225",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-02-25T00:00:00",
      "field_start":"2026-02-25T00:00:00",
      "field_end":"2026-02-25T00:00:00",
      "sample_size":2442,
      "method":null,
      "time_weight":0.023218660767764823,
      "weight_firm":0.7874429961600947,
      "uk_lab":15.0,
      "uk_con":18.0,
      "uk_ld":12.0,
      "uk_ref":26.0,
      "uk_grn":18.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":7.0
    },
    {
      "poll_id":"lord_ashcroft_20260223",
      "firm":"lord_ashcroft",
      "client":null,
      "region":"gb",
      "release_date":"2026-02-23T00:00:00",
      "field_start":"2026-02-19T00:00:00",
      "field_end":"2026-02-23T00:00:00",
      "sample_size":5576,
      "method":null,
      "time_weight":0.008031743518295626,
      "weight_firm":2.418984994670146,
      "uk_lab":17.0,
      "uk_con":20.0,
      "uk_ld":11.0,
      "uk_ref":22.0,
      "uk_grn":19.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":6.0
    },
    {
      "poll_id":"more_in_common_20260223",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2026-02-23T00:00:00",
      "field_start":"2026-02-20T00:00:00",
      "field_end":"2026-02-23T00:00:00",
      "sample_size":2015,
      "method":null,
      "time_weight":0.02102969050988057,
      "weight_firm":1.2989991021271998,
      "uk_lab":22.0,
      "uk_con":20.0,
      "uk_ld":14.0,
      "uk_ref":28.0,
      "uk_grn":11.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"yougov_20260223",
      "firm":"yougov",
      "client":null,
      "region":"gb",
      "release_date":"2026-02-23T00:00:00",
      "field_start":"2026-02-22T00:00:00",
      "field_end":"2026-02-23T00:00:00",
      "sample_size":2325,
      "method":null,
      "time_weight":0.02102969050988057,
      "weight_firm":0.7498686956068538,
      "uk_lab":18.0,
      "uk_con":18.0,
      "uk_ld":14.0,
      "uk_ref":24.0,
      "uk_grn":17.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"find_out_now_20260219",
      "firm":"find_out_now",
      "client":"The National",
      "region":"scotland",
      "release_date":"2026-02-19T00:00:00",
      "field_start":"2026-02-19T00:00:00",
      "field_end":"2026-02-19T00:00:00",
      "sample_size":1002,
      "method":null,
      "time_weight":0.01725139865115333,
      "weight_firm":1.1625293568602246,
      "uk_lab":14.0,
      "uk_con":8.0,
      "uk_ld":10.0,
      "uk_ref":23.0,
      "uk_grn":10.0,
      "uk_snp":31.0,
      "uk_pc":null,
      "uk_oth":4.0
    },
    {
      "poll_id":"find_out_now_20260218",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-02-18T00:00:00",
      "field_start":"2026-02-18T00:00:00",
      "field_end":"2026-02-18T00:00:00",
      "sample_size":2178,
      "method":null,
      "time_weight":0.016418072478956554,
      "weight_firm":0.8294651860818408,
      "uk_lab":16.0,
      "uk_con":16.0,
      "uk_ld":10.0,
      "uk_ref":28.0,
      "uk_grn":18.0,
      "uk_snp":3.0,
      "uk_pc":2.0,
      "uk_oth":7.0
    },
    {
      "poll_id":"yougov_20260218",
      "firm":"yougov",
      "client":"Scottish Elections Study",
      "region":"scotland",
      "release_date":"2026-02-18T00:00:00",
      "field_start":"2026-02-18T00:00:00",
      "field_end":"2026-02-18T00:00:00",
      "sample_size":1517,
      "method":null,
      "time_weight":0.016418072478956554,
      "weight_firm":1.1809377186194534,
      "uk_lab":14.0,
      "uk_con":11.0,
      "uk_ld":9.0,
      "uk_ref":21.0,
      "uk_grn":11.0,
      "uk_snp":32.0,
      "uk_pc":null,
      "uk_oth":2.0
    },
    {
      "poll_id":"more_in_common_20260217",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2026-02-17T00:00:00",
      "field_start":"2026-02-13T00:00:00",
      "field_end":"2026-02-17T00:00:00",
      "sample_size":2108,
      "method":null,
      "time_weight":0.015625000000000007,
      "weight_firm":1.6003773574182385,
      "uk_lab":22.0,
      "uk_con":21.0,
      "uk_ld":11.0,
      "uk_ref":28.0,
      "uk_grn":12.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"good_growth_foundation_20260216",
      "firm":"good_growth_foundation",
      "client":null,
      "region":"gb",
      "release_date":"2026-02-16T00:00:00",
      "field_start":"2026-02-13T00:00:00",
      "field_end":"2026-02-16T00:00:00",
      "sample_size":2000,
      "method":null,
      "time_weight":0.0091898063212588,
      "weight_firm":2.0345767044664007,
      "uk_lab":21.0,
      "uk_con":20.0,
      "uk_ld":12.0,
      "uk_ref":28.0,
      "uk_grn":12.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"yougov_20260216",
      "firm":"yougov",
      "client":null,
      "region":"gb",
      "release_date":"2026-02-16T00:00:00",
      "field_start":"2026-02-15T00:00:00",
      "field_end":"2026-02-16T00:00:00",
      "sample_size":2384,
      "method":null,
      "time_weight":0.014870236765790941,
      "weight_firm":0.7929863889580117,
      "uk_lab":19.0,
      "uk_con":18.0,
      "uk_ld":13.0,
      "uk_ref":24.0,
      "uk_grn":17.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"norstat_20260213",
      "firm":"norstat",
      "client":"The Sunday Times",
      "region":"scotland",
      "release_date":"2026-02-13T00:00:00",
      "field_start":"2026-02-13T00:00:00",
      "field_end":"2026-02-13T00:00:00",
      "sample_size":1001,
      "method":null,
      "time_weight":0.012817739937619348,
      "weight_firm":2.3454791812048867,
      "uk_lab":17.0,
      "uk_con":11.0,
      "uk_ld":7.0,
      "uk_ref":23.0,
      "uk_grn":8.0,
      "uk_snp":32.0,
      "uk_pc":null,
      "uk_oth":2.0
    },
    {
      "poll_id":"techne_20260212",
      "firm":"techne",
      "client":null,
      "region":"uk",
      "release_date":"2026-02-12T00:00:00",
      "field_start":"2026-02-11T00:00:00",
      "field_end":"2026-02-12T00:00:00",
      "sample_size":1644,
      "method":null,
      "time_weight":0.00753872304019108,
      "weight_firm":1.4949996921778586,
      "uk_lab":17.0,
      "uk_con":19.0,
      "uk_ld":14.0,
      "uk_ref":30.0,
      "uk_grn":15.0,
      "uk_snp":2.0,
      "uk_pc":null,
      "uk_oth":3.0
    },
    {
      "poll_id":"jl_partners_20260212",
      "firm":"jl_partners",
      "client":"The Sun",
      "region":"gb",
      "release_date":"2026-02-12T00:00:00",
      "field_start":"2026-02-04T00:00:00",
      "field_end":"2026-02-12T00:00:00",
      "sample_size":2006,
      "method":null,
      "time_weight":0.012198580971182978,
      "weight_firm":2.1904549887373235,
      "uk_lab":23.0,
      "uk_con":19.0,
      "uk_ld":12.0,
      "uk_ref":31.0,
      "uk_grn":9.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":6.0
    },
    {
      "poll_id":"find_out_now_20260211",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-02-11T00:00:00",
      "field_start":"2026-02-11T00:00:00",
      "field_end":"2026-02-11T00:00:00",
      "sample_size":1394,
      "method":null,
      "time_weight":0.01160933038388241,
      "weight_firm":0.7813095530588231,
      "uk_lab":16.0,
      "uk_con":19.0,
      "uk_ld":11.0,
      "uk_ref":29.0,
      "uk_grn":18.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"more_in_common_20260210",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2026-02-10T00:00:00",
      "field_start":"2026-02-06T00:00:00",
      "field_end":"2026-02-10T00:00:00",
      "sample_size":2035,
      "method":null,
      "time_weight":0.01104854345603981,
      "weight_firm":2.2528531381285717,
      "uk_lab":23.0,
      "uk_con":21.0,
      "uk_ld":12.0,
      "uk_ref":30.0,
      "uk_grn":10.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"yougov_20260209",
      "firm":"yougov",
      "client":null,
      "region":"gb",
      "release_date":"2026-02-09T00:00:00",
      "field_start":"2026-02-08T00:00:00",
      "field_end":"2026-02-09T00:00:00",
      "sample_size":2466,
      "method":null,
      "time_weight":0.010514845254940288,
      "weight_firm":0.8447467060533794,
      "uk_lab":19.0,
      "uk_con":18.0,
      "uk_ld":14.0,
      "uk_ref":27.0,
      "uk_grn":16.0,
      "uk_snp":3.0,
      "uk_pc":2.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"opinium_20260206",
      "firm":"opinium",
      "client":"The Observer",
      "region":"gb",
      "release_date":"2026-02-06T00:00:00",
      "field_start":"2026-02-04T00:00:00",
      "field_end":"2026-02-06T00:00:00",
      "sample_size":2054,
      "method":null,
      "time_weight":0.002719053248812883,
      "weight_firm":1.313498518708069,
      "uk_lab":23.0,
      "uk_con":16.0,
      "uk_ld":10.0,
      "uk_ref":31.0,
      "uk_grn":13.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"find_out_now_20260204",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-02-04T00:00:00",
      "field_start":"2026-02-04T00:00:00",
      "field_end":"2026-02-04T00:00:00",
      "sample_size":2264,
      "method":null,
      "time_weight":0.008209036239478277,
      "weight_firm":0.8336443824342262,
      "uk_lab":16.0,
      "uk_con":18.0,
      "uk_ld":11.0,
      "uk_ref":31.0,
      "uk_grn":18.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"yougov_20260202",
      "firm":"yougov",
      "client":"The Times/Sky News",
      "region":"gb",
      "release_date":"2026-02-02T00:00:00",
      "field_start":"2026-02-01T00:00:00",
      "field_end":"2026-02-02T00:00:00",
      "sample_size":2330,
      "method":null,
      "time_weight":0.00743511838289547,
      "weight_firm":0.838611035399625,
      "uk_lab":19.0,
      "uk_con":18.0,
      "uk_ld":14.0,
      "uk_ref":26.0,
      "uk_grn":17.0,
      "uk_snp":3.0,
      "uk_pc":2.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"freshwater_strategy_20260201",
      "firm":"freshwater_strategy",
      "client":"City AM",
      "region":"gb",
      "release_date":"2026-02-01T00:00:00",
      "field_start":"2026-01-30T00:00:00",
      "field_end":"2026-02-01T00:00:00",
      "sample_size":1250,
      "method":null,
      "time_weight":0.007075966127061776,
      "weight_firm":1.4268287941329734,
      "uk_lab":17.0,
      "uk_con":22.0,
      "uk_ld":14.0,
      "uk_ref":30.0,
      "uk_grn":14.0,
      "uk_snp":2.0,
      "uk_pc":null,
      "uk_oth":1.0
    },
    {
      "poll_id":"bmg_20260129",
      "firm":"bmg",
      "client":"The i Paper",
      "region":"gb",
      "release_date":"2026-01-29T00:00:00",
      "field_start":"2026-01-28T00:00:00",
      "field_end":"2026-01-29T00:00:00",
      "sample_size":1513,
      "method":null,
      "time_weight":0.006099290485591489,
      "weight_firm":2.1278708782718456,
      "uk_lab":20.0,
      "uk_con":17.0,
      "uk_ld":11.0,
      "uk_ref":32.0,
      "uk_grn":13.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"survation_20260129",
      "firm":"survation",
      "client":null,
      "region":"uk",
      "release_date":"2026-01-29T00:00:00",
      "field_start":"2026-01-28T00:00:00",
      "field_end":"2026-01-29T00:00:00",
      "sample_size":1016,
      "method":null,
      "time_weight":0.00376936152009554,
      "weight_firm":1.1922809598440332,
      "uk_lab":18.0,
      "uk_con":20.0,
      "uk_ld":12.0,
      "uk_ref":31.0,
      "uk_grn":12.0,
      "uk_snp":3.0,
      "uk_pc":0.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"find_out_now_20260128",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-01-28T00:00:00",
      "field_start":"2026-01-28T00:00:00",
      "field_end":"2026-01-28T00:00:00",
      "sample_size":1799,
      "method":null,
      "time_weight":0.00580466519194121,
      "weight_firm":0.7565950190473364,
      "uk_lab":17.0,
      "uk_con":17.0,
      "uk_ld":11.0,
      "uk_ref":29.0,
      "uk_grn":19.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"ipsos_uk_20260127",
      "firm":"ipsos_uk",
      "client":null,
      "region":"gb",
      "release_date":"2026-01-27T00:00:00",
      "field_start":"2026-01-22T00:00:00",
      "field_end":"2026-01-27T00:00:00",
      "sample_size":1104,
      "method":null,
      "time_weight":0.005524271728019904,
      "weight_firm":2.125591465968422,
      "uk_lab":22.0,
      "uk_con":19.0,
      "uk_ld":12.0,
      "uk_ref":30.0,
      "uk_grn":12.0,
      "uk_snp":2.0,
      "uk_pc":2.0,
      "uk_oth":1.0
    },
    {
      "poll_id":"yougov_20260126",
      "firm":"yougov",
      "client":"The Times/Sky News",
      "region":"gb",
      "release_date":"2026-01-26T00:00:00",
      "field_start":"2026-01-25T00:00:00",
      "field_end":"2026-01-26T00:00:00",
      "sample_size":2429,
      "method":null,
      "time_weight":0.005257422627470144,
      "weight_firm":0.8431116104281788,
      "uk_lab":21.0,
      "uk_con":17.0,
      "uk_ld":14.0,
      "uk_ref":25.0,
      "uk_grn":16.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"opinium_20260123",
      "firm":"opinium",
      "client":"The Observer",
      "region":"gb",
      "release_date":"2026-01-23T00:00:00",
      "field_start":"2026-01-21T00:00:00",
      "field_end":"2026-01-23T00:00:00",
      "sample_size":2050,
      "method":null,
      "time_weight":0.004531755414688137,
      "weight_firm":1.3131628370467003,
      "uk_lab":22.0,
      "uk_con":17.0,
      "uk_ld":13.0,
      "uk_ref":31.0,
      "uk_grn":11.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"find_out_now_20260121",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-01-21T00:00:00",
      "field_start":"2026-01-21T00:00:00",
      "field_end":"2026-01-21T00:00:00",
      "sample_size":1385,
      "method":null,
      "time_weight":0.004104518119739142,
      "weight_firm":0.6884338024442694,
      "uk_lab":14.0,
      "uk_con":18.0,
      "uk_ld":11.0,
      "uk_ref":32.0,
      "uk_grn":17.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"focaldata_20260119",
      "firm":"focaldata",
      "client":null,
      "region":"gb",
      "release_date":"2026-01-19T00:00:00",
      "field_start":"2026-01-16T00:00:00",
      "field_end":"2026-01-19T00:00:00",
      "sample_size":1585,
      "method":null,
      "time_weight":0.0037175591914477345,
      "weight_firm":2.160165812337939,
      "uk_lab":21.0,
      "uk_con":20.0,
      "uk_ld":14.0,
      "uk_ref":26.0,
      "uk_grn":10.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"yougov_20260119",
      "firm":"yougov",
      "client":"The Times/Sky News",
      "region":"gb",
      "release_date":"2026-01-19T00:00:00",
      "field_start":"2026-01-18T00:00:00",
      "field_end":"2026-01-19T00:00:00",
      "sample_size":2335,
      "method":null,
      "time_weight":0.0037175591914477345,
      "weight_firm":0.790868655452364,
      "uk_lab":19.0,
      "uk_con":18.0,
      "uk_ld":14.0,
      "uk_ref":24.0,
      "uk_grn":17.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"norstat_20260116",
      "firm":"norstat",
      "client":"The Sunday Times",
      "region":"scotland",
      "release_date":"2026-01-16T00:00:00",
      "field_start":"2026-01-16T00:00:00",
      "field_end":"2026-01-16T00:00:00",
      "sample_size":1016,
      "method":null,
      "time_weight":0.001980340820362189,
      "weight_firm":3.3241496513702917,
      "uk_lab":17.0,
      "uk_con":11.0,
      "uk_ld":9.0,
      "uk_ref":21.0,
      "uk_grn":7.0,
      "uk_snp":32.0,
      "uk_pc":null,
      "uk_oth":2.0
    },
    {
      "poll_id":"techne_20260115",
      "firm":"techne",
      "client":null,
      "region":"uk",
      "release_date":"2026-01-15T00:00:00",
      "field_start":"2026-01-14T00:00:00",
      "field_end":"2026-01-15T00:00:00",
      "sample_size":1636,
      "method":null,
      "time_weight":0.003049645242795744,
      "weight_firm":2.1128560536542276,
      "uk_lab":19.0,
      "uk_con":20.0,
      "uk_ld":15.0,
      "uk_ref":28.0,
      "uk_grn":13.0,
      "uk_snp":2.0,
      "uk_pc":null,
      "uk_oth":3.0
    },
    {
      "poll_id":"find_out_now_20260114",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-01-14T00:00:00",
      "field_start":"2026-01-14T00:00:00",
      "field_end":"2026-01-14T00:00:00",
      "sample_size":1592,
      "method":null,
      "time_weight":0.0029023325959706046,
      "weight_firm":0.7016906197298752,
      "uk_lab":15.0,
      "uk_con":19.0,
      "uk_ld":12.0,
      "uk_ref":28.0,
      "uk_grn":18.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"survation_20260114",
      "firm":"survation",
      "client":null,
      "region":"uk",
      "release_date":"2026-01-14T00:00:00",
      "field_start":"2026-01-10T00:00:00",
      "field_end":"2026-01-14T00:00:00",
      "sample_size":1616,
      "method":null,
      "time_weight":0.0029023325959706046,
      "weight_firm":1.558117722788298,
      "uk_lab":21.0,
      "uk_con":19.0,
      "uk_ld":11.0,
      "uk_ref":29.0,
      "uk_grn":11.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"survation_20260112",
      "firm":"survation",
      "client":"True North Advisors",
      "region":"scotland",
      "release_date":"2026-01-12T00:00:00",
      "field_start":"2026-01-12T00:00:00",
      "field_end":"2026-01-12T00:00:00",
      "sample_size":1003,
      "method":null,
      "time_weight":0.0026287113137350715,
      "weight_firm":3.4354169370810337,
      "uk_lab":17.0,
      "uk_con":12.0,
      "uk_ld":9.0,
      "uk_ref":21.0,
      "uk_grn":8.0,
      "uk_snp":31.0,
      "uk_pc":null,
      "uk_oth":1.0
    },
    {
      "poll_id":"yougov_20260112",
      "firm":"yougov",
      "client":"The Times/Sky News",
      "region":"gb",
      "release_date":"2026-01-12T00:00:00",
      "field_start":"2026-01-11T00:00:00",
      "field_end":"2026-01-12T00:00:00",
      "sample_size":2259,
      "method":null,
      "time_weight":0.0026287113137350715,
      "weight_firm":0.7874944476782355,
      "uk_lab":19.0,
      "uk_con":20.0,
      "uk_ld":16.0,
      "uk_ref":24.0,
      "uk_grn":14.0,
      "uk_snp":4.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"yougov_20260112_a",
      "firm":"yougov",
      "client":"Barn Cymru",
      "region":"wales",
      "release_date":"2026-01-12T00:00:00",
      "field_start":"2026-01-12T00:00:00",
      "field_end":"2026-01-12T00:00:00",
      "sample_size":1205,
      "method":null,
      "time_weight":0.0026287113137350715,
      "weight_firm":1.205685148226996,
      "uk_lab":13.0,
      "uk_con":12.0,
      "uk_ld":6.0,
      "uk_ref":25.0,
      "uk_grn":12.0,
      "uk_snp":null,
      "uk_pc":29.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"freshwater_strategy_20260111",
      "firm":"freshwater_strategy",
      "client":"City AM",
      "region":"gb",
      "release_date":"2026-01-11T00:00:00",
      "field_start":"2026-01-09T00:00:00",
      "field_end":"2026-01-11T00:00:00",
      "sample_size":1250,
      "method":null,
      "time_weight":0.0025017318159458466,
      "weight_firm":1.4268287941329734,
      "uk_lab":19.0,
      "uk_con":19.0,
      "uk_ld":11.0,
      "uk_ref":33.0,
      "uk_grn":12.0,
      "uk_snp":2.0,
      "uk_pc":null,
      "uk_oth":3.0
    },
    {
      "poll_id":"opinium_20260109",
      "firm":"opinium",
      "client":"The Observer",
      "region":"gb",
      "release_date":"2026-01-09T00:00:00",
      "field_start":"2026-01-07T00:00:00",
      "field_end":"2026-01-09T00:00:00",
      "sample_size":2050,
      "method":null,
      "time_weight":0.0022658777073440686,
      "weight_firm":1.3131628370467003,
      "uk_lab":20.0,
      "uk_con":18.0,
      "uk_ld":12.0,
      "uk_ref":31.0,
      "uk_grn":13.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"yougov_20260109",
      "firm":"yougov",
      "client":null,
      "region":"gb",
      "release_date":"2026-01-09T00:00:00",
      "field_start":"2025-12-14T00:00:00",
      "field_end":"2026-01-09T00:00:00",
      "sample_size":17230,
      "method":null,
      "time_weight":0.0022658777073440686,
      "weight_firm":1.1278535797595213,
      "uk_lab":18.0,
      "uk_con":19.0,
      "uk_ld":14.0,
      "uk_ref":26.0,
      "uk_grn":15.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"find_out_now_20260108",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2026-01-08T00:00:00",
      "field_start":"2026-01-07T00:00:00",
      "field_end":"2026-01-08T00:00:00",
      "sample_size":2422,
      "method":null,
      "time_weight":0.002156424831394166,
      "weight_firm":0.7416256946838313,
      "uk_lab":15.0,
      "uk_con":18.0,
      "uk_ld":12.0,
      "uk_ref":32.0,
      "uk_grn":17.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"yougov_20260105",
      "firm":"yougov",
      "client":"The Times/Sky News",
      "region":"gb",
      "release_date":"2026-01-05T00:00:00",
      "field_start":"2026-01-04T00:00:00",
      "field_end":"2026-01-05T00:00:00",
      "sample_size":2343,
      "method":null,
      "time_weight":0.001858779595723867,
      "weight_firm":0.8971562323484588,
      "uk_lab":17.0,
      "uk_con":19.0,
      "uk_ld":16.0,
      "uk_ref":26.0,
      "uk_grn":15.0,
      "uk_snp":4.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"find_out_now_20251231",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2025-12-31T00:00:00",
      "field_start":"2025-12-31T00:00:00",
      "field_end":"2025-12-31T00:00:00",
      "sample_size":2930,
      "method":null,
      "time_weight":0.0014511662979853023,
      "weight_firm":0.7597475785416739,
      "uk_lab":15.0,
      "uk_con":17.0,
      "uk_ld":12.0,
      "uk_ref":31.0,
      "uk_grn":17.0,
      "uk_snp":3.0,
      "uk_pc":2.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"find_out_now_20251224",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2025-12-24T00:00:00",
      "field_start":"2025-12-24T00:00:00",
      "field_end":"2025-12-24T00:00:00",
      "sample_size":2879,
      "method":null,
      "time_weight":0.0010261295299347853,
      "weight_firm":0.7580763866066363,
      "uk_lab":14.0,
      "uk_con":18.0,
      "uk_ld":12.0,
      "uk_ref":30.0,
      "uk_grn":17.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"more_in_common_20251223",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2025-12-23T00:00:00",
      "field_start":"2025-12-19T00:00:00",
      "field_end":"2025-12-23T00:00:00",
      "sample_size":2026,
      "method":null,
      "time_weight":0.0009765625000000009,
      "weight_firm":0.7960404475656043,
      "uk_lab":21.0,
      "uk_con":22.0,
      "uk_ld":13.0,
      "uk_ref":28.0,
      "uk_grn":9.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"yougov_20251222",
      "firm":"yougov",
      "client":null,
      "region":"gb",
      "release_date":"2025-12-22T00:00:00",
      "field_start":"2025-12-21T00:00:00",
      "field_end":"2025-12-22T00:00:00",
      "sample_size":2266,
      "method":null,
      "time_weight":0.0009293897978619335,
      "weight_firm":0.8355986267563376,
      "uk_lab":20.0,
      "uk_con":19.0,
      "uk_ld":15.0,
      "uk_ref":25.0,
      "uk_grn":15.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"find_out_now_20251219",
      "firm":"find_out_now",
      "client":"The National",
      "region":"scotland",
      "release_date":"2025-12-19T00:00:00",
      "field_start":"2025-12-19T00:00:00",
      "field_end":"2025-12-19T00:00:00",
      "sample_size":1000,
      "method":null,
      "time_weight":0.0008011087461012097,
      "weight_firm":1.0957262603295945,
      "uk_lab":13.0,
      "uk_con":10.0,
      "uk_ld":8.0,
      "uk_ref":24.0,
      "uk_grn":10.0,
      "uk_snp":32.0,
      "uk_pc":null,
      "uk_oth":3.0
    },
    {
      "poll_id":"deltapoll_20251218",
      "firm":"deltapoll",
      "client":"The Mirror",
      "region":"gb",
      "release_date":"2025-12-18T00:00:00",
      "field_start":"2025-12-16T00:00:00",
      "field_end":"2025-12-18T00:00:00",
      "sample_size":1997,
      "method":null,
      "time_weight":0.0007624113106989359,
      "weight_firm":2.208532737188488,
      "uk_lab":20.0,
      "uk_con":19.0,
      "uk_ld":14.0,
      "uk_ref":30.0,
      "uk_grn":10.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"find_out_now_20251217",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2025-12-17T00:00:00",
      "field_start":"2025-12-17T00:00:00",
      "field_end":"2025-12-17T00:00:00",
      "sample_size":1909,
      "method":null,
      "time_weight":0.000725583148992651,
      "weight_firm":0.7625860703995072,
      "uk_lab":14.0,
      "uk_con":18.0,
      "uk_ld":11.0,
      "uk_ref":33.0,
      "uk_grn":17.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"more_in_common_20251216",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2025-12-16T00:00:00",
      "field_start":"2025-12-12T00:00:00",
      "field_end":"2025-12-16T00:00:00",
      "sample_size":1582,
      "method":null,
      "time_weight":0.0006905339660024884,
      "weight_firm":0.7701770341001452,
      "uk_lab":21.0,
      "uk_con":20.0,
      "uk_ld":12.0,
      "uk_ref":29.0,
      "uk_grn":11.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"more_in_common_20251216_a",
      "firm":"more_in_common",
      "client":"The Times",
      "region":"gb",
      "release_date":"2025-12-16T00:00:00",
      "field_start":"2025-11-27T00:00:00",
      "field_end":"2025-12-16T00:00:00",
      "sample_size":16083,
      "method":"mrp",
      "time_weight":0.0006905339660024884,
      "weight_firm":1.020799406303343,
      "uk_lab":20.0,
      "uk_con":21.0,
      "uk_ld":11.0,
      "uk_ref":31.0,
      "uk_grn":12.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"lord_ashcroft_20251215",
      "firm":"lord_ashcroft",
      "client":"Mail on Sunday",
      "region":"gb",
      "release_date":"2025-12-15T00:00:00",
      "field_start":"2025-12-11T00:00:00",
      "field_end":"2025-12-15T00:00:00",
      "sample_size":5196,
      "method":null,
      "time_weight":0.0006571778284337684,
      "weight_firm":1.6964849879100836,
      "uk_lab":18.0,
      "uk_con":22.0,
      "uk_ld":10.0,
      "uk_ref":25.0,
      "uk_grn":19.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"verian_20251215",
      "firm":"verian",
      "client":null,
      "region":"gb",
      "release_date":"2025-12-15T00:00:00",
      "field_start":"2025-12-12T00:00:00",
      "field_end":"2025-12-15T00:00:00",
      "sample_size":1427,
      "method":null,
      "time_weight":0.0006571778284337684,
      "weight_firm":2.1664128561210396,
      "uk_lab":18.0,
      "uk_con":21.0,
      "uk_ld":15.0,
      "uk_ref":27.0,
      "uk_grn":13.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"yougov_20251215",
      "firm":"yougov",
      "client":null,
      "region":"gb",
      "release_date":"2025-12-15T00:00:00",
      "field_start":"2025-12-14T00:00:00",
      "field_end":"2025-12-15T00:00:00",
      "sample_size":2322,
      "method":null,
      "time_weight":0.0006571778284337684,
      "weight_firm":0.8382390408588479,
      "uk_lab":18.0,
      "uk_con":17.0,
      "uk_ld":14.0,
      "uk_ref":28.0,
      "uk_grn":17.0,
      "uk_snp":4.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"opinium_20251212",
      "firm":"opinium",
      "client":"The Observer",
      "region":"gb",
      "release_date":"2025-12-12T00:00:00",
      "field_start":"2025-12-10T00:00:00",
      "field_end":"2025-12-12T00:00:00",
      "sample_size":2053,
      "method":null,
      "time_weight":0.0005664694268360175,
      "weight_firm":1.137450460932206,
      "uk_lab":20.0,
      "uk_con":18.0,
      "uk_ld":13.0,
      "uk_ref":31.0,
      "uk_grn":12.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"yougov_20251210",
      "firm":"yougov",
      "client":"Cardiff University",
      "region":"wales",
      "release_date":"2025-12-10T00:00:00",
      "field_start":"2025-12-10T00:00:00",
      "field_end":"2025-12-10T00:00:00",
      "sample_size":2500,
      "method":null,
      "time_weight":0.0005130647649673926,
      "weight_firm":1.4103795657128035,
      "uk_lab":15.0,
      "uk_con":13.0,
      "uk_ld":8.0,
      "uk_ref":30.0,
      "uk_grn":14.0,
      "uk_snp":null,
      "uk_pc":19.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"find_out_now_20251210",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2025-12-10T00:00:00",
      "field_start":"2025-12-10T00:00:00",
      "field_end":"2025-12-10T00:00:00",
      "sample_size":2363,
      "method":null,
      "time_weight":0.0005130647649673926,
      "weight_firm":0.7841233219102627,
      "uk_lab":14.0,
      "uk_con":18.0,
      "uk_ld":12.0,
      "uk_ref":30.0,
      "uk_grn":18.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"find_out_now_20251208",
      "firm":"find_out_now",
      "client":"PLMR",
      "region":"gb",
      "release_date":"2025-12-08T00:00:00",
      "field_start":"2025-12-01T00:00:00",
      "field_end":"2025-12-08T00:00:00",
      "sample_size":5598,
      "method":"mrp",
      "time_weight":0.0004646948989309671,
      "weight_firm":0.9388422843170949,
      "uk_lab":17.0,
      "uk_con":21.0,
      "uk_ld":11.0,
      "uk_ref":31.0,
      "uk_grn":12.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"more_in_common_20251208",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2025-12-08T00:00:00",
      "field_start":"2025-12-04T00:00:00",
      "field_end":"2025-12-08T00:00:00",
      "sample_size":2009,
      "method":null,
      "time_weight":0.0004646948989309671,
      "weight_firm":0.850061217514025,
      "uk_lab":20.0,
      "uk_con":21.0,
      "uk_ld":14.0,
      "uk_ref":30.0,
      "uk_grn":10.0,
      "uk_snp":3.0,
      "uk_pc":0.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"yougov_20251208",
      "firm":"yougov",
      "client":null,
      "region":"gb",
      "release_date":"2025-12-08T00:00:00",
      "field_start":"2025-12-07T00:00:00",
      "field_end":"2025-12-08T00:00:00",
      "sample_size":2303,
      "method":null,
      "time_weight":0.0004646948989309671,
      "weight_firm":0.8951652227777097,
      "uk_lab":19.0,
      "uk_con":18.0,
      "uk_ld":14.0,
      "uk_ref":27.0,
      "uk_grn":15.0,
      "uk_snp":3.0,
      "uk_pc":2.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"find_out_now_20251203",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2025-12-03T00:00:00",
      "field_start":"2025-12-03T00:00:00",
      "field_end":"2025-12-03T00:00:00",
      "sample_size":2591,
      "method":null,
      "time_weight":0.00036279157449632546,
      "weight_firm":0.8482035029247501,
      "uk_lab":14.0,
      "uk_con":20.0,
      "uk_ld":11.0,
      "uk_ref":31.0,
      "uk_grn":18.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"ipsos_uk_20251203",
      "firm":"ipsos_uk",
      "client":"STV News",
      "region":"scotland",
      "release_date":"2025-12-03T00:00:00",
      "field_start":"2025-12-03T00:00:00",
      "field_end":"2025-12-03T00:00:00",
      "sample_size":1055,
      "method":null,
      "time_weight":0.00036279157449632546,
      "weight_firm":2.4888024515881457,
      "uk_lab":17.0,
      "uk_con":11.0,
      "uk_ld":8.0,
      "uk_ref":20.0,
      "uk_grn":11.0,
      "uk_snp":33.0,
      "uk_pc":null,
      "uk_oth":1.0
    },
    {
      "poll_id":"jl_partners_20251201",
      "firm":"jl_partners",
      "client":"The Sun",
      "region":"gb",
      "release_date":"2025-12-01T00:00:00",
      "field_start":"2025-11-29T00:00:00",
      "field_end":"2025-12-01T00:00:00",
      "sample_size":1537,
      "method":null,
      "time_weight":0.00032858891421688415,
      "weight_firm":1.4946391796328675,
      "uk_lab":22.0,
      "uk_con":20.0,
      "uk_ld":11.0,
      "uk_ref":29.0,
      "uk_grn":10.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"more_in_common_20251201",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2025-12-01T00:00:00",
      "field_start":"2025-11-28T00:00:00",
      "field_end":"2025-12-01T00:00:00",
      "sample_size":2114,
      "method":null,
      "time_weight":0.00032858891421688415,
      "weight_firm":0.8557553616172823,
      "uk_lab":21.0,
      "uk_con":21.0,
      "uk_ld":13.0,
      "uk_ref":30.0,
      "uk_grn":11.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":1.0
    },
    {
      "poll_id":"yougov_20251201",
      "firm":"yougov",
      "client":null,
      "region":"gb",
      "release_date":"2025-12-01T00:00:00",
      "field_start":"2025-11-30T00:00:00",
      "field_end":"2025-12-01T00:00:00",
      "sample_size":2366,
      "method":null,
      "time_weight":0.00032858891421688415,
      "weight_firm":0.8982857276533613,
      "uk_lab":19.0,
      "uk_con":19.0,
      "uk_ld":14.0,
      "uk_ref":26.0,
      "uk_grn":16.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"freshwater_strategy_20251130",
      "firm":"freshwater_strategy",
      "client":"City AM",
      "region":"gb",
      "release_date":"2025-11-30T00:00:00",
      "field_start":"2025-11-28T00:00:00",
      "field_end":"2025-11-30T00:00:00",
      "sample_size":1558,
      "method":null,
      "time_weight":0.0003127164769932307,
      "weight_firm":1.4709007205565552,
      "uk_lab":19.0,
      "uk_con":20.0,
      "uk_ld":15.0,
      "uk_ref":31.0,
      "uk_grn":12.0,
      "uk_snp":2.0,
      "uk_pc":null,
      "uk_oth":2.0
    },
    {
      "poll_id":"focaldata_20251128",
      "firm":"focaldata",
      "client":null,
      "region":"gb",
      "release_date":"2025-11-28T00:00:00",
      "field_start":"2025-11-26T00:00:00",
      "field_end":"2025-11-28T00:00:00",
      "sample_size":1343,
      "method":null,
      "time_weight":0.00028323471341800874,
      "weight_firm":1.219129411568029,
      "uk_lab":20.0,
      "uk_con":18.0,
      "uk_ld":13.0,
      "uk_ref":29.0,
      "uk_grn":12.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"opinium_20251128",
      "firm":"opinium",
      "client":"The Observer",
      "region":"gb",
      "release_date":"2025-11-28T00:00:00",
      "field_start":"2025-11-26T00:00:00",
      "field_end":"2025-11-28T00:00:00",
      "sample_size":2050,
      "method":null,
      "time_weight":0.00028323471341800874,
      "weight_firm":1.1372323761880876,
      "uk_lab":21.0,
      "uk_con":17.0,
      "uk_ld":11.0,
      "uk_ref":31.0,
      "uk_grn":13.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"bmg_20251127",
      "firm":"bmg",
      "client":"The i Paper",
      "region":"gb",
      "release_date":"2025-11-27T00:00:00",
      "field_start":"2025-11-26T00:00:00",
      "field_end":"2025-11-27T00:00:00",
      "sample_size":1548,
      "method":null,
      "time_weight":0.0002695531039242707,
      "weight_firm":2.134517150083256,
      "uk_lab":22.0,
      "uk_con":20.0,
      "uk_ld":12.0,
      "uk_ref":30.0,
      "uk_grn":12.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"find_out_now_20251126",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2025-11-26T00:00:00",
      "field_start":"2025-11-26T00:00:00",
      "field_end":"2025-11-26T00:00:00",
      "sample_size":2555,
      "method":null,
      "time_weight":0.0002565323824836965,
      "weight_firm":0.8466935673711117,
      "uk_lab":15.0,
      "uk_con":18.0,
      "uk_ld":12.0,
      "uk_ref":31.0,
      "uk_grn":17.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":2.0
    },
    {
      "poll_id":"yougov_20251124",
      "firm":"yougov",
      "client":"The Times/Sky News",
      "region":"gb",
      "release_date":"2025-11-24T00:00:00",
      "field_start":"2025-11-23T00:00:00",
      "field_end":"2025-11-24T00:00:00",
      "sample_size":2399,
      "method":null,
      "time_weight":0.00023234744946548332,
      "weight_firm":0.899887275099298,
      "uk_lab":19.0,
      "uk_con":18.0,
      "uk_ld":15.0,
      "uk_ref":25.0,
      "uk_grn":16.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"more_in_common_20251124",
      "firm":"more_in_common",
      "client":null,
      "region":"gb",
      "release_date":"2025-11-24T00:00:00",
      "field_start":"2025-11-22T00:00:00",
      "field_end":"2025-11-24T00:00:00",
      "sample_size":2062,
      "method":null,
      "time_weight":0.00023234744946548332,
      "weight_firm":0.8529716523472463,
      "uk_lab":21.0,
      "uk_con":19.0,
      "uk_ld":14.0,
      "uk_ref":30.0,
      "uk_grn":10.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"focaldata_20251121",
      "firm":"focaldata",
      "client":null,
      "region":"gb",
      "release_date":"2025-11-21T00:00:00",
      "field_start":"2025-11-18T00:00:00",
      "field_end":"2025-11-21T00:00:00",
      "sample_size":1725,
      "method":null,
      "time_weight":0.0002002771865253022,
      "weight_firm":1.5450144415674538,
      "uk_lab":20.0,
      "uk_con":20.0,
      "uk_ld":13.0,
      "uk_ref":28.0,
      "uk_grn":10.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"opinium_20251121",
      "firm":"opinium",
      "client":"The Observer",
      "region":"gb",
      "release_date":"2025-11-21T00:00:00",
      "field_start":"2025-11-19T00:00:00",
      "field_end":"2025-11-21T00:00:00",
      "sample_size":2050,
      "method":null,
      "time_weight":0.0002002771865253022,
      "weight_firm":1.1372323761880876,
      "uk_lab":19.0,
      "uk_con":17.0,
      "uk_ld":13.0,
      "uk_ref":32.0,
      "uk_grn":12.0,
      "uk_snp":3.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"survation_20251120",
      "firm":"survation",
      "client":null,
      "region":"uk",
      "release_date":"2025-11-20T00:00:00",
      "field_start":"2025-11-16T00:00:00",
      "field_end":"2025-11-20T00:00:00",
      "sample_size":2082,
      "method":null,
      "time_weight":0.00019060282767473412,
      "weight_firm":2.279084665562378,
      "uk_lab":22.0,
      "uk_con":18.0,
      "uk_ld":12.0,
      "uk_ref":29.0,
      "uk_grn":11.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":4.0
    },
    {
      "poll_id":"find_out_now_20251119",
      "firm":"find_out_now",
      "client":null,
      "region":"gb",
      "release_date":"2025-11-19T00:00:00",
      "field_start":"2025-11-19T00:00:00",
      "field_end":"2025-11-19T00:00:00",
      "sample_size":2566,
      "method":null,
      "time_weight":0.00018139578724816273,
      "weight_firm":0.8471571820571291,
      "uk_lab":16.0,
      "uk_con":17.0,
      "uk_ld":11.0,
      "uk_ref":32.0,
      "uk_grn":18.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    },
    {
      "poll_id":"lord_ashcroft_20251117",
      "firm":"lord_ashcroft",
      "client":null,
      "region":"gb",
      "release_date":"2025-11-17T00:00:00",
      "field_start":"2025-11-13T00:00:00",
      "field_end":"2025-11-17T00:00:00",
      "sample_size":5038,
      "method":null,
      "time_weight":0.00016429445710844205,
      "weight_firm":1.6903618579757376,
      "uk_lab":18.0,
      "uk_con":20.0,
      "uk_ld":11.0,
      "uk_ref":27.0,
      "uk_grn":18.0,
      "uk_snp":2.0,
      "uk_pc":1.0,
      "uk_oth":3.0
    }
  ],
  "ridings":[
    {
      "riding_id":"E14001179",
      "name_en":"Corby and East Northamptonshire",
      "name_fr":"Corby and East Northamptonshire",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.4051,
      "mean_margin":0.57,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001372",
      "name_en":"Morecambe and Lunesdale",
      "name_fr":"Morecambe and Lunesdale",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.4456,
      "mean_margin":0.6,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001457",
      "name_en":"Rushcliffe",
      "name_fr":"Rushcliffe",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.5064,
      "mean_margin":0.83,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001304",
      "name_en":"Isle of Wight West",
      "name_fr":"Isle of Wight West",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.5138,
      "mean_margin":0.82,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001063",
      "name_en":"Aldershot",
      "name_fr":"Aldershot",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.5139,
      "mean_margin":0.68,
      "p_close_race":1.0
    },
    {
      "riding_id":"S14000092",
      "name_en":"Hamilton and Clyde Valley",
      "name_fr":"Hamilton and Clyde Valley",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":0.5251,
      "mean_margin":0.78,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001115",
      "name_en":"Bournemouth East",
      "name_fr":"Bournemouth East",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":0.5287,
      "mean_margin":0.8,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001342",
      "name_en":"Loughborough",
      "name_fr":"Loughborough",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.5384,
      "mean_margin":0.69,
      "p_close_race":1.0
    },
    {
      "riding_id":"W07000083",
      "name_en":"Bangor Aberconwy",
      "name_fr":"Bangor Aberconwy",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_pc",
      "p_leading":0.5846,
      "mean_margin":0.89,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001076",
      "name_en":"Barrow and Furness",
      "name_fr":"Barrow and Furness",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.6108,
      "mean_margin":0.84,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001326",
      "name_en":"Leicester East",
      "name_fr":"Leicester East",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":0.6302,
      "mean_margin":0.93,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001133",
      "name_en":"Bristol North East",
      "name_fr":"Bristol North East",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.6439,
      "mean_margin":0.89,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001319",
      "name_en":"Leeds Central and Headingley",
      "name_fr":"Leeds Central and Headingley",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_grn",
      "p_leading":0.7045,
      "mean_margin":0.93,
      "p_close_race":1.0
    },
    {
      "riding_id":"S14000091",
      "name_en":"Gordon and Buchan",
      "name_fr":"Gordon and Buchan",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":0.7297,
      "mean_margin":1.15,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001078",
      "name_en":"Basingstoke",
      "name_fr":"Basingstoke",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.734,
      "mean_margin":0.97,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001513",
      "name_en":"Stafford",
      "name_fr":"Stafford",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.7637,
      "mean_margin":1.03,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001370",
      "name_en":"Milton Keynes North",
      "name_fr":"Milton Keynes North",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.7654,
      "mean_margin":1.02,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001525",
      "name_en":"Stratford and Bow",
      "name_fr":"Stratford and Bow",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.7715,
      "mean_margin":0.99,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001353",
      "name_en":"Manchester Rusholme",
      "name_fr":"Manchester Rusholme",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.8103,
      "mean_margin":1.13,
      "p_close_race":1.0
    },
    {
      "riding_id":"W07000110",
      "name_en":"Vale of Glamorgan",
      "name_fr":"Vale of Glamorgan",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.9571,
      "mean_margin":1.52,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001397",
      "name_en":"North Northumberland",
      "name_fr":"North Northumberland",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9628,
      "mean_margin":1.92,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001491",
      "name_en":"South Ribble",
      "name_fr":"South Ribble",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9744,
      "mean_margin":1.69,
      "p_close_race":1.0
    },
    {
      "riding_id":"E14001568",
      "name_en":"Watford",
      "name_fr":"Watford",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":0.742,
      "mean_margin":0.9,
      "p_close_race":0.9999
    },
    {
      "riding_id":"E14001311",
      "name_en":"Kettering",
      "name_fr":"Kettering",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.8082,
      "mean_margin":1.07,
      "p_close_race":0.9999
    },
    {
      "riding_id":"E14001116",
      "name_en":"Bournemouth West",
      "name_fr":"Bournemouth West",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.8335,
      "mean_margin":1.18,
      "p_close_race":0.9999
    },
    {
      "riding_id":"S14000094",
      "name_en":"Inverness, Skye and West Ross-shire",
      "name_fr":"Inverness, Skye and West Ross-shire",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":0.9482,
      "mean_margin":1.5,
      "p_close_race":0.9999
    },
    {
      "riding_id":"S14000073",
      "name_en":"Dumfries and Galloway",
      "name_fr":"Dumfries and Galloway",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":0.7211,
      "mean_margin":1.19,
      "p_close_race":0.9998
    },
    {
      "riding_id":"E14001552",
      "name_en":"Torridge and Tavistock",
      "name_fr":"Torridge and Tavistock",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.8329,
      "mean_margin":1.13,
      "p_close_race":0.9998
    },
    {
      "riding_id":"E14001516",
      "name_en":"Stevenage",
      "name_fr":"Stevenage",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9352,
      "mean_margin":1.31,
      "p_close_race":0.9998
    },
    {
      "riding_id":"W07000094",
      "name_en":"Clwyd East",
      "name_fr":"Clwyd East",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.9866,
      "mean_margin":1.98,
      "p_close_race":0.9998
    },
    {
      "riding_id":"E14001449",
      "name_en":"Romsey and Southampton North",
      "name_fr":"Romsey and Southampton North",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":0.7245,
      "mean_margin":1.07,
      "p_close_race":0.9997
    },
    {
      "riding_id":"E14001600",
      "name_en":"Wycombe",
      "name_fr":"Wycombe",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.8824,
      "mean_margin":1.31,
      "p_close_race":0.9997
    },
    {
      "riding_id":"E14001303",
      "name_en":"Isle of Wight East",
      "name_fr":"Isle of Wight East",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9055,
      "mean_margin":1.41,
      "p_close_race":0.9997
    },
    {
      "riding_id":"E14001504",
      "name_en":"Southport",
      "name_fr":"Southport",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9898,
      "mean_margin":2.29,
      "p_close_race":0.9997
    },
    {
      "riding_id":"E14001524",
      "name_en":"Stourbridge",
      "name_fr":"Stourbridge",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.8961,
      "mean_margin":1.45,
      "p_close_race":0.9996
    },
    {
      "riding_id":"E14001467",
      "name_en":"Sheffield Central",
      "name_fr":"Sheffield Central",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_grn",
      "p_leading":0.9453,
      "mean_margin":1.66,
      "p_close_race":0.9996
    },
    {
      "riding_id":"E14001501",
      "name_en":"Southend East and Rochford",
      "name_fr":"Southend East and Rochford",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9573,
      "mean_margin":1.92,
      "p_close_race":0.9996
    },
    {
      "riding_id":"W07000101",
      "name_en":"Monmouthshire",
      "name_fr":"Monmouthshire",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9751,
      "mean_margin":1.72,
      "p_close_race":0.9996
    },
    {
      "riding_id":"E14001144",
      "name_en":"Bury North",
      "name_fr":"Bury North",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9878,
      "mean_margin":1.87,
      "p_close_race":0.9996
    },
    {
      "riding_id":"E14001248",
      "name_en":"Gloucester",
      "name_fr":"Gloucester",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":0.5734,
      "mean_margin":0.84,
      "p_close_race":0.9994
    },
    {
      "riding_id":"E14001440",
      "name_en":"Redcar",
      "name_fr":"Redcar",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":0.8846,
      "mean_margin":1.33,
      "p_close_race":0.9994
    },
    {
      "riding_id":"E14001177",
      "name_en":"Colne Valley",
      "name_fr":"Colne Valley",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9458,
      "mean_margin":1.64,
      "p_close_race":0.9993
    },
    {
      "riding_id":"E14001407",
      "name_en":"Northampton South",
      "name_fr":"Northampton South",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.956,
      "mean_margin":1.9,
      "p_close_race":0.9993
    },
    {
      "riding_id":"E14001129",
      "name_en":"Brighton Kemptown and Peacehaven",
      "name_fr":"Brighton Kemptown and Peacehaven",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_grn",
      "p_leading":0.9585,
      "mean_margin":1.83,
      "p_close_race":0.9991
    },
    {
      "riding_id":"E14001271",
      "name_en":"Harrow West",
      "name_fr":"Harrow West",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9682,
      "mean_margin":1.94,
      "p_close_race":0.9991
    },
    {
      "riding_id":"E14001424",
      "name_en":"Penrith and Solway",
      "name_fr":"Penrith and Solway",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9467,
      "mean_margin":1.61,
      "p_close_race":0.999
    },
    {
      "riding_id":"E14001274",
      "name_en":"Hastings and Rye",
      "name_fr":"Hastings and Rye",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.8605,
      "mean_margin":0.99,
      "p_close_race":0.9989
    },
    {
      "riding_id":"E14001499",
      "name_en":"Southampton Itchen",
      "name_fr":"Southampton Itchen",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9358,
      "mean_margin":1.33,
      "p_close_race":0.9989
    },
    {
      "riding_id":"E14001453",
      "name_en":"Rugby",
      "name_fr":"Rugby",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.965,
      "mean_margin":1.84,
      "p_close_race":0.9987
    },
    {
      "riding_id":"E14001232",
      "name_en":"Exmouth and Exeter East",
      "name_fr":"Exmouth and Exeter East",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.8879,
      "mean_margin":1.47,
      "p_close_race":0.9986
    },
    {
      "riding_id":"E14001597",
      "name_en":"Worcester",
      "name_fr":"Worcester",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9617,
      "mean_margin":1.44,
      "p_close_race":0.9985
    },
    {
      "riding_id":"E14001394",
      "name_en":"North East Somerset and Hanham",
      "name_fr":"North East Somerset and Hanham",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9743,
      "mean_margin":1.94,
      "p_close_race":0.9985
    },
    {
      "riding_id":"E14001254",
      "name_en":"Gravesham",
      "name_fr":"Gravesham",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.7743,
      "mean_margin":1.06,
      "p_close_race":0.9983
    },
    {
      "riding_id":"E14001199",
      "name_en":"Doncaster East and the Isle of Axholme",
      "name_fr":"Doncaster East and the Isle of Axholme",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.8936,
      "mean_margin":1.42,
      "p_close_race":0.9983
    },
    {
      "riding_id":"E14001388",
      "name_en":"North Dorset",
      "name_fr":"North Dorset",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":0.9356,
      "mean_margin":1.87,
      "p_close_race":0.9983
    },
    {
      "riding_id":"E14001278",
      "name_en":"Hemel Hempstead",
      "name_fr":"Hemel Hempstead",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9884,
      "mean_margin":2.55,
      "p_close_race":0.9983
    },
    {
      "riding_id":"E14001151",
      "name_en":"Canterbury",
      "name_fr":"Canterbury",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.9981,
      "mean_margin":2.32,
      "p_close_race":0.9983
    },
    {
      "riding_id":"E14001108",
      "name_en":"Bognor Regis and Littlehampton",
      "name_fr":"Bognor Regis and Littlehampton",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.8903,
      "mean_margin":1.43,
      "p_close_race":0.998
    },
    {
      "riding_id":"S14000104",
      "name_en":"Rutherglen",
      "name_fr":"Rutherglen",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":0.9866,
      "mean_margin":2.21,
      "p_close_race":0.998
    },
    {
      "riding_id":"E14001536",
      "name_en":"Swindon North",
      "name_fr":"Swindon North",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9786,
      "mean_margin":1.99,
      "p_close_race":0.9979
    },
    {
      "riding_id":"E14001244",
      "name_en":"Gateshead Central and Whickham",
      "name_fr":"Gateshead Central and Whickham",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9553,
      "mean_margin":1.5,
      "p_close_race":0.9976
    },
    {
      "riding_id":"E14001505",
      "name_en":"Spelthorne",
      "name_fr":"Spelthorne",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.5565,
      "mean_margin":0.84,
      "p_close_race":0.9975
    },
    {
      "riding_id":"E14001522",
      "name_en":"Stoke-on-Trent South",
      "name_fr":"Stoke-on-Trent South",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.7833,
      "mean_margin":1.09,
      "p_close_race":0.9975
    },
    {
      "riding_id":"E14001437",
      "name_en":"Rayleigh and Wickford",
      "name_fr":"Rayleigh and Wickford",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.8094,
      "mean_margin":1.15,
      "p_close_race":0.9975
    },
    {
      "riding_id":"E14001324",
      "name_en":"Leeds South West and Morley",
      "name_fr":"Leeds South West and Morley",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.97,
      "mean_margin":1.63,
      "p_close_race":0.9975
    },
    {
      "riding_id":"E14001283",
      "name_en":"Hertford and Stortford",
      "name_fr":"Hertford and Stortford",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9824,
      "mean_margin":2.1,
      "p_close_race":0.9975
    },
    {
      "riding_id":"E14001560",
      "name_en":"Wakefield and Rothwell",
      "name_fr":"Wakefield and Rothwell",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9885,
      "mean_margin":2.21,
      "p_close_race":0.9975
    },
    {
      "riding_id":"E14001315",
      "name_en":"Kingston upon Hull West and Haltemprice",
      "name_fr":"Kingston upon Hull West and Haltemprice",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9887,
      "mean_margin":2.26,
      "p_close_race":0.9975
    },
    {
      "riding_id":"E14001307",
      "name_en":"Jarrow and Gateshead East",
      "name_fr":"Jarrow and Gateshead East",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9888,
      "mean_margin":2.26,
      "p_close_race":0.9975
    },
    {
      "riding_id":"E14001514",
      "name_en":"Staffordshire Moorlands",
      "name_fr":"Staffordshire Moorlands",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.6913,
      "mean_margin":0.95,
      "p_close_race":0.9974
    },
    {
      "riding_id":"E14001185",
      "name_en":"Crewe and Nantwich",
      "name_fr":"Crewe and Nantwich",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9554,
      "mean_margin":1.46,
      "p_close_race":0.9974
    },
    {
      "riding_id":"E14001601",
      "name_en":"Wyre Forest",
      "name_fr":"Wyre Forest",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9657,
      "mean_margin":2.03,
      "p_close_race":0.9974
    },
    {
      "riding_id":"E14001146",
      "name_en":"Bury St Edmunds and Stowmarket",
      "name_fr":"Bury St Edmunds and Stowmarket",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.7845,
      "mean_margin":1.07,
      "p_close_race":0.9973
    },
    {
      "riding_id":"E14001140",
      "name_en":"Broxtowe",
      "name_fr":"Broxtowe",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9374,
      "mean_margin":1.36,
      "p_close_race":0.9973
    },
    {
      "riding_id":"E14001191",
      "name_en":"Dartford",
      "name_fr":"Dartford",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9591,
      "mean_margin":1.95,
      "p_close_race":0.9973
    },
    {
      "riding_id":"E14001343",
      "name_en":"Louth and Horncastle",
      "name_fr":"Louth and Horncastle",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.7639,
      "mean_margin":1.07,
      "p_close_race":0.9972
    },
    {
      "riding_id":"E14001515",
      "name_en":"Stalybridge and Hyde",
      "name_fr":"Stalybridge and Hyde",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.99,
      "mean_margin":2.29,
      "p_close_race":0.9972
    },
    {
      "riding_id":"E14001128",
      "name_en":"Brigg and Immingham",
      "name_fr":"Brigg and Immingham",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.5451,
      "mean_margin":0.84,
      "p_close_race":0.9971
    },
    {
      "riding_id":"E14001125",
      "name_en":"Brentwood and Ongar",
      "name_fr":"Brentwood and Ongar",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.5926,
      "mean_margin":0.87,
      "p_close_race":0.9971
    },
    {
      "riding_id":"E14001121",
      "name_en":"Braintree",
      "name_fr":"Braintree",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.5945,
      "mean_margin":0.87,
      "p_close_race":0.9971
    },
    {
      "riding_id":"E14001235",
      "name_en":"Faversham and Mid Kent",
      "name_fr":"Faversham and Mid Kent",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9671,
      "mean_margin":2.07,
      "p_close_race":0.997
    },
    {
      "riding_id":"S14000068",
      "name_en":"Bathgate and Linlithgow",
      "name_fr":"Bathgate and Linlithgow",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":0.9902,
      "mean_margin":2.33,
      "p_close_race":0.9967
    },
    {
      "riding_id":"E14001198",
      "name_en":"Doncaster Central",
      "name_fr":"Doncaster Central",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.5703,
      "mean_margin":0.68,
      "p_close_race":0.9966
    },
    {
      "riding_id":"E14001493",
      "name_en":"South Shropshire",
      "name_fr":"South Shropshire",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":0.9441,
      "mean_margin":1.99,
      "p_close_race":0.9966
    },
    {
      "riding_id":"E14001127",
      "name_en":"Bridlington and The Wolds",
      "name_fr":"Bridlington and The Wolds",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9739,
      "mean_margin":2.19,
      "p_close_race":0.9966
    },
    {
      "riding_id":"E14001585",
      "name_en":"Wigan",
      "name_fr":"Wigan",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9918,
      "mean_margin":2.56,
      "p_close_race":0.9966
    },
    {
      "riding_id":"E14001431",
      "name_en":"Portsmouth North",
      "name_fr":"Portsmouth North",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":0.567,
      "mean_margin":0.85,
      "p_close_race":0.9965
    },
    {
      "riding_id":"E14001404",
      "name_en":"North West Leicestershire",
      "name_fr":"North West Leicestershire",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.6405,
      "mean_margin":0.91,
      "p_close_race":0.9965
    },
    {
      "riding_id":"E14001543",
      "name_en":"The Wrekin",
      "name_fr":"The Wrekin",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.5655,
      "mean_margin":0.86,
      "p_close_race":0.9964
    },
    {
      "riding_id":"E14001581",
      "name_en":"Weston-super-Mare",
      "name_fr":"Weston-super-Mare",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9863,
      "mean_margin":2.57,
      "p_close_race":0.9964
    },
    {
      "riding_id":"E14001441",
      "name_en":"Redditch",
      "name_fr":"Redditch",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.7385,
      "mean_margin":1.0,
      "p_close_race":0.9961
    },
    {
      "riding_id":"E14001448",
      "name_en":"Romford",
      "name_fr":"Romford",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":0.6391,
      "mean_margin":0.89,
      "p_close_race":0.9959
    },
    {
      "riding_id":"E14001361",
      "name_en":"Mid Cheshire",
      "name_fr":"Mid Cheshire",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.5428,
      "mean_margin":0.67,
      "p_close_race":0.9957
    },
    {
      "riding_id":"E14001578",
      "name_en":"West Suffolk",
      "name_fr":"West Suffolk",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.7866,
      "mean_margin":1.08,
      "p_close_race":0.9957
    },
    {
      "riding_id":"E14001156",
      "name_en":"Central Suffolk and North Ipswich",
      "name_fr":"Central Suffolk and North Ipswich",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.8497,
      "mean_margin":1.23,
      "p_close_race":0.9957
    },
    {
      "riding_id":"E14001106",
      "name_en":"Blaydon and Consett",
      "name_fr":"Blaydon and Consett",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.5944,
      "mean_margin":0.69,
      "p_close_race":0.9956
    },
    {
      "riding_id":"E14001282",
      "name_en":"Herne Bay and Sandwich",
      "name_fr":"Herne Bay and Sandwich",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.8427,
      "mean_margin":1.21,
      "p_close_race":0.9956
    },
    {
      "riding_id":"E14001349",
      "name_en":"Maidstone and Malling",
      "name_fr":"Maidstone and Malling",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.976,
      "mean_margin":2.24,
      "p_close_race":0.9956
    },
    {
      "riding_id":"E14001468",
      "name_en":"Sheffield Hallam",
      "name_fr":"Sheffield Hallam",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":0.9952,
      "mean_margin":2.54,
      "p_close_race":0.9956
    },
    {
      "riding_id":"E14001485",
      "name_en":"South Dorset",
      "name_fr":"South Dorset",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.7725,
      "mean_margin":1.04,
      "p_close_race":0.9955
    },
    {
      "riding_id":"E14001483",
      "name_en":"South Derbyshire",
      "name_fr":"South Derbyshire",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9791,
      "mean_margin":2.36,
      "p_close_race":0.9955
    },
    {
      "riding_id":"S14000063",
      "name_en":"Airdrie and Shotts",
      "name_fr":"Airdrie and Shotts",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":0.9921,
      "mean_margin":2.47,
      "p_close_race":0.9954
    },
    {
      "riding_id":"E14001192",
      "name_en":"Daventry",
      "name_fr":"Daventry",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.8551,
      "mean_margin":1.24,
      "p_close_race":0.9953
    },
    {
      "riding_id":"E14001598",
      "name_en":"Worsley and Eccles",
      "name_fr":"Worsley and Eccles",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.651,
      "mean_margin":0.72,
      "p_close_race":0.9952
    },
    {
      "riding_id":"E14001564",
      "name_en":"Warrington North",
      "name_fr":"Warrington North",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9927,
      "mean_margin":2.84,
      "p_close_race":0.9952
    },
    {
      "riding_id":"E14001401",
      "name_en":"North West Cambridgeshire",
      "name_fr":"North West Cambridgeshire",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.8749,
      "mean_margin":1.32,
      "p_close_race":0.995
    },
    {
      "riding_id":"E14001138",
      "name_en":"Bromsgrove",
      "name_fr":"Bromsgrove",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.8824,
      "mean_margin":1.34,
      "p_close_race":0.995
    },
    {
      "riding_id":"E14001336",
      "name_en":"Lincoln",
      "name_fr":"Lincoln",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.8267,
      "mean_margin":0.94,
      "p_close_race":0.9949
    },
    {
      "riding_id":"E14001206",
      "name_en":"Dunstable and Leighton Buzzard",
      "name_fr":"Dunstable and Leighton Buzzard",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.8812,
      "mean_margin":1.34,
      "p_close_race":0.9948
    },
    {
      "riding_id":"E14001489",
      "name_en":"South Norfolk",
      "name_fr":"South Norfolk",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9591,
      "mean_margin":1.77,
      "p_close_race":0.9948
    },
    {
      "riding_id":"E14001302",
      "name_en":"Ipswich",
      "name_fr":"Ipswich",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9996,
      "mean_margin":2.52,
      "p_close_race":0.9948
    },
    {
      "riding_id":"E14001351",
      "name_en":"Maldon",
      "name_fr":"Maldon",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.892,
      "mean_margin":1.39,
      "p_close_race":0.9947
    },
    {
      "riding_id":"E14001530",
      "name_en":"Suffolk Coastal",
      "name_fr":"Suffolk Coastal",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9,
      "mean_margin":1.42,
      "p_close_race":0.9947
    },
    {
      "riding_id":"E14001335",
      "name_en":"Lichfield",
      "name_fr":"Lichfield",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9033,
      "mean_margin":1.43,
      "p_close_race":0.9945
    },
    {
      "riding_id":"E14001273",
      "name_en":"Harwich and North Essex",
      "name_fr":"Harwich and North Essex",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9167,
      "mean_margin":1.5,
      "p_close_race":0.9945
    },
    {
      "riding_id":"E14001494",
      "name_en":"South Suffolk",
      "name_fr":"South Suffolk",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9185,
      "mean_margin":1.5,
      "p_close_race":0.9945
    },
    {
      "riding_id":"E14001367",
      "name_en":"Middlesbrough and Thornaby East",
      "name_fr":"Middlesbrough and Thornaby East",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9115,
      "mean_margin":1.2,
      "p_close_race":0.9944
    },
    {
      "riding_id":"E14001148",
      "name_en":"Camborne and Redruth",
      "name_fr":"Camborne and Redruth",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9926,
      "mean_margin":2.87,
      "p_close_race":0.9943
    },
    {
      "riding_id":"E14001411",
      "name_en":"Nottingham North and Kimberley",
      "name_fr":"Nottingham North and Kimberley",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9586,
      "mean_margin":1.42,
      "p_close_race":0.9942
    },
    {
      "riding_id":"E14001464",
      "name_en":"Selby",
      "name_fr":"Selby",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.9618,
      "mean_margin":1.47,
      "p_close_race":0.9942
    },
    {
      "riding_id":"E14001377",
      "name_en":"Newcastle upon Tyne Central and West",
      "name_fr":"Newcastle upon Tyne Central and West",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9615,
      "mean_margin":1.49,
      "p_close_race":0.994
    },
    {
      "riding_id":"E14001386",
      "name_en":"North Cotswolds",
      "name_fr":"North Cotswolds",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.919,
      "mean_margin":1.71,
      "p_close_race":0.9939
    },
    {
      "riding_id":"E14001595",
      "name_en":"Wolverhampton South East",
      "name_fr":"Wolverhampton South East",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9513,
      "mean_margin":1.39,
      "p_close_race":0.9939
    },
    {
      "riding_id":"E14001574",
      "name_en":"West Bromwich",
      "name_fr":"West Bromwich",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9561,
      "mean_margin":1.43,
      "p_close_race":0.9938
    },
    {
      "riding_id":"E14001476",
      "name_en":"Sleaford and North Hykeham",
      "name_fr":"Sleaford and North Hykeham",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9396,
      "mean_margin":1.65,
      "p_close_race":0.9937
    },
    {
      "riding_id":"E14001267",
      "name_en":"Harlow",
      "name_fr":"Harlow",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.983,
      "mean_margin":2.4,
      "p_close_race":0.9937
    },
    {
      "riding_id":"E14001502",
      "name_en":"Southend West and Leigh",
      "name_fr":"Southend West and Leigh",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":0.9463,
      "mean_margin":1.67,
      "p_close_race":0.9936
    },
    {
      "riding_id":"E14001281",
      "name_en":"Hereford and South Herefordshire",
      "name_fr":"Hereford and South Herefordshire",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9464,
      "mean_margin":1.7,
      "p_close_race":0.9935
    },
    {
      "riding_id":"E14001406",
      "name_en":"Northampton North",
      "name_fr":"Northampton North",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9926,
      "mean_margin":1.9,
      "p_close_race":0.9933
    },
    {
      "riding_id":"E14001193",
      "name_en":"Derby North",
      "name_fr":"Derby North",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9943,
      "mean_margin":1.98,
      "p_close_race":0.9931
    },
    {
      "riding_id":"E14001165",
      "name_en":"Chesterfield",
      "name_fr":"Chesterfield",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9962,
      "mean_margin":2.1,
      "p_close_race":0.9929
    },
    {
      "riding_id":"E14001243",
      "name_en":"Gainsborough",
      "name_fr":"Gainsborough",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9647,
      "mean_margin":1.89,
      "p_close_race":0.9923
    },
    {
      "riding_id":"E14001408",
      "name_en":"Norwich North",
      "name_fr":"Norwich North",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9978,
      "mean_margin":2.25,
      "p_close_race":0.9922
    },
    {
      "riding_id":"E14001314",
      "name_en":"Kingston upon Hull North and Cottingham",
      "name_fr":"Kingston upon Hull North and Cottingham",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9968,
      "mean_margin":2.18,
      "p_close_race":0.992
    },
    {
      "riding_id":"E14001183",
      "name_en":"Cramlington and Killingworth",
      "name_fr":"Cramlington and Killingworth",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.9981,
      "mean_margin":2.38,
      "p_close_race":0.9917
    },
    {
      "riding_id":"E14001176",
      "name_en":"Colchester",
      "name_fr":"Colchester",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9992,
      "mean_margin":2.43,
      "p_close_race":0.9916
    },
    {
      "riding_id":"E14001178",
      "name_en":"Congleton",
      "name_fr":"Congleton",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9892,
      "mean_margin":2.25,
      "p_close_race":0.9915
    },
    {
      "riding_id":"E14001214",
      "name_en":"East Hampshire",
      "name_fr":"East Hampshire",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":0.9769,
      "mean_margin":2.45,
      "p_close_race":0.9914
    },
    {
      "riding_id":"E14001181",
      "name_en":"Coventry North West",
      "name_fr":"Coventry North West",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9993,
      "mean_margin":2.5,
      "p_close_race":0.9913
    },
    {
      "riding_id":"E14001064",
      "name_en":"Aldridge-Brownhills",
      "name_fr":"Aldridge-Brownhills",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":0.9804,
      "mean_margin":2.12,
      "p_close_race":0.9912
    },
    {
      "riding_id":"W07000103",
      "name_en":"Neath and Swansea East",
      "name_fr":"Neath and Swansea East",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.9988,
      "mean_margin":2.62,
      "p_close_race":0.9912
    },
    {
      "riding_id":"E14001345",
      "name_en":"Luton North",
      "name_fr":"Luton North",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":0.9974,
      "mean_margin":2.71,
      "p_close_race":0.9892
    },
    {
      "riding_id":"E14001423",
      "name_en":"Penistone and Stocksbridge",
      "name_fr":"Penistone and Stocksbridge",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9935,
      "mean_margin":3.12,
      "p_close_race":0.9891
    },
    {
      "riding_id":"E14001223",
      "name_en":"Eltham and Chislehurst",
      "name_fr":"Eltham and Chislehurst",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9997,
      "mean_margin":2.79,
      "p_close_race":0.9889
    },
    {
      "riding_id":"E14001289",
      "name_en":"Hitchin",
      "name_fr":"Hitchin",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.993,
      "mean_margin":2.7,
      "p_close_race":0.9886
    },
    {
      "riding_id":"E14001369",
      "name_en":"Milton Keynes Central",
      "name_fr":"Milton Keynes Central",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9957,
      "mean_margin":2.82,
      "p_close_race":0.9876
    },
    {
      "riding_id":"E14001462",
      "name_en":"Scunthorpe",
      "name_fr":"Scunthorpe",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9891,
      "mean_margin":2.72,
      "p_close_race":0.9871
    },
    {
      "riding_id":"E14001234",
      "name_en":"Farnham and Bordon",
      "name_fr":"Farnham and Bordon",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":0.9766,
      "mean_margin":2.55,
      "p_close_race":0.9866
    },
    {
      "riding_id":"E14001487",
      "name_en":"South Holland and The Deepings",
      "name_fr":"South Holland and The Deepings",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9899,
      "mean_margin":2.41,
      "p_close_race":0.986
    },
    {
      "riding_id":"E14001095",
      "name_en":"Birmingham Hodge Hill and Solihull North",
      "name_fr":"Birmingham Hodge Hill and Solihull North",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":0.9952,
      "mean_margin":2.49,
      "p_close_race":0.986
    },
    {
      "riding_id":"E14001136",
      "name_en":"Broadland and Fakenham",
      "name_fr":"Broadland and Fakenham",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9944,
      "mean_margin":2.54,
      "p_close_race":0.9855
    },
    {
      "riding_id":"E14001320",
      "name_en":"Leeds East",
      "name_fr":"Leeds East",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":3.11,
      "p_close_race":0.9845
    },
    {
      "riding_id":"E14001186",
      "name_en":"Croydon East",
      "name_fr":"Croydon East",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9974,
      "mean_margin":3.11,
      "p_close_race":0.9832
    },
    {
      "riding_id":"E14001071",
      "name_en":"Aylesbury",
      "name_fr":"Aylesbury",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9961,
      "mean_margin":2.73,
      "p_close_race":0.9829
    },
    {
      "riding_id":"E14001085",
      "name_en":"Bermondsey and Old Southwark",
      "name_fr":"Bermondsey and Old Southwark",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9988,
      "mean_margin":2.9,
      "p_close_race":0.9824
    },
    {
      "riding_id":"W07000102",
      "name_en":"Montgomeryshire and Glyndŵr",
      "name_fr":"Montgomeryshire and Glyndŵr",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9955,
      "mean_margin":3.18,
      "p_close_race":0.9821
    },
    {
      "riding_id":"E14001117",
      "name_en":"Bracknell",
      "name_fr":"Bracknell",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":0.997,
      "mean_margin":2.71,
      "p_close_race":0.9795
    },
    {
      "riding_id":"W07000100",
      "name_en":"Mid and South Pembrokeshire",
      "name_fr":"Mid and South Pembrokeshire",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9998,
      "mean_margin":3.17,
      "p_close_race":0.9783
    },
    {
      "riding_id":"E14001143",
      "name_en":"Burton and Uttoxeter",
      "name_fr":"Burton and Uttoxeter",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9913,
      "mean_margin":2.93,
      "p_close_race":0.9773
    },
    {
      "riding_id":"E14001409",
      "name_en":"Norwich South",
      "name_fr":"Norwich South",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9981,
      "mean_margin":2.86,
      "p_close_race":0.9765
    },
    {
      "riding_id":"E14001362",
      "name_en":"Mid Derbyshire",
      "name_fr":"Mid Derbyshire",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.996,
      "mean_margin":2.77,
      "p_close_race":0.9761
    },
    {
      "riding_id":"S14000077",
      "name_en":"East Kilbride and Strathaven",
      "name_fr":"East Kilbride and Strathaven",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":0.9984,
      "mean_margin":3.08,
      "p_close_race":0.976
    },
    {
      "riding_id":"E14001422",
      "name_en":"Pendle and Clitheroe",
      "name_fr":"Pendle and Clitheroe",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9978,
      "mean_margin":2.87,
      "p_close_race":0.9753
    },
    {
      "riding_id":"E14001429",
      "name_en":"Poole",
      "name_fr":"Poole",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":0.9981,
      "mean_margin":2.81,
      "p_close_race":0.9753
    },
    {
      "riding_id":"E14001287",
      "name_en":"High Peak",
      "name_fr":"High Peak",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.9968,
      "mean_margin":2.99,
      "p_close_race":0.9742
    },
    {
      "riding_id":"E14001167",
      "name_en":"Chingford and Woodford Green",
      "name_fr":"Chingford and Woodford Green",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":0.996,
      "mean_margin":2.83,
      "p_close_race":0.9731
    },
    {
      "riding_id":"E14001393",
      "name_en":"North East Hertfordshire",
      "name_fr":"North East Hertfordshire",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9985,
      "mean_margin":2.95,
      "p_close_race":0.9691
    },
    {
      "riding_id":"E14001382",
      "name_en":"Newton Aycliffe and Spennymoor",
      "name_fr":"Newton Aycliffe and Spennymoor",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9939,
      "mean_margin":3.51,
      "p_close_race":0.966
    },
    {
      "riding_id":"E14001488",
      "name_en":"South Leicestershire",
      "name_fr":"South Leicestershire",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9991,
      "mean_margin":3.12,
      "p_close_race":0.961
    },
    {
      "riding_id":"E14001173",
      "name_en":"City of Durham",
      "name_fr":"City of Durham",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":3.52,
      "p_close_race":0.9593
    },
    {
      "riding_id":"E14001249",
      "name_en":"Godalming and Ash",
      "name_fr":"Godalming and Ash",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":0.9949,
      "mean_margin":3.17,
      "p_close_race":0.9583
    },
    {
      "riding_id":"E14001509",
      "name_en":"St Helens North",
      "name_fr":"St Helens North",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":3.58,
      "p_close_race":0.9575
    },
    {
      "riding_id":"S14000076",
      "name_en":"Dunfermline and Dollar",
      "name_fr":"Dunfermline and Dollar",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":0.9992,
      "mean_margin":3.41,
      "p_close_race":0.9521
    },
    {
      "riding_id":"E14001508",
      "name_en":"St Austell and Newquay",
      "name_fr":"St Austell and Newquay",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9935,
      "mean_margin":3.34,
      "p_close_race":0.9512
    },
    {
      "riding_id":"E14001414",
      "name_en":"Old Bexley and Sidcup",
      "name_fr":"Old Bexley and Sidcup",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":0.9997,
      "mean_margin":3.27,
      "p_close_race":0.9508
    },
    {
      "riding_id":"E14001328",
      "name_en":"Leicester West",
      "name_fr":"Leicester West",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":3.63,
      "p_close_race":0.9503
    },
    {
      "riding_id":"E14001107",
      "name_en":"Blyth and Ashington",
      "name_fr":"Blyth and Ashington",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9943,
      "mean_margin":3.67,
      "p_close_race":0.947
    },
    {
      "riding_id":"W07000092",
      "name_en":"Cardiff West",
      "name_fr":"Cardiff West",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9985,
      "mean_margin":3.26,
      "p_close_race":0.9443
    },
    {
      "riding_id":"E14001242",
      "name_en":"Fylde",
      "name_fr":"Fylde",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":3.37,
      "p_close_race":0.9409
    },
    {
      "riding_id":"E14001112",
      "name_en":"Bolton West",
      "name_fr":"Bolton West",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9944,
      "mean_margin":3.59,
      "p_close_race":0.9407
    },
    {
      "riding_id":"E14001486",
      "name_en":"South East Cornwall",
      "name_fr":"South East Cornwall",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9937,
      "mean_margin":3.48,
      "p_close_race":0.9349
    },
    {
      "riding_id":"E14001123",
      "name_en":"Brent West",
      "name_fr":"Brent West",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":0.9999,
      "mean_margin":3.46,
      "p_close_race":0.9343
    },
    {
      "riding_id":"E14001533",
      "name_en":"Sussex Weald",
      "name_fr":"Sussex Weald",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9997,
      "mean_margin":3.41,
      "p_close_race":0.9325
    },
    {
      "riding_id":"E14001236",
      "name_en":"Feltham and Heston",
      "name_fr":"Feltham and Heston",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":3.83,
      "p_close_race":0.9301
    },
    {
      "riding_id":"E14001365",
      "name_en":"Mid Norfolk",
      "name_fr":"Mid Norfolk",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9997,
      "mean_margin":3.47,
      "p_close_race":0.9264
    },
    {
      "riding_id":"E14001253",
      "name_en":"Grantham and Bourne",
      "name_fr":"Grantham and Bourne",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9998,
      "mean_margin":3.49,
      "p_close_race":0.9249
    },
    {
      "riding_id":"E14001430",
      "name_en":"Poplar and Limehouse",
      "name_fr":"Poplar and Limehouse",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9999,
      "mean_margin":3.5,
      "p_close_race":0.9227
    },
    {
      "riding_id":"E14001318",
      "name_en":"Lancaster and Wyre",
      "name_fr":"Lancaster and Wyre",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":3.9,
      "p_close_race":0.9151
    },
    {
      "riding_id":"E14001554",
      "name_en":"Truro and Falmouth",
      "name_fr":"Truro and Falmouth",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.9998,
      "mean_margin":3.86,
      "p_close_race":0.9036
    },
    {
      "riding_id":"E14001147",
      "name_en":"Calder Valley",
      "name_fr":"Calder Valley",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":4.01,
      "p_close_race":0.8932
    },
    {
      "riding_id":"E14001087",
      "name_en":"Beverley and Holderness",
      "name_fr":"Beverley and Holderness",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":3.76,
      "p_close_race":0.8876
    },
    {
      "riding_id":"E14001576",
      "name_en":"West Ham and Beckton",
      "name_fr":"West Ham and Beckton",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9999,
      "mean_margin":3.8,
      "p_close_race":0.8875
    },
    {
      "riding_id":"E14001184",
      "name_en":"Crawley",
      "name_fr":"Crawley",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9954,
      "mean_margin":3.95,
      "p_close_race":0.8846
    },
    {
      "riding_id":"E14001272",
      "name_en":"Hartlepool",
      "name_fr":"Hartlepool",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9948,
      "mean_margin":4.04,
      "p_close_race":0.8788
    },
    {
      "riding_id":"E14001495",
      "name_en":"South West Devon",
      "name_fr":"South West Devon",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":3.84,
      "p_close_race":0.8758
    },
    {
      "riding_id":"E14001139",
      "name_en":"Broxbourne",
      "name_fr":"Broxbourne",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":3.83,
      "p_close_race":0.8737
    },
    {
      "riding_id":"E14001089",
      "name_en":"Bexleyheath and Crayford",
      "name_fr":"Bexleyheath and Crayford",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.995,
      "mean_margin":3.86,
      "p_close_race":0.8728
    },
    {
      "riding_id":"W07000088",
      "name_en":"Caerphilly",
      "name_fr":"Caerphilly",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.9998,
      "mean_margin":3.95,
      "p_close_race":0.8721
    },
    {
      "riding_id":"E14001238",
      "name_en":"Finchley and Golders Green",
      "name_fr":"Finchley and Golders Green",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":3.88,
      "p_close_race":0.8671
    },
    {
      "riding_id":"E14001142",
      "name_en":"Burnley",
      "name_fr":"Burnley",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9949,
      "mean_margin":3.94,
      "p_close_race":0.8583
    },
    {
      "riding_id":"E14001145",
      "name_en":"Bury South",
      "name_fr":"Bury South",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":4.19,
      "p_close_race":0.851
    },
    {
      "riding_id":"E14001137",
      "name_en":"Bromley and Biggin Hill",
      "name_fr":"Bromley and Biggin Hill",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.01,
      "p_close_race":0.84
    },
    {
      "riding_id":"S14000045",
      "name_en":"Midlothian",
      "name_fr":"Midlothian",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":4.04,
      "p_close_race":0.8383
    },
    {
      "riding_id":"E14001141",
      "name_en":"Buckingham and Bletchley",
      "name_fr":"Buckingham and Bletchley",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.04,
      "p_close_race":0.8292
    },
    {
      "riding_id":"E14001263",
      "name_en":"Hamble Valley",
      "name_fr":"Hamble Valley",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":0.9998,
      "mean_margin":3.89,
      "p_close_race":0.8241
    },
    {
      "riding_id":"E14001347",
      "name_en":"Macclesfield",
      "name_fr":"Macclesfield",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":0.9997,
      "mean_margin":4.05,
      "p_close_race":0.8239
    },
    {
      "riding_id":"E14001405",
      "name_en":"North West Norfolk",
      "name_fr":"North West Norfolk",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.09,
      "p_close_race":0.8208
    },
    {
      "riding_id":"E14001149",
      "name_en":"Cambridge",
      "name_fr":"Cambridge",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":4.1,
      "p_close_race":0.8067
    },
    {
      "riding_id":"E14001378",
      "name_en":"Newcastle upon Tyne East and Wallsend",
      "name_fr":"Newcastle upon Tyne East and Wallsend",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":4.35,
      "p_close_race":0.8058
    },
    {
      "riding_id":"E14001240",
      "name_en":"Forest of Dean",
      "name_fr":"Forest of Dean",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.22,
      "p_close_race":0.7912
    },
    {
      "riding_id":"S14000071",
      "name_en":"Cowdenbeath and Kirkcaldy",
      "name_fr":"Cowdenbeath and Kirkcaldy",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":4.21,
      "p_close_race":0.7904
    },
    {
      "riding_id":"E14001359",
      "name_en":"Mid Bedfordshire",
      "name_fr":"Mid Bedfordshire",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.24,
      "p_close_race":0.7802
    },
    {
      "riding_id":"E14001498",
      "name_en":"South West Wiltshire",
      "name_fr":"South West Wiltshire",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.32,
      "p_close_race":0.7634
    },
    {
      "riding_id":"W07000095",
      "name_en":"Clwyd North",
      "name_fr":"Clwyd North",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.37,
      "p_close_race":0.7634
    },
    {
      "riding_id":"E14001171",
      "name_en":"Christchurch",
      "name_fr":"Christchurch",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.33,
      "p_close_race":0.76
    },
    {
      "riding_id":"E14001126",
      "name_en":"Bridgwater",
      "name_fr":"Bridgwater",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9955,
      "mean_margin":4.27,
      "p_close_race":0.7595
    },
    {
      "riding_id":"E14001518",
      "name_en":"Stockton North",
      "name_fr":"Stockton North",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.995,
      "mean_margin":4.43,
      "p_close_race":0.7592
    },
    {
      "riding_id":"E14001065",
      "name_en":"Altrincham and Sale West",
      "name_fr":"Altrincham and Sale West",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.32,
      "p_close_race":0.7509
    },
    {
      "riding_id":"E14001496",
      "name_en":"South West Hertfordshire",
      "name_fr":"South West Hertfordshire",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.23,
      "p_close_race":0.7501
    },
    {
      "riding_id":"S14000111",
      "name_en":"West Aberdeenshire and Kincardine",
      "name_fr":"West Aberdeenshire and Kincardine",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.23,
      "p_close_race":0.7414
    },
    {
      "riding_id":"E14001233",
      "name_en":"Fareham and Waterlooville",
      "name_fr":"Fareham and Waterlooville",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.4,
      "p_close_race":0.7397
    },
    {
      "riding_id":"E14001299",
      "name_en":"Hyndburn",
      "name_fr":"Hyndburn",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9961,
      "mean_margin":4.34,
      "p_close_race":0.737
    },
    {
      "riding_id":"E14001155",
      "name_en":"Central Devon",
      "name_fr":"Central Devon",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.4,
      "p_close_race":0.7346
    },
    {
      "riding_id":"E14001152",
      "name_en":"Carlisle",
      "name_fr":"Carlisle",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9958,
      "mean_margin":4.43,
      "p_close_race":0.7178
    },
    {
      "riding_id":"E14001346",
      "name_en":"Luton South and South Bedfordshire",
      "name_fr":"Luton South and South Bedfordshire",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":4.5,
      "p_close_race":0.6993
    },
    {
      "riding_id":"S14000099",
      "name_en":"Motherwell, Wishaw and Carluke",
      "name_fr":"Motherwell, Wishaw and Carluke",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":4.51,
      "p_close_race":0.6925
    },
    {
      "riding_id":"E14001472",
      "name_en":"Shipley",
      "name_fr":"Shipley",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":4.58,
      "p_close_race":0.6895
    },
    {
      "riding_id":"E14001329",
      "name_en":"Leigh and Atherton",
      "name_fr":"Leigh and Atherton",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9955,
      "mean_margin":4.65,
      "p_close_race":0.6653
    },
    {
      "riding_id":"E14001418",
      "name_en":"Ossett and Denby Dale",
      "name_fr":"Ossett and Denby Dale",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9966,
      "mean_margin":4.55,
      "p_close_race":0.6621
    },
    {
      "riding_id":"E14001093",
      "name_en":"Birmingham Erdington",
      "name_fr":"Birmingham Erdington",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9953,
      "mean_margin":4.64,
      "p_close_race":0.6606
    },
    {
      "riding_id":"E14001599",
      "name_en":"Worthing West",
      "name_fr":"Worthing West",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.61,
      "p_close_race":0.6566
    },
    {
      "riding_id":"E14001288",
      "name_en":"Hinckley and Bosworth",
      "name_fr":"Hinckley and Bosworth",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.64,
      "p_close_race":0.6448
    },
    {
      "riding_id":"E14001562",
      "name_en":"Walsall and Bloxwich",
      "name_fr":"Walsall and Bloxwich",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9951,
      "mean_margin":4.64,
      "p_close_race":0.6325
    },
    {
      "riding_id":"E14001231",
      "name_en":"Exeter",
      "name_fr":"Exeter",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":4.65,
      "p_close_race":0.6249
    },
    {
      "riding_id":"E14001154",
      "name_en":"Castle Point",
      "name_fr":"Castle Point",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9968,
      "mean_margin":4.65,
      "p_close_race":0.6198
    },
    {
      "riding_id":"E14001573",
      "name_en":"Welwyn Hatfield",
      "name_fr":"Welwyn Hatfield",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.72,
      "p_close_race":0.6163
    },
    {
      "riding_id":"E14001443",
      "name_en":"Ribble Valley",
      "name_fr":"Ribble Valley",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.74,
      "p_close_race":0.6113
    },
    {
      "riding_id":"E14001088",
      "name_en":"Bexhill and Battle",
      "name_fr":"Bexhill and Battle",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":4.78,
      "p_close_race":0.6064
    },
    {
      "riding_id":"E14001073",
      "name_en":"Barking",
      "name_fr":"Barking",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":4.74,
      "p_close_race":0.6044
    },
    {
      "riding_id":"E14001091",
      "name_en":"Birkenhead",
      "name_fr":"Birkenhead",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":0.9999,
      "mean_margin":4.77,
      "p_close_race":0.5907
    },
    {
      "riding_id":"E14001216",
      "name_en":"East Thanet",
      "name_fr":"East Thanet",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9958,
      "mean_margin":4.79,
      "p_close_race":0.5904
    },
    {
      "riding_id":"E14001355",
      "name_en":"Mansfield",
      "name_fr":"Mansfield",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9969,
      "mean_margin":4.72,
      "p_close_race":0.5899
    },
    {
      "riding_id":"S14000021",
      "name_en":"East Renfrewshire",
      "name_fr":"East Renfrewshire",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":4.84,
      "p_close_race":0.5725
    },
    {
      "riding_id":"E14001500",
      "name_en":"Southampton Test",
      "name_fr":"Southampton Test",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":4.93,
      "p_close_race":0.5538
    },
    {
      "riding_id":"W07000098",
      "name_en":"Llanelli",
      "name_fr":"Llanelli",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.997,
      "mean_margin":4.88,
      "p_close_race":0.5452
    },
    {
      "riding_id":"E14001473",
      "name_en":"Shrewsbury",
      "name_fr":"Shrewsbury",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":4.99,
      "p_close_race":0.5207
    },
    {
      "riding_id":"S14000098",
      "name_en":"Moray West, Nairn and Strathspey",
      "name_fr":"Moray West, Nairn and Strathspey",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":0.9994,
      "mean_margin":4.94,
      "p_close_race":0.504
    },
    {
      "riding_id":"S14000109",
      "name_en":"Central Ayrshire",
      "name_fr":"Central Ayrshire",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":5.02,
      "p_close_race":0.4964
    },
    {
      "riding_id":"S14000062",
      "name_en":"Aberdeenshire North and Moray East",
      "name_fr":"Aberdeenshire North and Moray East",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":0.9997,
      "mean_margin":4.96,
      "p_close_race":0.4957
    },
    {
      "riding_id":"E14001596",
      "name_en":"Wolverhampton West",
      "name_fr":"Wolverhampton West",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":5.02,
      "p_close_race":0.4784
    },
    {
      "riding_id":"E14001590",
      "name_en":"Witham",
      "name_fr":"Witham",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":5.2,
      "p_close_race":0.4455
    },
    {
      "riding_id":"E14001465",
      "name_en":"Sevenoaks",
      "name_fr":"Sevenoaks",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":5.21,
      "p_close_race":0.4257
    },
    {
      "riding_id":"E14001391",
      "name_en":"North East Derbyshire",
      "name_fr":"North East Derbyshire",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":5.25,
      "p_close_race":0.4198
    },
    {
      "riding_id":"E14001072",
      "name_en":"Banbury",
      "name_fr":"Banbury",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":5.29,
      "p_close_race":0.3927
    },
    {
      "riding_id":"E14001079",
      "name_en":"Bassetlaw",
      "name_fr":"Bassetlaw",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9967,
      "mean_margin":5.19,
      "p_close_race":0.3904
    },
    {
      "riding_id":"E14001172",
      "name_en":"Cities of London and Westminster",
      "name_fr":"Cities of London and Westminster",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":5.3,
      "p_close_race":0.3898
    },
    {
      "riding_id":"E14001099",
      "name_en":"Birmingham Selly Oak",
      "name_fr":"Birmingham Selly Oak",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":5.27,
      "p_close_race":0.3779
    },
    {
      "riding_id":"E14001583",
      "name_en":"Whitehaven and Workington",
      "name_fr":"Whitehaven and Workington",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":5.31,
      "p_close_race":0.3695
    },
    {
      "riding_id":"W07000085",
      "name_en":"Brecon, Radnor and Cwm Tawe",
      "name_fr":"Brecon, Radnor and Cwm Tawe",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":5.21,
      "p_close_race":0.3627
    },
    {
      "riding_id":"E14001460",
      "name_en":"Salisbury",
      "name_fr":"Salisbury",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":5.52,
      "p_close_race":0.3413
    },
    {
      "riding_id":"E14001069",
      "name_en":"Ashford",
      "name_fr":"Ashford",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9974,
      "mean_margin":5.42,
      "p_close_race":0.3267
    },
    {
      "riding_id":"E14001218",
      "name_en":"East Worthing and Shoreham",
      "name_fr":"East Worthing and Shoreham",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":5.4,
      "p_close_race":0.3135
    },
    {
      "riding_id":"E14001450",
      "name_en":"Rossendale and Darwen",
      "name_fr":"Rossendale and Darwen",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9971,
      "mean_margin":5.38,
      "p_close_race":0.3049
    },
    {
      "riding_id":"E14001275",
      "name_en":"Havant",
      "name_fr":"Havant",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9975,
      "mean_margin":5.48,
      "p_close_race":0.3037
    },
    {
      "riding_id":"E14001605",
      "name_en":"York Outer",
      "name_fr":"York Outer",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":5.52,
      "p_close_race":0.303
    },
    {
      "riding_id":"E14001190",
      "name_en":"Darlington",
      "name_fr":"Darlington",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":5.57,
      "p_close_race":0.2912
    },
    {
      "riding_id":"S14000096",
      "name_en":"Lothian East",
      "name_fr":"Lothian East",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":5.55,
      "p_close_race":0.2871
    },
    {
      "riding_id":"E14001451",
      "name_en":"Rother Valley",
      "name_fr":"Rother Valley",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":5.6,
      "p_close_race":0.2854
    },
    {
      "riding_id":"E14001245",
      "name_en":"Gedling",
      "name_fr":"Gedling",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":5.51,
      "p_close_race":0.2838
    },
    {
      "riding_id":"E14001334",
      "name_en":"Leyton and Wanstead",
      "name_fr":"Leyton and Wanstead",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":5.62,
      "p_close_race":0.2835
    },
    {
      "riding_id":"E14001310",
      "name_en":"Kensington and Bayswater",
      "name_fr":"Kensington and Bayswater",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":5.6,
      "p_close_race":0.2814
    },
    {
      "riding_id":"E14001594",
      "name_en":"Wolverhampton North East",
      "name_fr":"Wolverhampton North East",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9967,
      "mean_margin":5.46,
      "p_close_race":0.2775
    },
    {
      "riding_id":"E14001134",
      "name_en":"Bristol North West",
      "name_fr":"Bristol North West",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":5.65,
      "p_close_race":0.2754
    },
    {
      "riding_id":"E14001565",
      "name_en":"Warrington South",
      "name_fr":"Warrington South",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":5.52,
      "p_close_race":0.2661
    },
    {
      "riding_id":"E14001074",
      "name_en":"Barnsley North",
      "name_fr":"Barnsley North",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9969,
      "mean_margin":5.51,
      "p_close_race":0.2577
    },
    {
      "riding_id":"E14001358",
      "name_en":"Meriden and Solihull East",
      "name_fr":"Meriden and Solihull East",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":5.74,
      "p_close_race":0.2419
    },
    {
      "riding_id":"E14001510",
      "name_en":"St Helens South and Whiston",
      "name_fr":"St Helens South and Whiston",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":5.61,
      "p_close_race":0.2364
    },
    {
      "riding_id":"E14001246",
      "name_en":"Gillingham and Rainham",
      "name_fr":"Gillingham and Rainham",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9975,
      "mean_margin":5.71,
      "p_close_race":0.2329
    },
    {
      "riding_id":"E14001360",
      "name_en":"Mid Buckinghamshire",
      "name_fr":"Mid Buckinghamshire",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":5.91,
      "p_close_race":0.2324
    },
    {
      "riding_id":"E14001571",
      "name_en":"Wellingborough and Rushden",
      "name_fr":"Wellingborough and Rushden",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9971,
      "mean_margin":5.59,
      "p_close_race":0.2266
    },
    {
      "riding_id":"E14001433",
      "name_en":"Preston",
      "name_fr":"Preston",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":5.77,
      "p_close_race":0.2259
    },
    {
      "riding_id":"E14001316",
      "name_en":"Kingswinford and South Staffordshire",
      "name_fr":"Kingswinford and South Staffordshire",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":5.81,
      "p_close_race":0.2235
    },
    {
      "riding_id":"E14001180",
      "name_en":"Coventry East",
      "name_fr":"Coventry East",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":5.68,
      "p_close_race":0.2174
    },
    {
      "riding_id":"E14001541",
      "name_en":"Telford",
      "name_fr":"Telford",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9971,
      "mean_margin":5.62,
      "p_close_race":0.2172
    },
    {
      "riding_id":"E14001538",
      "name_en":"Tamworth",
      "name_fr":"Tamworth",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9977,
      "mean_margin":5.8,
      "p_close_race":0.2157
    },
    {
      "riding_id":"E14001390",
      "name_en":"North East Cambridgeshire",
      "name_fr":"North East Cambridgeshire",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":5.85,
      "p_close_race":0.2143
    },
    {
      "riding_id":"E14001364",
      "name_en":"Mid Leicestershire",
      "name_fr":"Mid Leicestershire",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":5.87,
      "p_close_race":0.2092
    },
    {
      "riding_id":"E14001392",
      "name_en":"North East Hampshire",
      "name_fr":"North East Hampshire",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":0.9998,
      "mean_margin":5.94,
      "p_close_race":0.1975
    },
    {
      "riding_id":"E14001109",
      "name_en":"Bolsover",
      "name_fr":"Bolsover",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.997,
      "mean_margin":5.73,
      "p_close_race":0.1806
    },
    {
      "riding_id":"E14001224",
      "name_en":"Ely and East Cambridgeshire",
      "name_fr":"Ely and East Cambridgeshire",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":0.9998,
      "mean_margin":6.09,
      "p_close_race":0.1744
    },
    {
      "riding_id":"E14001215",
      "name_en":"East Surrey",
      "name_fr":"East Surrey",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.05,
      "p_close_race":0.156
    },
    {
      "riding_id":"E14001413",
      "name_en":"Nuneaton",
      "name_fr":"Nuneaton",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.998,
      "mean_margin":6.04,
      "p_close_race":0.155
    },
    {
      "riding_id":"E14001228",
      "name_en":"Erewash",
      "name_fr":"Erewash",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9971,
      "mean_margin":5.88,
      "p_close_race":0.1363
    },
    {
      "riding_id":"E14001354",
      "name_en":"Manchester Withington",
      "name_fr":"Manchester Withington",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":6.22,
      "p_close_race":0.1301
    },
    {
      "riding_id":"E14001097",
      "name_en":"Birmingham Northfield",
      "name_fr":"Birmingham Northfield",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9974,
      "mean_margin":5.92,
      "p_close_race":0.1266
    },
    {
      "riding_id":"E14001357",
      "name_en":"Melton and Syston",
      "name_fr":"Melton and Syston",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.18,
      "p_close_race":0.1264
    },
    {
      "riding_id":"S14000089",
      "name_en":"Glasgow West",
      "name_fr":"Glasgow West",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":6.09,
      "p_close_race":0.1257
    },
    {
      "riding_id":"E14001427",
      "name_en":"Plymouth Sutton and Devonport",
      "name_fr":"Plymouth Sutton and Devonport",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":5.96,
      "p_close_race":0.1246
    },
    {
      "riding_id":"E14001417",
      "name_en":"Orpington",
      "name_fr":"Orpington",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.19,
      "p_close_race":0.124
    },
    {
      "riding_id":"E14001082",
      "name_en":"Beaconsfield",
      "name_fr":"Beaconsfield",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.45,
      "p_close_race":0.1148
    },
    {
      "riding_id":"E14001461",
      "name_en":"Scarborough and Whitby",
      "name_fr":"Scarborough and Whitby",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9976,
      "mean_margin":6.02,
      "p_close_race":0.1112
    },
    {
      "riding_id":"S14000107",
      "name_en":"Ayr, Carrick and Cumnock",
      "name_fr":"Ayr, Carrick and Cumnock",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":6.64,
      "p_close_race":0.1024
    },
    {
      "riding_id":"E14001436",
      "name_en":"Rawmarsh and Conisbrough",
      "name_fr":"Rawmarsh and Conisbrough",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9974,
      "mean_margin":6.03,
      "p_close_race":0.102
    },
    {
      "riding_id":"S14000027",
      "name_en":"Na h-Eileanan an Iar",
      "name_fr":"Na h-Eileanan an Iar",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":6.28,
      "p_close_race":0.098
    },
    {
      "riding_id":"E14001426",
      "name_en":"Plymouth Moor View",
      "name_fr":"Plymouth Moor View",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9973,
      "mean_margin":6.1,
      "p_close_race":0.086
    },
    {
      "riding_id":"E14001103",
      "name_en":"Blackley and Middleton South",
      "name_fr":"Blackley and Middleton South",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":6.16,
      "p_close_race":0.0836
    },
    {
      "riding_id":"E14001439",
      "name_en":"Reading West and Mid Berkshire",
      "name_fr":"Reading West and Mid Berkshire",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.46,
      "p_close_race":0.0735
    },
    {
      "riding_id":"E14001416",
      "name_en":"Oldham West, Chadderton and Royton",
      "name_fr":"Oldham West, Chadderton and Royton",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":6.46,
      "p_close_race":0.0731
    },
    {
      "riding_id":"E14001217",
      "name_en":"East Wiltshire",
      "name_fr":"East Wiltshire",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.49,
      "p_close_race":0.0724
    },
    {
      "riding_id":"E14001490",
      "name_en":"South Northamptonshire",
      "name_fr":"South Northamptonshire",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.58,
      "p_close_race":0.0629
    },
    {
      "riding_id":"E14001374",
      "name_en":"New Forest West",
      "name_fr":"New Forest West",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.58,
      "p_close_race":0.0612
    },
    {
      "riding_id":"E14001070",
      "name_en":"Ashton-under-Lyne",
      "name_fr":"Ashton-under-Lyne",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9974,
      "mean_margin":6.25,
      "p_close_race":0.06
    },
    {
      "riding_id":"S14000074",
      "name_en":"Dumfriesshire, Clydesdale and Tweeddale",
      "name_fr":"Dumfriesshire, Clydesdale and Tweeddale",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.93,
      "p_close_race":0.0598
    },
    {
      "riding_id":"E14001285",
      "name_en":"Hexham",
      "name_fr":"Hexham",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.57,
      "p_close_race":0.0591
    },
    {
      "riding_id":"E14001447",
      "name_en":"Rochester and Strood",
      "name_fr":"Rochester and Strood",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9981,
      "mean_margin":6.67,
      "p_close_race":0.0577
    },
    {
      "riding_id":"E14001260",
      "name_en":"Hackney South and Shoreditch",
      "name_fr":"Hackney South and Shoreditch",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":6.7,
      "p_close_race":0.056
    },
    {
      "riding_id":"E14001381",
      "name_en":"Newton Abbot",
      "name_fr":"Newton Abbot",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":6.52,
      "p_close_race":0.0558
    },
    {
      "riding_id":"S14000093",
      "name_en":"Inverclyde and Renfrewshire West",
      "name_fr":"Inverclyde and Renfrewshire West",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":6.54,
      "p_close_race":0.055
    },
    {
      "riding_id":"E14001101",
      "name_en":"Bishop Auckland",
      "name_fr":"Bishop Auckland",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9977,
      "mean_margin":6.33,
      "p_close_race":0.0545
    },
    {
      "riding_id":"S14000070",
      "name_en":"Coatbridge and Bellshill",
      "name_fr":"Coatbridge and Bellshill",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":6.57,
      "p_close_race":0.0521
    },
    {
      "riding_id":"W07000082",
      "name_en":"Alyn and Deeside",
      "name_fr":"Alyn and Deeside",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":6.37,
      "p_close_race":0.0511
    },
    {
      "riding_id":"E14001579",
      "name_en":"West Worcestershire",
      "name_fr":"West Worcestershire",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.99,
      "p_close_race":0.0487
    },
    {
      "riding_id":"S14000102",
      "name_en":"Paisley and Renfrewshire South",
      "name_fr":"Paisley and Renfrewshire South",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":6.63,
      "p_close_race":0.0464
    },
    {
      "riding_id":"E14001425",
      "name_en":"Peterborough",
      "name_fr":"Peterborough",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.74,
      "p_close_race":0.0422
    },
    {
      "riding_id":"E14001478",
      "name_en":"Smethwick",
      "name_fr":"Smethwick",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":6.45,
      "p_close_race":0.042
    },
    {
      "riding_id":"E14001195",
      "name_en":"Derbyshire Dales",
      "name_fr":"Derbyshire Dales",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.79,
      "p_close_race":0.0411
    },
    {
      "riding_id":"S14000079",
      "name_en":"Edinburgh North and Leith",
      "name_fr":"Edinburgh North and Leith",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":6.69,
      "p_close_race":0.0399
    },
    {
      "riding_id":"E14001261",
      "name_en":"Halesowen",
      "name_fr":"Halesowen",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9981,
      "mean_margin":6.78,
      "p_close_race":0.0382
    },
    {
      "riding_id":"E14001475",
      "name_en":"Skipton and Ripon",
      "name_fr":"Skipton and Ripon",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.83,
      "p_close_race":0.0365
    },
    {
      "riding_id":"E14001380",
      "name_en":"Newcastle-under-Lyme",
      "name_fr":"Newcastle-under-Lyme",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9978,
      "mean_margin":6.6,
      "p_close_race":0.031
    },
    {
      "riding_id":"W07000112",
      "name_en":"Ynys Môn",
      "name_fr":"Ynys Môn",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_pc",
      "p_leading":1.0,
      "mean_margin":7.09,
      "p_close_race":0.0307
    },
    {
      "riding_id":"E14001237",
      "name_en":"Filton and Bradley Stoke",
      "name_fr":"Filton and Bradley Stoke",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":6.6,
      "p_close_race":0.0293
    },
    {
      "riding_id":"W07000109",
      "name_en":"Torfaen",
      "name_fr":"Torfaen",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":6.6,
      "p_close_race":0.0293
    },
    {
      "riding_id":"E14001111",
      "name_en":"Bolton South and Walkden",
      "name_fr":"Bolton South and Walkden",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9976,
      "mean_margin":6.6,
      "p_close_race":0.0288
    },
    {
      "riding_id":"S14000064",
      "name_en":"Alloa and Grangemouth",
      "name_fr":"Alloa and Grangemouth",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":6.86,
      "p_close_race":0.028
    },
    {
      "riding_id":"E14001589",
      "name_en":"Wirral West",
      "name_fr":"Wirral West",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":7.0,
      "p_close_race":0.0274
    },
    {
      "riding_id":"E14001479",
      "name_en":"Solihull West and Shirley",
      "name_fr":"Solihull West and Shirley",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":6.99,
      "p_close_race":0.0255
    },
    {
      "riding_id":"E14001492",
      "name_en":"South Shields",
      "name_fr":"South Shields",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9978,
      "mean_margin":6.7,
      "p_close_race":0.0249
    },
    {
      "riding_id":"E14001301",
      "name_en":"Ilford South",
      "name_fr":"Ilford South",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":6.96,
      "p_close_race":0.0233
    },
    {
      "riding_id":"E14001189",
      "name_en":"Dagenham and Rainham",
      "name_fr":"Dagenham and Rainham",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9974,
      "mean_margin":6.72,
      "p_close_race":0.0218
    },
    {
      "riding_id":"E14001446",
      "name_en":"Rochdale",
      "name_fr":"Rochdale",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":7.05,
      "p_close_race":0.0197
    },
    {
      "riding_id":"E14001104",
      "name_en":"Blackpool North and Fleetwood",
      "name_fr":"Blackpool North and Fleetwood",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9984,
      "mean_margin":7.27,
      "p_close_race":0.0192
    },
    {
      "riding_id":"E14001105",
      "name_en":"Blackpool South",
      "name_fr":"Blackpool South",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9977,
      "mean_margin":6.79,
      "p_close_race":0.0191
    },
    {
      "riding_id":"E14001290",
      "name_en":"Holborn and St Pancras",
      "name_fr":"Holborn and St Pancras",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":7.05,
      "p_close_race":0.0187
    },
    {
      "riding_id":"E14001363",
      "name_en":"Mid Dorset and North Poole",
      "name_fr":"Mid Dorset and North Poole",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":7.49,
      "p_close_race":0.0187
    },
    {
      "riding_id":"E14001577",
      "name_en":"West Lancashire",
      "name_fr":"West Lancashire",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":6.72,
      "p_close_race":0.0176
    },
    {
      "riding_id":"E14001298",
      "name_en":"Huntingdon",
      "name_fr":"Huntingdon",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":7.16,
      "p_close_race":0.0163
    },
    {
      "riding_id":"E14001438",
      "name_en":"Reading Central",
      "name_fr":"Reading Central",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":7.26,
      "p_close_race":0.0162
    },
    {
      "riding_id":"E14001520",
      "name_en":"Stoke-on-Trent Central",
      "name_fr":"Stoke-on-Trent Central",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9979,
      "mean_margin":6.97,
      "p_close_race":0.0152
    },
    {
      "riding_id":"W07000099",
      "name_en":"Merthyr Tydfil and Aberdare",
      "name_fr":"Merthyr Tydfil and Aberdare",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":6.84,
      "p_close_race":0.014
    },
    {
      "riding_id":"S14000101",
      "name_en":"Paisley and Renfrewshire North",
      "name_fr":"Paisley and Renfrewshire North",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":7.15,
      "p_close_race":0.0139
    },
    {
      "riding_id":"E14001344",
      "name_en":"Lowestoft",
      "name_fr":"Lowestoft",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9986,
      "mean_margin":7.52,
      "p_close_race":0.0132
    },
    {
      "riding_id":"E14001169",
      "name_en":"Chipping Barnet",
      "name_fr":"Chipping Barnet",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":7.22,
      "p_close_race":0.0125
    },
    {
      "riding_id":"W07000107",
      "name_en":"Rhondda and Ogmore",
      "name_fr":"Rhondda and Ogmore",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":6.9,
      "p_close_race":0.0116
    },
    {
      "riding_id":"E14001570",
      "name_en":"Weald of Kent",
      "name_fr":"Weald of Kent",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":7.23,
      "p_close_race":0.0112
    },
    {
      "riding_id":"E14001403",
      "name_en":"North West Hampshire",
      "name_fr":"North West Hampshire",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":7.26,
      "p_close_race":0.0106
    },
    {
      "riding_id":"W07000111",
      "name_en":"Wrexham",
      "name_fr":"Wrexham",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":7.03,
      "p_close_race":0.0102
    },
    {
      "riding_id":"E14001211",
      "name_en":"Easington",
      "name_fr":"Easington",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9981,
      "mean_margin":7.38,
      "p_close_race":0.0101
    },
    {
      "riding_id":"E14001567",
      "name_en":"Washington and Gateshead South",
      "name_fr":"Washington and Gateshead South",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9981,
      "mean_margin":7.54,
      "p_close_race":0.0088
    },
    {
      "riding_id":"E14001250",
      "name_en":"Goole and Pocklington",
      "name_fr":"Goole and Pocklington",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":7.49,
      "p_close_race":0.0085
    },
    {
      "riding_id":"E14001428",
      "name_en":"Pontefract, Castleford and Knottingley",
      "name_fr":"Pontefract, Castleford and Knottingley",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9981,
      "mean_margin":7.76,
      "p_close_race":0.0083
    },
    {
      "riding_id":"E14001262",
      "name_en":"Halifax",
      "name_fr":"Halifax",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9983,
      "mean_margin":7.94,
      "p_close_race":0.0077
    },
    {
      "riding_id":"E14001415",
      "name_en":"Oldham East and Saddleworth",
      "name_fr":"Oldham East and Saddleworth",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9982,
      "mean_margin":7.89,
      "p_close_race":0.0076
    },
    {
      "riding_id":"E14001332",
      "name_en":"Lewisham North",
      "name_fr":"Lewisham North",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":7.56,
      "p_close_race":0.0076
    },
    {
      "riding_id":"E14001383",
      "name_en":"Normanton and Hemsworth",
      "name_fr":"Normanton and Hemsworth",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9982,
      "mean_margin":7.87,
      "p_close_race":0.0074
    },
    {
      "riding_id":"E14001400",
      "name_en":"North Warwickshire and Bedworth",
      "name_fr":"North Warwickshire and Bedworth",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9991,
      "mean_margin":8.16,
      "p_close_race":0.0073
    },
    {
      "riding_id":"E14001471",
      "name_en":"Sherwood Forest",
      "name_fr":"Sherwood Forest",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9988,
      "mean_margin":8.2,
      "p_close_race":0.0071
    },
    {
      "riding_id":"E14001546",
      "name_en":"Thurrock",
      "name_fr":"Thurrock",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9985,
      "mean_margin":8.03,
      "p_close_race":0.0067
    },
    {
      "riding_id":"E14001295",
      "name_en":"Houghton and Sunderland South",
      "name_fr":"Houghton and Sunderland South",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9983,
      "mean_margin":8.2,
      "p_close_race":0.0065
    },
    {
      "riding_id":"E14001286",
      "name_en":"Heywood and Middleton North",
      "name_fr":"Heywood and Middleton North",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9989,
      "mean_margin":8.5,
      "p_close_race":0.0059
    },
    {
      "riding_id":"E14001194",
      "name_en":"Derby South",
      "name_fr":"Derby South",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9987,
      "mean_margin":8.49,
      "p_close_race":0.0058
    },
    {
      "riding_id":"E14001521",
      "name_en":"Stoke-on-Trent North",
      "name_fr":"Stoke-on-Trent North",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9991,
      "mean_margin":8.91,
      "p_close_race":0.0056
    },
    {
      "riding_id":"E14001157",
      "name_en":"Chatham and Aylesford",
      "name_fr":"Chatham and Aylesford",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9991,
      "mean_margin":8.45,
      "p_close_race":0.0055
    },
    {
      "riding_id":"E14001110",
      "name_en":"Bolton North East",
      "name_fr":"Bolton North East",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9989,
      "mean_margin":8.75,
      "p_close_race":0.0054
    },
    {
      "riding_id":"E14001292",
      "name_en":"Hornchurch and Upminster",
      "name_fr":"Hornchurch and Upminster",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.999,
      "mean_margin":8.54,
      "p_close_race":0.0054
    },
    {
      "riding_id":"E14001202",
      "name_en":"Dover and Deal",
      "name_fr":"Dover and Deal",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9991,
      "mean_margin":8.85,
      "p_close_race":0.0052
    },
    {
      "riding_id":"E14001529",
      "name_en":"Stroud",
      "name_fr":"Stroud",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":7.69,
      "p_close_race":0.0052
    },
    {
      "riding_id":"S14000081",
      "name_en":"Edinburgh South West",
      "name_fr":"Edinburgh South West",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":7.59,
      "p_close_race":0.0051
    },
    {
      "riding_id":"S14000106",
      "name_en":"West Dunbartonshire",
      "name_fr":"West Dunbartonshire",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":7.6,
      "p_close_race":0.0051
    },
    {
      "riding_id":"E14001220",
      "name_en":"Eastleigh",
      "name_fr":"Eastleigh",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":8.49,
      "p_close_race":0.0049
    },
    {
      "riding_id":"E14001412",
      "name_en":"Nottingham South",
      "name_fr":"Nottingham South",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":7.11,
      "p_close_race":0.0042
    },
    {
      "riding_id":"E14001077",
      "name_en":"Basildon and Billericay",
      "name_fr":"Basildon and Billericay",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9993,
      "mean_margin":9.01,
      "p_close_race":0.0037
    },
    {
      "riding_id":"E14001506",
      "name_en":"Spen Valley",
      "name_fr":"Spen Valley",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9992,
      "mean_margin":9.61,
      "p_close_race":0.0034
    },
    {
      "riding_id":"E14001531",
      "name_en":"Sunderland Central",
      "name_fr":"Sunderland Central",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9997,
      "mean_margin":10.04,
      "p_close_race":0.0032
    },
    {
      "riding_id":"E14001497",
      "name_en":"South West Norfolk",
      "name_fr":"South West Norfolk",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9999,
      "mean_margin":9.81,
      "p_close_race":0.0029
    },
    {
      "riding_id":"E14001352",
      "name_en":"Manchester Central",
      "name_fr":"Manchester Central",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":7.97,
      "p_close_race":0.0029
    },
    {
      "riding_id":"W07000086",
      "name_en":"Bridgend",
      "name_fr":"Bridgend",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":7.33,
      "p_close_race":0.0028
    },
    {
      "riding_id":"E14001474",
      "name_en":"Sittingbourne and Sheppey",
      "name_fr":"Sittingbourne and Sheppey",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9996,
      "mean_margin":10.08,
      "p_close_race":0.0027
    },
    {
      "riding_id":"E14001452",
      "name_en":"Rotherham",
      "name_fr":"Rotherham",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9998,
      "mean_margin":10.43,
      "p_close_race":0.0026
    },
    {
      "riding_id":"E14001119",
      "name_en":"Bradford South",
      "name_fr":"Bradford South",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9995,
      "mean_margin":10.76,
      "p_close_race":0.0025
    },
    {
      "riding_id":"E14001204",
      "name_en":"Dudley",
      "name_fr":"Dudley",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":0.9997,
      "mean_margin":10.25,
      "p_close_race":0.0025
    },
    {
      "riding_id":"E14001389",
      "name_en":"North Durham",
      "name_fr":"North Durham",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9999,
      "mean_margin":10.7,
      "p_close_race":0.0024
    },
    {
      "riding_id":"E14001150",
      "name_en":"Cannock Chase",
      "name_fr":"Cannock Chase",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":0.9997,
      "mean_margin":10.43,
      "p_close_race":0.0023
    },
    {
      "riding_id":"E14001255",
      "name_en":"Great Grimsby and Cleethorpes",
      "name_fr":"Great Grimsby and Cleethorpes",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":1.0,
      "mean_margin":12.18,
      "p_close_race":0.0019
    },
    {
      "riding_id":"E14001313",
      "name_en":"Kingston upon Hull East",
      "name_fr":"Kingston upon Hull East",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":1.0,
      "mean_margin":12.54,
      "p_close_race":0.0019
    },
    {
      "riding_id":"E14001527",
      "name_en":"Streatham and Croydon North",
      "name_fr":"Streatham and Croydon North",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":8.02,
      "p_close_race":0.0019
    },
    {
      "riding_id":"E14001239",
      "name_en":"Folkestone and Hythe",
      "name_fr":"Folkestone and Hythe",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":1.0,
      "mean_margin":11.31,
      "p_close_race":0.0018
    },
    {
      "riding_id":"W07000105",
      "name_en":"Newport West and Islwyn",
      "name_fr":"Newport West and Islwyn",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":7.43,
      "p_close_race":0.0018
    },
    {
      "riding_id":"E14001325",
      "name_en":"Leeds West and Pudsey",
      "name_fr":"Leeds West and Pudsey",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":7.37,
      "p_close_race":0.0017
    },
    {
      "riding_id":"E14001075",
      "name_en":"Barnsley South",
      "name_fr":"Barnsley South",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":1.0,
      "mean_margin":12.79,
      "p_close_race":0.0016
    },
    {
      "riding_id":"E14001547",
      "name_en":"Tipton and Wednesbury",
      "name_fr":"Tipton and Wednesbury",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":1.0,
      "mean_margin":11.57,
      "p_close_race":0.0016
    },
    {
      "riding_id":"E14001350",
      "name_en":"Makerfield",
      "name_fr":"Makerfield",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_ref",
      "p_leading":1.0,
      "mean_margin":12.57,
      "p_close_race":0.0015
    },
    {
      "riding_id":"E14001537",
      "name_en":"Swindon South",
      "name_fr":"Swindon South",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":8.09,
      "p_close_race":0.0014
    },
    {
      "riding_id":"E14001323",
      "name_en":"Leeds South",
      "name_fr":"Leeds South",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":8.25,
      "p_close_race":0.0013
    },
    {
      "riding_id":"E14001294",
      "name_en":"Horsham",
      "name_fr":"Horsham",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":9.34,
      "p_close_race":0.001
    },
    {
      "riding_id":"E14001356",
      "name_en":"Melksham and Devizes",
      "name_fr":"Melksham and Devizes",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":9.35,
      "p_close_race":0.001
    },
    {
      "riding_id":"E14001376",
      "name_en":"Newbury",
      "name_fr":"Newbury",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":9.36,
      "p_close_race":0.001
    },
    {
      "riding_id":"E14001259",
      "name_en":"Hackney North and Stoke Newington",
      "name_fr":"Hackney North and Stoke Newington",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":8.31,
      "p_close_race":0.0008
    },
    {
      "riding_id":"E14001265",
      "name_en":"Hampstead and Highgate",
      "name_fr":"Hampstead and Highgate",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":8.32,
      "p_close_race":0.0006
    },
    {
      "riding_id":"W07000106",
      "name_en":"Pontypridd",
      "name_fr":"Pontypridd",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":7.67,
      "p_close_race":0.0006
    },
    {
      "riding_id":"E14001396",
      "name_en":"North Norfolk",
      "name_fr":"North Norfolk",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":9.84,
      "p_close_race":0.0005
    },
    {
      "riding_id":"E14001348",
      "name_en":"Maidenhead",
      "name_fr":"Maidenhead",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":10.72,
      "p_close_race":0.0003
    },
    {
      "riding_id":"E14001545",
      "name_en":"Thornbury and Yate",
      "name_fr":"Thornbury and Yate",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":10.31,
      "p_close_race":0.0003
    },
    {
      "riding_id":"E14001124",
      "name_en":"Brentford and Isleworth",
      "name_fr":"Brentford and Isleworth",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":8.99,
      "p_close_race":0.0002
    },
    {
      "riding_id":"E14001135",
      "name_en":"Bristol South",
      "name_fr":"Bristol South",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_grn",
      "p_leading":1.0,
      "mean_margin":8.54,
      "p_close_race":0.0002
    },
    {
      "riding_id":"E14001066",
      "name_en":"Amber Valley",
      "name_fr":"Amber Valley",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":1.0,
      "mean_margin":15.85,
      "p_close_race":0.0001
    },
    {
      "riding_id":"E14001092",
      "name_en":"Birmingham Edgbaston",
      "name_fr":"Birmingham Edgbaston",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":7.95,
      "p_close_race":0.0001
    },
    {
      "riding_id":"E14001306",
      "name_en":"Islington South and Finsbury",
      "name_fr":"Islington South and Finsbury",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":8.92,
      "p_close_race":0.0001
    },
    {
      "riding_id":"E14001548",
      "name_en":"Tiverton and Minehead",
      "name_fr":"Tiverton and Minehead",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":11.94,
      "p_close_race":0.0001
    },
    {
      "riding_id":"E14001558",
      "name_en":"Uxbridge and South Ruislip",
      "name_fr":"Uxbridge and South Ruislip",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":8.45,
      "p_close_race":0.0001
    },
    {
      "riding_id":"S14000086",
      "name_en":"Glasgow North East",
      "name_fr":"Glasgow North East",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":8.63,
      "p_close_race":0.0001
    },
    {
      "riding_id":"E14001067",
      "name_en":"Arundel and South Downs",
      "name_fr":"Arundel and South Downs",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":14.27,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001068",
      "name_en":"Ashfield",
      "name_fr":"Ashfield",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":1.0,
      "mean_margin":32.84,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001080",
      "name_en":"Bath",
      "name_fr":"Bath",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":20.75,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001081",
      "name_en":"Battersea",
      "name_fr":"Battersea",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":12.39,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001083",
      "name_en":"Beckenham and Penge",
      "name_fr":"Beckenham and Penge",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":11.44,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001084",
      "name_en":"Bedford",
      "name_fr":"Bedford",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":9.08,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001086",
      "name_en":"Bethnal Green and Stepney",
      "name_fr":"Bethnal Green and Stepney",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":13.99,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001090",
      "name_en":"Bicester and Woodstock",
      "name_fr":"Bicester and Woodstock",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":15.12,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001094",
      "name_en":"Birmingham Hall Green and Moseley",
      "name_fr":"Birmingham Hall Green and Moseley",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":18.62,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001096",
      "name_en":"Birmingham Ladywood",
      "name_fr":"Birmingham Ladywood",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":10.75,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001098",
      "name_en":"Birmingham Perry Barr",
      "name_fr":"Birmingham Perry Barr",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":21.18,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001100",
      "name_en":"Birmingham Yardley",
      "name_fr":"Birmingham Yardley",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":10.27,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001102",
      "name_en":"Blackburn",
      "name_fr":"Blackburn",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":28.98,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001113",
      "name_en":"Bootle",
      "name_fr":"Bootle",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":28.62,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001114",
      "name_en":"Boston and Skegness",
      "name_fr":"Boston and Skegness",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":1.0,
      "mean_margin":17.74,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001118",
      "name_en":"Bradford East",
      "name_fr":"Bradford East",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":8.66,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001120",
      "name_en":"Bradford West",
      "name_fr":"Bradford West",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":24.72,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001122",
      "name_en":"Brent East",
      "name_fr":"Brent East",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":15.03,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001130",
      "name_en":"Brighton Pavilion",
      "name_fr":"Brighton Pavilion",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_grn",
      "p_leading":1.0,
      "mean_margin":50.56,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001131",
      "name_en":"Bristol Central",
      "name_fr":"Bristol Central",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_grn",
      "p_leading":1.0,
      "mean_margin":47.33,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001132",
      "name_en":"Bristol East",
      "name_fr":"Bristol East",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_grn",
      "p_leading":1.0,
      "mean_margin":12.53,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001153",
      "name_en":"Carshalton and Wallington",
      "name_fr":"Carshalton and Wallington",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":21.81,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001158",
      "name_en":"Cheadle",
      "name_fr":"Cheadle",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":29.03,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001159",
      "name_en":"Chelmsford",
      "name_fr":"Chelmsford",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":14.23,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001160",
      "name_en":"Chelsea and Fulham",
      "name_fr":"Chelsea and Fulham",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":12.25,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001161",
      "name_en":"Cheltenham",
      "name_fr":"Cheltenham",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":18.17,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001162",
      "name_en":"Chesham and Amersham",
      "name_fr":"Chesham and Amersham",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":14.07,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001163",
      "name_en":"Chester North and Neston",
      "name_fr":"Chester North and Neston",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":11.19,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001164",
      "name_en":"Chester South and Eddisbury",
      "name_fr":"Chester South and Eddisbury",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":13.31,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001166",
      "name_en":"Chichester",
      "name_fr":"Chichester",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":24.67,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001168",
      "name_en":"Chippenham",
      "name_fr":"Chippenham",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":20.39,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001170",
      "name_en":"Chorley",
      "name_fr":"Chorley",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":55.3,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001174",
      "name_en":"Clacton",
      "name_fr":"Clacton",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":1.0,
      "mean_margin":31.26,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001175",
      "name_en":"Clapham and Brixton Hill",
      "name_fr":"Clapham and Brixton Hill",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":15.8,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001182",
      "name_en":"Coventry South",
      "name_fr":"Coventry South",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":9.06,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001187",
      "name_en":"Croydon South",
      "name_fr":"Croydon South",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":14.81,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001188",
      "name_en":"Croydon West",
      "name_fr":"Croydon West",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":17.3,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001196",
      "name_en":"Dewsbury and Batley",
      "name_fr":"Dewsbury and Batley",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":19.8,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001197",
      "name_en":"Didcot and Wantage",
      "name_fr":"Didcot and Wantage",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":16.62,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001200",
      "name_en":"Doncaster North",
      "name_fr":"Doncaster North",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":15.62,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001201",
      "name_en":"Dorking and Horley",
      "name_fr":"Dorking and Horley",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":15.04,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001203",
      "name_en":"Droitwich and Evesham",
      "name_fr":"Droitwich and Evesham",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":8.73,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001205",
      "name_en":"Dulwich and West Norwood",
      "name_fr":"Dulwich and West Norwood",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":13.15,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001207",
      "name_en":"Ealing Central and Acton",
      "name_fr":"Ealing Central and Acton",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":9.4,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001208",
      "name_en":"Ealing North",
      "name_fr":"Ealing North",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":12.4,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001209",
      "name_en":"Ealing Southall",
      "name_fr":"Ealing Southall",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":13.58,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001210",
      "name_en":"Earley and Woodley",
      "name_fr":"Earley and Woodley",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":10.7,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001212",
      "name_en":"East Grinstead and Uckfield",
      "name_fr":"East Grinstead and Uckfield",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":11.91,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001213",
      "name_en":"East Ham",
      "name_fr":"East Ham",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":10.77,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001219",
      "name_en":"Eastbourne",
      "name_fr":"Eastbourne",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":28.86,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001221",
      "name_en":"Edmonton and Winchmore Hill",
      "name_fr":"Edmonton and Winchmore Hill",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":14.82,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001222",
      "name_en":"Ellesmere Port and Bromborough",
      "name_fr":"Ellesmere Port and Bromborough",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":13.56,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001225",
      "name_en":"Enfield North",
      "name_fr":"Enfield North",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":12.0,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001226",
      "name_en":"Epping Forest",
      "name_fr":"Epping Forest",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":23.01,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001227",
      "name_en":"Epsom and Ewell",
      "name_fr":"Epsom and Ewell",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":11.96,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001229",
      "name_en":"Erith and Thamesmead",
      "name_fr":"Erith and Thamesmead",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":14.18,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001230",
      "name_en":"Esher and Walton",
      "name_fr":"Esher and Walton",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":25.26,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001241",
      "name_en":"Frome and East Somerset",
      "name_fr":"Frome and East Somerset",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":14.19,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001247",
      "name_en":"Glastonbury and Somerton",
      "name_fr":"Glastonbury and Somerton",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":17.41,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001251",
      "name_en":"Gorton and Denton",
      "name_fr":"Gorton and Denton",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":10.63,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001252",
      "name_en":"Gosport",
      "name_fr":"Gosport",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":9.8,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001256",
      "name_en":"Great Yarmouth",
      "name_fr":"Great Yarmouth",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":1.0,
      "mean_margin":23.61,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001257",
      "name_en":"Greenwich and Woolwich",
      "name_fr":"Greenwich and Woolwich",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":15.81,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001258",
      "name_en":"Guildford",
      "name_fr":"Guildford",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":21.36,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001264",
      "name_en":"Hammersmith and Chiswick",
      "name_fr":"Hammersmith and Chiswick",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":16.14,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001266",
      "name_en":"Harborough, Oadby and Wigston",
      "name_fr":"Harborough, Oadby and Wigston",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":11.97,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001268",
      "name_en":"Harpenden and Berkhamsted",
      "name_fr":"Harpenden and Berkhamsted",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":23.37,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001269",
      "name_en":"Harrogate and Knaresborough",
      "name_fr":"Harrogate and Knaresborough",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":19.8,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001270",
      "name_en":"Harrow East",
      "name_fr":"Harrow East",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":34.08,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001276",
      "name_en":"Hayes and Harlington",
      "name_fr":"Hayes and Harlington",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":16.75,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001277",
      "name_en":"Hazel Grove",
      "name_fr":"Hazel Grove",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":15.23,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001279",
      "name_en":"Hendon",
      "name_fr":"Hendon",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":12.34,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001280",
      "name_en":"Henley and Thame",
      "name_fr":"Henley and Thame",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":15.78,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001284",
      "name_en":"Hertsmere",
      "name_fr":"Hertsmere",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":18.63,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001291",
      "name_en":"Honiton and Sidmouth",
      "name_fr":"Honiton and Sidmouth",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":17.01,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001293",
      "name_en":"Hornsey and Friern Barnet",
      "name_fr":"Hornsey and Friern Barnet",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":16.56,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001296",
      "name_en":"Hove and Portslade",
      "name_fr":"Hove and Portslade",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":11.3,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001297",
      "name_en":"Huddersfield",
      "name_fr":"Huddersfield",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_grn",
      "p_leading":1.0,
      "mean_margin":12.28,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001300",
      "name_en":"Ilford North",
      "name_fr":"Ilford North",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":17.5,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001305",
      "name_en":"Islington North",
      "name_fr":"Islington North",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":31.83,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001308",
      "name_en":"Keighley and Ilkley",
      "name_fr":"Keighley and Ilkley",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":13.83,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001309",
      "name_en":"Kenilworth and Southam",
      "name_fr":"Kenilworth and Southam",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":10.83,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001312",
      "name_en":"Kingston and Surbiton",
      "name_fr":"Kingston and Surbiton",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":33.9,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001317",
      "name_en":"Knowsley",
      "name_fr":"Knowsley",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":22.61,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001321",
      "name_en":"Leeds North East",
      "name_fr":"Leeds North East",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":11.79,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001322",
      "name_en":"Leeds North West",
      "name_fr":"Leeds North West",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":9.1,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001327",
      "name_en":"Leicester South",
      "name_fr":"Leicester South",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":21.16,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001330",
      "name_en":"Lewes",
      "name_fr":"Lewes",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":26.97,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001331",
      "name_en":"Lewisham East",
      "name_fr":"Lewisham East",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":17.02,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001333",
      "name_en":"Lewisham West and East Dulwich",
      "name_fr":"Lewisham West and East Dulwich",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":11.52,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001337",
      "name_en":"Liverpool Garston",
      "name_fr":"Liverpool Garston",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":21.68,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001338",
      "name_en":"Liverpool Riverside",
      "name_fr":"Liverpool Riverside",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":17.2,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001339",
      "name_en":"Liverpool Walton",
      "name_fr":"Liverpool Walton",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":26.05,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001340",
      "name_en":"Liverpool Wavertree",
      "name_fr":"Liverpool Wavertree",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":13.12,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001341",
      "name_en":"Liverpool West Derby",
      "name_fr":"Liverpool West Derby",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":26.03,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001366",
      "name_en":"Mid Sussex",
      "name_fr":"Mid Sussex",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":17.77,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001368",
      "name_en":"Middlesbrough South and East Cleveland",
      "name_fr":"Middlesbrough South and East Cleveland",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":12.84,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001371",
      "name_en":"Mitcham and Morden",
      "name_fr":"Mitcham and Morden",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":18.35,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001373",
      "name_en":"New Forest East",
      "name_fr":"New Forest East",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":9.15,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001375",
      "name_en":"Newark",
      "name_fr":"Newark",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":11.34,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001379",
      "name_en":"Newcastle upon Tyne North",
      "name_fr":"Newcastle upon Tyne North",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":12.53,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001384",
      "name_en":"North Bedfordshire",
      "name_fr":"North Bedfordshire",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":9.94,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001385",
      "name_en":"North Cornwall",
      "name_fr":"North Cornwall",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":21.33,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001387",
      "name_en":"North Devon",
      "name_fr":"North Devon",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":16.88,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001395",
      "name_en":"North Herefordshire",
      "name_fr":"North Herefordshire",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_grn",
      "p_leading":1.0,
      "mean_margin":23.55,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001398",
      "name_en":"North Shropshire",
      "name_fr":"North Shropshire",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":28.01,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001399",
      "name_en":"North Somerset",
      "name_fr":"North Somerset",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":10.58,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001402",
      "name_en":"North West Essex",
      "name_fr":"North West Essex",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":9.04,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001410",
      "name_en":"Nottingham East",
      "name_fr":"Nottingham East",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":14.93,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001419",
      "name_en":"Oxford East",
      "name_fr":"Oxford East",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":10.36,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001420",
      "name_en":"Oxford West and Abingdon",
      "name_fr":"Oxford West and Abingdon",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":34.06,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001421",
      "name_en":"Peckham",
      "name_fr":"Peckham",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":11.14,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001432",
      "name_en":"Portsmouth South",
      "name_fr":"Portsmouth South",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":8.42,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001434",
      "name_en":"Putney",
      "name_fr":"Putney",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":12.2,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001435",
      "name_en":"Queen's Park and Maida Vale",
      "name_fr":"Queen's Park and Maida Vale",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":12.11,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001442",
      "name_en":"Reigate",
      "name_fr":"Reigate",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":9.32,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001444",
      "name_en":"Richmond and Northallerton",
      "name_fr":"Richmond and Northallerton",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":20.49,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001445",
      "name_en":"Richmond Park",
      "name_fr":"Richmond Park",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":36.5,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001454",
      "name_en":"Ruislip, Northwood and Pinner",
      "name_fr":"Ruislip, Northwood and Pinner",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":23.14,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001455",
      "name_en":"Runcorn and Helsby",
      "name_fr":"Runcorn and Helsby",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":8.61,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001456",
      "name_en":"Runnymede and Weybridge",
      "name_fr":"Runnymede and Weybridge",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":10.87,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001458",
      "name_en":"Rutland and Stamford",
      "name_fr":"Rutland and Stamford",
      "nation":"England",
      "region":"east_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":16.97,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001459",
      "name_en":"Salford",
      "name_fr":"Salford",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":11.95,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001463",
      "name_en":"Sefton Central",
      "name_fr":"Sefton Central",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":18.14,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001466",
      "name_en":"Sheffield Brightside and Hillsborough",
      "name_fr":"Sheffield Brightside and Hillsborough",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":9.94,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001469",
      "name_en":"Sheffield Heeley",
      "name_fr":"Sheffield Heeley",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":12.56,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001470",
      "name_en":"Sheffield South East",
      "name_fr":"Sheffield South East",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":17.08,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001477",
      "name_en":"Slough",
      "name_fr":"Slough",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":16.86,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001480",
      "name_en":"South Basildon and East Thurrock",
      "name_fr":"South Basildon and East Thurrock",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ref",
      "p_leading":1.0,
      "mean_margin":17.92,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001481",
      "name_en":"South Cambridgeshire",
      "name_fr":"South Cambridgeshire",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":23.9,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001482",
      "name_en":"South Cotswolds",
      "name_fr":"South Cotswolds",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":13.78,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001484",
      "name_en":"South Devon",
      "name_fr":"South Devon",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":18.31,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001503",
      "name_en":"Southgate and Wood Green",
      "name_fr":"Southgate and Wood Green",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":12.3,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001507",
      "name_en":"St Albans",
      "name_fr":"St Albans",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":39.26,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001511",
      "name_en":"St Ives",
      "name_fr":"St Ives",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":28.8,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001512",
      "name_en":"St Neots and Mid Cambridgeshire",
      "name_fr":"St Neots and Mid Cambridgeshire",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":13.75,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001517",
      "name_en":"Stockport",
      "name_fr":"Stockport",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":9.36,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001519",
      "name_en":"Stockton West",
      "name_fr":"Stockton West",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":14.74,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001523",
      "name_en":"Stone, Great Wyrley and Penkridge",
      "name_fr":"Stone, Great Wyrley and Penkridge",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":22.81,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001526",
      "name_en":"Stratford-on-Avon",
      "name_fr":"Stratford-on-Avon",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":17.41,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001528",
      "name_en":"Stretford and Urmston",
      "name_fr":"Stretford and Urmston",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":11.95,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001532",
      "name_en":"Surrey Heath",
      "name_fr":"Surrey Heath",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":15.77,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001534",
      "name_en":"Sutton and Cheam",
      "name_fr":"Sutton and Cheam",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":13.22,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001535",
      "name_en":"Sutton Coldfield",
      "name_fr":"Sutton Coldfield",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"urban",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":8.85,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001539",
      "name_en":"Tatton",
      "name_fr":"Tatton",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":12.4,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001540",
      "name_en":"Taunton and Wellington",
      "name_fr":"Taunton and Wellington",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":23.36,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001542",
      "name_en":"Tewkesbury",
      "name_fr":"Tewkesbury",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":17.19,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001544",
      "name_en":"Thirsk and Malton",
      "name_fr":"Thirsk and Malton",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":8.79,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001549",
      "name_en":"Tonbridge",
      "name_fr":"Tonbridge",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":12.2,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001550",
      "name_en":"Tooting",
      "name_fr":"Tooting",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":17.62,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001551",
      "name_en":"Torbay",
      "name_fr":"Torbay",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":13.86,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001553",
      "name_en":"Tottenham",
      "name_fr":"Tottenham",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":10.56,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001555",
      "name_en":"Tunbridge Wells",
      "name_fr":"Tunbridge Wells",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":20.64,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001556",
      "name_en":"Twickenham",
      "name_fr":"Twickenham",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":40.3,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001557",
      "name_en":"Tynemouth",
      "name_fr":"Tynemouth",
      "nation":"England",
      "region":"north_east",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":9.64,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001559",
      "name_en":"Vauxhall and Camberwell Green",
      "name_fr":"Vauxhall and Camberwell Green",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":12.59,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001561",
      "name_en":"Wallasey",
      "name_fr":"Wallasey",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":15.5,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001563",
      "name_en":"Walthamstow",
      "name_fr":"Walthamstow",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":11.11,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001566",
      "name_en":"Warwick and Leamington",
      "name_fr":"Warwick and Leamington",
      "nation":"England",
      "region":"west_midlands",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":12.01,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001569",
      "name_en":"Waveney Valley",
      "name_fr":"Waveney Valley",
      "nation":"England",
      "region":"east_of_england",
      "urban_rural":"mixed",
      "winner":"uk_grn",
      "p_leading":1.0,
      "mean_margin":23.95,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001572",
      "name_en":"Wells and Mendip Hills",
      "name_fr":"Wells and Mendip Hills",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":24.55,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001575",
      "name_en":"West Dorset",
      "name_fr":"West Dorset",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":18.48,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001580",
      "name_en":"Westmorland and Lonsdale",
      "name_fr":"Westmorland and Lonsdale",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":41.7,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001582",
      "name_en":"Wetherby and Easingwold",
      "name_fr":"Wetherby and Easingwold",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":13.04,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001584",
      "name_en":"Widnes and Halewood",
      "name_fr":"Widnes and Halewood",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":15.69,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001586",
      "name_en":"Wimbledon",
      "name_fr":"Wimbledon",
      "nation":"England",
      "region":"london",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":28.36,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001587",
      "name_en":"Winchester",
      "name_fr":"Winchester",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":27.05,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001588",
      "name_en":"Windsor",
      "name_fr":"Windsor",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":10.42,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001591",
      "name_en":"Witney",
      "name_fr":"Witney",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":13.1,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001592",
      "name_en":"Woking",
      "name_fr":"Woking",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"urban",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":27.26,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001593",
      "name_en":"Wokingham",
      "name_fr":"Wokingham",
      "nation":"England",
      "region":"south_east",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":19.21,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001602",
      "name_en":"Wythenshawe and Sale East",
      "name_fr":"Wythenshawe and Sale East",
      "nation":"England",
      "region":"north_west",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":11.38,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001603",
      "name_en":"Yeovil",
      "name_fr":"Yeovil",
      "nation":"England",
      "region":"south_west",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":23.62,
      "p_close_race":0.0
    },
    {
      "riding_id":"E14001604",
      "name_en":"York Central",
      "name_fr":"York Central",
      "nation":"England",
      "region":"yorkshire_and_the_humber",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":17.54,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000001",
      "name_en":"Belfast East",
      "name_fr":"Belfast East",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":12.15,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000002",
      "name_en":"Belfast North",
      "name_fr":"Belfast North",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":11.68,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000003",
      "name_en":"Belfast South and Mid Down",
      "name_fr":"Belfast South and Mid Down",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":11.01,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000004",
      "name_en":"Belfast West",
      "name_fr":"Belfast West",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"urban",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":13.57,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000005",
      "name_en":"East Antrim",
      "name_fr":"East Antrim",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":13.27,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000006",
      "name_en":"East Londonderry",
      "name_fr":"East Londonderry",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":13.17,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000007",
      "name_en":"Fermanagh and South Tyrone",
      "name_fr":"Fermanagh and South Tyrone",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":14.72,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000008",
      "name_en":"Foyle",
      "name_fr":"Foyle",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":14.72,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000009",
      "name_en":"Lagan Valley",
      "name_fr":"Lagan Valley",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":13.83,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000010",
      "name_en":"Mid Ulster",
      "name_fr":"Mid Ulster",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":14.72,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000011",
      "name_en":"Newry and Armagh",
      "name_fr":"Newry and Armagh",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":14.54,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000012",
      "name_en":"North Antrim",
      "name_fr":"North Antrim",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":14.72,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000013",
      "name_en":"North Down",
      "name_fr":"North Down",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":11.79,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000014",
      "name_en":"South Antrim",
      "name_fr":"South Antrim",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":13.44,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000015",
      "name_en":"South Down",
      "name_fr":"South Down",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":13.62,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000016",
      "name_en":"Strangford",
      "name_fr":"Strangford",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":12.5,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000017",
      "name_en":"Upper Bann",
      "name_fr":"Upper Bann",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":14.72,
      "p_close_race":0.0
    },
    {
      "riding_id":"N05000018",
      "name_en":"West Tyrone",
      "name_fr":"West Tyrone",
      "nation":"Northern Ireland",
      "region":"northern_ireland",
      "urban_rural":"mixed",
      "winner":"uk_oth",
      "p_leading":1.0,
      "mean_margin":14.51,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000048",
      "name_en":"North Ayrshire and Arran",
      "name_fr":"North Ayrshire and Arran",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":12.82,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000051",
      "name_en":"Orkney and Shetland",
      "name_fr":"Orkney and Shetland",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":32.27,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000060",
      "name_en":"Aberdeen North",
      "name_fr":"Aberdeen North",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":19.53,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000061",
      "name_en":"Aberdeen South",
      "name_fr":"Aberdeen South",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":11.3,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000065",
      "name_en":"Angus and Perthshire Glens",
      "name_fr":"Angus and Perthshire Glens",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":12.98,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000066",
      "name_en":"Arbroath and Broughty Ferry",
      "name_fr":"Arbroath and Broughty Ferry",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":20.4,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000067",
      "name_en":"Argyll, Bute and South Lochaber",
      "name_fr":"Argyll, Bute and South Lochaber",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":16.81,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000069",
      "name_en":"Caithness, Sutherland and Easter Ross",
      "name_fr":"Caithness, Sutherland and Easter Ross",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":18.41,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000072",
      "name_en":"Cumbernauld and Kirkintilloch",
      "name_fr":"Cumbernauld and Kirkintilloch",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":12.15,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000075",
      "name_en":"Dundee Central",
      "name_fr":"Dundee Central",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":21.18,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000078",
      "name_en":"Edinburgh East and Musselburgh",
      "name_fr":"Edinburgh East and Musselburgh",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":13.37,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000080",
      "name_en":"Edinburgh South",
      "name_fr":"Edinburgh South",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":14.59,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000082",
      "name_en":"Edinburgh West",
      "name_fr":"Edinburgh West",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":28.45,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000083",
      "name_en":"Falkirk",
      "name_fr":"Falkirk",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":10.01,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000084",
      "name_en":"Glasgow East",
      "name_fr":"Glasgow East",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":11.28,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000085",
      "name_en":"Glasgow North",
      "name_fr":"Glasgow North",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":11.44,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000087",
      "name_en":"Glasgow South",
      "name_fr":"Glasgow South",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":11.75,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000088",
      "name_en":"Glasgow South West",
      "name_fr":"Glasgow South West",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":12.76,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000090",
      "name_en":"Glenrothes and Mid Fife",
      "name_fr":"Glenrothes and Mid Fife",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":13.98,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000095",
      "name_en":"Livingston",
      "name_fr":"Livingston",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":13.59,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000097",
      "name_en":"Mid Dunbartonshire",
      "name_fr":"Mid Dunbartonshire",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":15.49,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000100",
      "name_en":"North East Fife",
      "name_fr":"North East Fife",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_ld",
      "p_leading":1.0,
      "mean_margin":27.08,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000103",
      "name_en":"Perth and Kinross-shire",
      "name_fr":"Perth and Kinross-shire",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":11.09,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000105",
      "name_en":"Stirling and Strathallan",
      "name_fr":"Stirling and Strathallan",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":15.18,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000108",
      "name_en":"Berwickshire, Roxburgh and Selkirk",
      "name_fr":"Berwickshire, Roxburgh and Selkirk",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_con",
      "p_leading":1.0,
      "mean_margin":11.31,
      "p_close_race":0.0
    },
    {
      "riding_id":"S14000110",
      "name_en":"Kilmarnock and Loudoun",
      "name_fr":"Kilmarnock and Loudoun",
      "nation":"Scotland",
      "region":"scotland",
      "urban_rural":"mixed",
      "winner":"uk_snp",
      "p_leading":1.0,
      "mean_margin":10.05,
      "p_close_race":0.0
    },
    {
      "riding_id":"W07000081",
      "name_en":"Aberafan Maesteg",
      "name_fr":"Aberafan Maesteg",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":13.99,
      "p_close_race":0.0
    },
    {
      "riding_id":"W07000084",
      "name_en":"Blaenau Gwent and Rhymney",
      "name_fr":"Blaenau Gwent and Rhymney",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":26.2,
      "p_close_race":0.0
    },
    {
      "riding_id":"W07000087",
      "name_en":"Caerfyrddin",
      "name_fr":"Caerfyrddin",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_pc",
      "p_leading":1.0,
      "mean_margin":17.99,
      "p_close_race":0.0
    },
    {
      "riding_id":"W07000089",
      "name_en":"Cardiff East",
      "name_fr":"Cardiff East",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":13.41,
      "p_close_race":0.0
    },
    {
      "riding_id":"W07000090",
      "name_en":"Cardiff North",
      "name_fr":"Cardiff North",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":15.32,
      "p_close_race":0.0
    },
    {
      "riding_id":"W07000091",
      "name_en":"Cardiff South and Penarth",
      "name_fr":"Cardiff South and Penarth",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"urban",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":16.16,
      "p_close_race":0.0
    },
    {
      "riding_id":"W07000093",
      "name_en":"Ceredigion Preseli",
      "name_fr":"Ceredigion Preseli",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_pc",
      "p_leading":1.0,
      "mean_margin":34.22,
      "p_close_race":0.0
    },
    {
      "riding_id":"W07000096",
      "name_en":"Dwyfor Meirionnydd",
      "name_fr":"Dwyfor Meirionnydd",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_pc",
      "p_leading":1.0,
      "mean_margin":40.88,
      "p_close_race":0.0
    },
    {
      "riding_id":"W07000097",
      "name_en":"Gower",
      "name_fr":"Gower",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":11.38,
      "p_close_race":0.0
    },
    {
      "riding_id":"W07000104",
      "name_en":"Newport East",
      "name_fr":"Newport East",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":9.57,
      "p_close_race":0.0
    },
    {
      "riding_id":"W07000108",
      "name_en":"Swansea West",
      "name_fr":"Swansea West",
      "nation":"Wales",
      "region":"wales",
      "urban_rural":"mixed",
      "winner":"uk_lab",
      "p_leading":1.0,
      "mean_margin":10.25,
      "p_close_race":0.0
    }
  ]
}