{
  "city": "lille",
  "generated_at": "2026-05-05T10:05:07.204396",
  "period": "2026-05",
  "total": {
    "count": 990,
    "price": {
      "mean": 769,
      "median": 690,
      "p25": 561,
      "p75": 890,
      "min": 100,
      "max": 3800,
      "sample_size": 990
    },
    "surface": {
      "mean": 40,
      "median": 34,
      "sample_size": 990
    },
    "price_per_m2_median": 20.6
  },
  "by_type": {
    "appartement": {
      "count": 948,
      "price": {
        "mean": 757,
        "median": 683,
        "p25": 560,
        "p75": 871,
        "min": 309,
        "max": 2900,
        "sample_size": 948
      },
      "surface": {
        "mean": 39,
        "median": 33,
        "sample_size": 948
      },
      "price_per_m2_median": 20.9
    },
    "maison": {
      "count": 33,
      "price": {
        "mean": 1199,
        "median": 900,
        "p25": 780,
        "p75": 1300,
        "min": 400,
        "max": 3800,
        "sample_size": 33
      },
      "surface": {
        "mean": 81,
        "median": 70,
        "sample_size": 33
      },
      "price_per_m2_median": 15.2
    }
  },
  "by_rooms": {
    "T1": {
      "count": 495,
      "price": {
        "mean": 573,
        "median": 560,
        "p25": 500,
        "p75": 640,
        "min": 100,
        "max": 1320,
        "sample_size": 495
      },
      "surface": {
        "mean": 23,
        "median": 22,
        "sample_size": 495
      },
      "price_per_m2_median": 25.0
    },
    "T2": {
      "count": 298,
      "price": {
        "mean": 764,
        "median": 750,
        "p25": 650,
        "p75": 854,
        "min": 400,
        "max": 1380,
        "sample_size": 298
      },
      "surface": {
        "mean": 40,
        "median": 40,
        "sample_size": 298
      },
      "price_per_m2_median": 18.9
    },
    "T3": {
      "count": 155,
      "price": {
        "mean": 1014,
        "median": 990,
        "p25": 879,
        "p75": 1150,
        "min": 510,
        "max": 1925,
        "sample_size": 155
      },
      "surface": {
        "mean": 63,
        "median": 63,
        "sample_size": 155
      },
      "price_per_m2_median": 16.0
    },
    "T4": {
      "count": 43,
      "price": {
        "mean": 1379,
        "median": 1305,
        "p25": 1132,
        "p75": 1577,
        "min": 520,
        "max": 2900,
        "sample_size": 43
      },
      "surface": {
        "mean": 87,
        "median": 80,
        "sample_size": 43
      },
      "price_per_m2_median": 15.3
    },
    "T5": {
      "count": 14,
      "price": {
        "mean": 1260,
        "median": 1206,
        "p25": 1025,
        "p75": 1554,
        "min": 500,
        "max": 2000,
        "sample_size": 14
      },
      "surface": {
        "mean": 94,
        "median": 90,
        "sample_size": 14
      },
      "price_per_m2_median": 13.0
    }
  },
  "by_furnished": {
    "meuble": {
      "count": 597,
      "price": {
        "mean": 744,
        "median": 670,
        "p25": 540,
        "p75": 869,
        "min": 309,
        "max": 2200,
        "sample_size": 597
      },
      "surface": {
        "mean": 36,
        "median": 29,
        "sample_size": 597
      },
      "price_per_m2_median": 23.2
    },
    "vide": {
      "count": 429,
      "price": {
        "mean": 781,
        "median": 680,
        "p25": 570,
        "p75": 880,
        "min": 100,
        "max": 3800,
        "sample_size": 429
      },
      "surface": {
        "mean": 45,
        "median": 38,
        "sample_size": 429
      },
      "price_per_m2_median": 18.6
    }
  },
  "by_quartier": {
    "Wazemmes": {
      "count": 61,
      "price": {
        "mean": 748,
        "median": 713,
        "p25": 630,
        "p75": 880,
        "min": 400,
        "max": 1070,
        "sample_size": 61
      },
      "surface": {
        "mean": 38,
        "median": 39,
        "sample_size": 61
      },
      "price_per_m2_median": 19.1
    },
    "Centre": {
      "count": 38,
      "price": {
        "mean": 790,
        "median": 790,
        "p25": 662,
        "p75": 880,
        "min": 510,
        "max": 1380,
        "sample_size": 38
      },
      "surface": {
        "mean": 38,
        "median": 36,
        "sample_size": 38
      },
      "price_per_m2_median": 21.6
    },
    "Vauban-Esquermes": {
      "count": 33,
      "price": {
        "mean": 754,
        "median": 725,
        "p25": 661,
        "p75": 835,
        "min": 400,
        "max": 1165,
        "sample_size": 33
      },
      "surface": {
        "mean": 42,
        "median": 40,
        "sample_size": 33
      },
      "price_per_m2_median": 18.4
    },
    "Moulins": {
      "count": 32,
      "price": {
        "mean": 761,
        "median": 768,
        "p25": 639,
        "p75": 849,
        "min": 505,
        "max": 1200,
        "sample_size": 32
      },
      "surface": {
        "mean": 40,
        "median": 40,
        "sample_size": 32
      },
      "price_per_m2_median": 19.0
    },
    "Vieux-Lille": {
      "count": 22,
      "price": {
        "mean": 872,
        "median": 884,
        "p25": 741,
        "p75": 968,
        "min": 562,
        "max": 1199,
        "sample_size": 22
      },
      "surface": {
        "mean": 44,
        "median": 43,
        "sample_size": 22
      },
      "price_per_m2_median": 20.0
    },
    "République-Beaux-Arts": {
      "count": 13,
      "price": {
        "mean": 840,
        "median": 772,
        "p25": 745,
        "p75": 910,
        "min": 630,
        "max": 1199,
        "sample_size": 13
      },
      "surface": {
        "mean": 41,
        "median": 38,
        "sample_size": 13
      },
      "price_per_m2_median": 20.3
    },
    "Bois-Blancs": {
      "count": 7,
      "price": {
        "mean": 790,
        "median": 732,
        "p25": 688,
        "p75": 877,
        "min": 620,
        "max": 1050,
        "sample_size": 7
      },
      "surface": {
        "mean": 45,
        "median": 41,
        "sample_size": 7
      },
      "price_per_m2_median": 17.7
    }
  },
  "by_quartier_type": "T2",
  "distribution": [
    {
      "min": 400,
      "max": 500,
      "count": 117,
      "pct": 11.1
    },
    {
      "min": 500,
      "max": 600,
      "count": 246,
      "pct": 23.4
    },
    {
      "min": 600,
      "max": 700,
      "count": 200,
      "pct": 19.0
    },
    {
      "min": 700,
      "max": 800,
      "count": 130,
      "pct": 12.3
    },
    {
      "min": 800,
      "max": 900,
      "count": 110,
      "pct": 10.4
    },
    {
      "min": 900,
      "max": 1000,
      "count": 77,
      "pct": 7.3
    },
    {
      "min": 1000,
      "max": 1100,
      "count": 38,
      "pct": 3.6
    },
    {
      "min": 1100,
      "max": 1200,
      "count": 43,
      "pct": 4.1
    },
    {
      "min": 1200,
      "max": 1300,
      "count": 24,
      "pct": 2.3
    },
    {
      "min": 1300,
      "max": 1400,
      "count": 16,
      "pct": 1.5
    }
  ],
  "by_landlord_type": {
    "pro": {
      "count": 627,
      "price": {
        "mean": 757,
        "median": 670,
        "p25": 550,
        "p75": 860,
        "min": 309,
        "max": 3800,
        "sample_size": 627
      },
      "surface": {
        "mean": 39,
        "median": 32,
        "sample_size": 627
      },
      "price_per_m2_median": 21.4
    },
    "particulier": {
      "count": 392,
      "price": {
        "mean": 770,
        "median": 699,
        "p25": 580,
        "p75": 891,
        "min": 100,
        "max": 2750,
        "sample_size": 392
      },
      "surface": {
        "mean": 41,
        "median": 35,
        "sample_size": 392
      },
      "price_per_m2_median": 20.1
    },
    "diff_pct": -4.1
  },
  "vs_encadrement": {
    "plafond_majored_median_eur_m2": 15.2,
    "plafond_majored_min_eur_m2": 12.2,
    "plafond_majored_max_eur_m2": 18.0,
    "observed_median_eur_m2": 18.2,
    "pct_above_plafond": 87.2,
    "sample_size_t2_vide": 156,
    "methodology": "T2 vide. Plafond = médiane majored sur toutes zones et toutes périodes de construction. Observed = médiane prix/m² des T2 vides actifs sur les 10 derniers jours."
  },
  "evolution": {
    "previous_period": null,
    "previous_generated_at": "2026-04-01T00:00:00",
    "count_delta": -59,
    "median_delta_eur": -10,
    "median_delta_pct": -1.4,
    "price_per_m2_delta_eur": 0.7,
    "price_per_m2_delta_pct": 3.5
  }
}