{
  "city": "strasbourg",
  "generated_at": "2026-05-05T10:05:07.335925",
  "period": "2026-05",
  "total": {
    "count": 646,
    "price": {
      "mean": 905,
      "median": 800,
      "p25": 620,
      "p75": 1086,
      "min": 100,
      "max": 3250,
      "sample_size": 646
    },
    "surface": {
      "mean": 46,
      "median": 38,
      "sample_size": 646
    },
    "price_per_m2_median": 21.9
  },
  "by_type": {
    "appartement": {
      "count": 637,
      "price": {
        "mean": 906,
        "median": 800,
        "p25": 620,
        "p75": 1085,
        "min": 375,
        "max": 3250,
        "sample_size": 637
      },
      "surface": {
        "mean": 46,
        "median": 38,
        "sample_size": 637
      },
      "price_per_m2_median": 22.0
    },
    "maison": {
      "count": 2,
      "price": {
        "mean": 1250,
        "median": 1250,
        "p25": 1250,
        "p75": 1250,
        "min": 1250,
        "max": 1250,
        "sample_size": 2
      },
      "surface": {
        "mean": 72,
        "median": 72,
        "sample_size": 2
      },
      "price_per_m2_median": 17.4
    }
  },
  "by_rooms": {
    "T1": {
      "count": 282,
      "price": {
        "mean": 618,
        "median": 610,
        "p25": 520,
        "p75": 694,
        "min": 100,
        "max": 1140,
        "sample_size": 282
      },
      "surface": {
        "mean": 22,
        "median": 21,
        "sample_size": 282
      },
      "price_per_m2_median": 30.6
    },
    "T2": {
      "count": 173,
      "price": {
        "mean": 895,
        "median": 875,
        "p25": 760,
        "p75": 990,
        "min": 500,
        "max": 1550,
        "sample_size": 173
      },
      "surface": {
        "mean": 45,
        "median": 43,
        "sample_size": 173
      },
      "price_per_m2_median": 20.4
    },
    "T3": {
      "count": 105,
      "price": {
        "mean": 1177,
        "median": 1110,
        "p25": 975,
        "p75": 1270,
        "min": 650,
        "max": 2100,
        "sample_size": 105
      },
      "surface": {
        "mean": 68,
        "median": 67,
        "sample_size": 105
      },
      "price_per_m2_median": 16.3
    },
    "T4": {
      "count": 56,
      "price": {
        "mean": 1511,
        "median": 1562,
        "p25": 1284,
        "p75": 1645,
        "min": 995,
        "max": 3225,
        "sample_size": 56
      },
      "surface": {
        "mean": 95,
        "median": 90,
        "sample_size": 56
      },
      "price_per_m2_median": 16.1
    },
    "T5": {
      "count": 17,
      "price": {
        "mean": 1551,
        "median": 1580,
        "p25": 1430,
        "p75": 1790,
        "min": 485,
        "max": 3250,
        "sample_size": 17
      },
      "surface": {
        "mean": 118,
        "median": 125,
        "sample_size": 17
      },
      "price_per_m2_median": 13.9
    }
  },
  "by_furnished": {
    "meuble": {
      "count": 358,
      "price": {
        "mean": 852,
        "median": 750,
        "p25": 610,
        "p75": 1032,
        "min": 235,
        "max": 1925,
        "sample_size": 358
      },
      "surface": {
        "mean": 36,
        "median": 30,
        "sample_size": 358
      },
      "price_per_m2_median": 26.3
    },
    "vide": {
      "count": 285,
      "price": {
        "mean": 977,
        "median": 872,
        "p25": 660,
        "p75": 1130,
        "min": 100,
        "max": 3250,
        "sample_size": 285
      },
      "surface": {
        "mean": 58,
        "median": 50,
        "sample_size": 285
      },
      "price_per_m2_median": 17.9
    }
  },
  "by_quartier": {
    "Centre": {
      "count": 51,
      "price": {
        "mean": 893,
        "median": 872,
        "p25": 780,
        "p75": 975,
        "min": 620,
        "max": 1300,
        "sample_size": 51
      },
      "surface": {
        "mean": 45,
        "median": 43,
        "sample_size": 51
      },
      "price_per_m2_median": 21.0
    },
    "Kléber-Gare": {
      "count": 42,
      "price": {
        "mean": 918,
        "median": 919,
        "p25": 805,
        "p75": 998,
        "min": 605,
        "max": 1250,
        "sample_size": 42
      },
      "surface": {
        "mean": 47,
        "median": 43,
        "sample_size": 42
      },
      "price_per_m2_median": 19.8
    },
    "Bourse-Esplanade-Krutenau": {
      "count": 25,
      "price": {
        "mean": 899,
        "median": 870,
        "p25": 750,
        "p75": 960,
        "min": 610,
        "max": 1550,
        "sample_size": 25
      },
      "surface": {
        "mean": 40,
        "median": 42,
        "sample_size": 25
      },
      "price_per_m2_median": 22.1
    },
    "La Robertsau": {
      "count": 22,
      "price": {
        "mean": 902,
        "median": 890,
        "p25": 792,
        "p75": 1015,
        "min": 635,
        "max": 1240,
        "sample_size": 22
      },
      "surface": {
        "mean": 44,
        "median": 42,
        "sample_size": 22
      },
      "price_per_m2_median": 21.2
    },
    "Conseil des XV": {
      "count": 15,
      "price": {
        "mean": 895,
        "median": 820,
        "p25": 746,
        "p75": 1042,
        "min": 690,
        "max": 1350,
        "sample_size": 15
      },
      "surface": {
        "mean": 49,
        "median": 50,
        "sample_size": 15
      },
      "price_per_m2_median": 18.8
    }
  },
  "by_quartier_type": "T2",
  "distribution": [
    {
      "min": 400,
      "max": 500,
      "count": 40,
      "pct": 6.1
    },
    {
      "min": 500,
      "max": 600,
      "count": 87,
      "pct": 13.3
    },
    {
      "min": 600,
      "max": 700,
      "count": 111,
      "pct": 17.0
    },
    {
      "min": 700,
      "max": 800,
      "count": 81,
      "pct": 12.4
    },
    {
      "min": 800,
      "max": 900,
      "count": 64,
      "pct": 9.8
    },
    {
      "min": 900,
      "max": 1000,
      "count": 64,
      "pct": 9.8
    },
    {
      "min": 1000,
      "max": 1100,
      "count": 40,
      "pct": 6.1
    },
    {
      "min": 1100,
      "max": 1200,
      "count": 40,
      "pct": 6.1
    },
    {
      "min": 1200,
      "max": 1300,
      "count": 30,
      "pct": 4.6
    },
    {
      "min": 1300,
      "max": 1400,
      "count": 12,
      "pct": 1.8
    },
    {
      "min": 1400,
      "max": 1500,
      "count": 10,
      "pct": 1.5
    },
    {
      "min": 1500,
      "max": 1600,
      "count": 22,
      "pct": 3.4
    },
    {
      "min": 1600,
      "max": 1700,
      "count": 16,
      "pct": 2.5
    }
  ],
  "by_landlord_type": {
    "pro": {
      "count": 364,
      "price": {
        "mean": 928,
        "median": 800,
        "p25": 610,
        "p75": 1102,
        "min": 375,
        "max": 3250,
        "sample_size": 364
      },
      "surface": {
        "mean": 48,
        "median": 39,
        "sample_size": 364
      },
      "price_per_m2_median": 21.6
    },
    "particulier": {
      "count": 284,
      "price": {
        "mean": 873,
        "median": 790,
        "p25": 640,
        "p75": 1080,
        "min": 100,
        "max": 2000,
        "sample_size": 284
      },
      "surface": {
        "mean": 43,
        "median": 37,
        "sample_size": 284
      },
      "price_per_m2_median": 22.8
    },
    "diff_pct": 1.3
  },
  "evolution": {
    "previous_period": null,
    "previous_generated_at": "2026-04-01T00:00:00",
    "count_delta": -177,
    "median_delta_eur": -55,
    "median_delta_pct": -6.4,
    "price_per_m2_delta_eur": 1.3,
    "price_per_m2_delta_pct": 6.3
  }
}