{"built":"2026-07-13","note":"aggregate public-record statistics; preview rankings are simplified and not the full X-Ray model","townships":{"Lake":{"slug":"lake","homes":142560,"median_year":1944,"pre80_pct":96.7,"asphalt_pct":92.2,"owner_pct":81.2,"masonry_pct":56.3,"sideable_pct":43.7,"basement_pct":78.9,"sfha":0,"fs5":18687,"fs5_pct":13.1,"permits":1593,"permit_pct":1.1,"aged_nopermit":138672,"aged_band":"138,500\u2013139,000","waves":[{"year":2025,"count":586},{"year":2024,"count":465},{"year":2022,"count":347}],"preview":{"roofing":[{"nbhd":"72051","place":"Lake","homes":1171},{"nbhd":"72080","place":"Lake","homes":2054},{"nbhd":"72092","place":"Lake","homes":1997}],"gutters":[{"nbhd":"72271","place":"Lake","homes":3631},{"nbhd":"72222","place":"Lake","homes":446},{"nbhd":"72432","place":"Lake","homes":293}],"siding":[{"nbhd":"72051","place":"Lake","homes":1171},{"nbhd":"72080","place":"Lake","homes":2054},{"nbhd":"72092","place":"Lake","homes":1997}],"drainage":[{"nbhd":"72361","place":"Lake","homes":797},{"nbhd":"72061","place":"Lake","homes":719},{"nbhd":"72040","place":"Lake","homes":5386}],"solar":[{"nbhd":"72432","place":"Lake","homes":293},{"nbhd":"72271","place":"Lake","homes":3631},{"nbhd":"72300","place":"Lake","homes":1332}]}},"Jefferson":{"slug":"jefferson","homes":111928,"median_year":1927,"pre80_pct":95.6,"asphalt_pct":88.4,"owner_pct":86.6,"masonry_pct":58.2,"sideable_pct":41.8,"basement_pct":88.2,"sfha":22,"fs5":11941,"fs5_pct":10.7,"permits":1796,"permit_pct":1.6,"aged_nopermit":107599,"aged_band":"107,500\u2013108,000","waves":[{"year":2024,"count":587},{"year":2025,"count":578},{"year":2022,"count":392}],"preview":{"roofing":[{"nbhd":"71170","place":"Jefferson","homes":1581},{"nbhd":"71520","place":"Jefferson","homes":1020},{"nbhd":"71160","place":"Jefferson","homes":1084}],"gutters":[{"nbhd":"71110","place":"Jefferson","homes":2711},{"nbhd":"71390","place":"Jefferson","homes":1629},{"nbhd":"71420","place":"Jefferson","homes":936}],"siding":[{"nbhd":"71190","place":"Jefferson","homes":1360},{"nbhd":"71520","place":"Jefferson","homes":1020},{"nbhd":"71180","place":"Jefferson","homes":3621}],"drainage":[{"nbhd":"71110","place":"Jefferson","homes":2711},{"nbhd":"71082","place":"Jefferson","homes":4696},{"nbhd":"71050","place":"Jefferson","homes":2046}],"solar":[{"nbhd":"71390","place":"Jefferson","homes":1629},{"nbhd":"71022","place":"Jefferson","homes":964},{"nbhd":"71461","place":"Jefferson","homes":2143}]}},"West Chicago":{"slug":"west-chicago","homes":65918,"median_year":1906,"pre80_pct":87.7,"asphalt_pct":63.3,"owner_pct":68.9,"masonry_pct":59.2,"sideable_pct":40.8,"basement_pct":69.3,"sfha":0,"fs5":10464,"fs5_pct":15.9,"permits":1694,"permit_pct":2.6,"aged_nopermit":60018,"aged_band":"60,000\u201360,500","waves":[{"year":2025,"count":640},{"year":2024,"count":589},{"year":2021,"count":580}],"preview":{"roofing":[{"nbhd":"77115","place":"West Chicago","homes":6013},{"nbhd":"77110","place":"West Chicago","homes":2313},{"nbhd":"77013","place":"West Chicago","homes":6632}],"gutters":[{"nbhd":"77151","place":"West Chicago","homes":661},{"nbhd":"77131","place":"West Chicago","homes":785},{"nbhd":"77071","place":"West Chicago","homes":260}],"siding":[{"nbhd":"77013","place":"West Chicago","homes":6632},{"nbhd":"77071","place":"West Chicago","homes":260},{"nbhd":"77160","place":"West Chicago","homes":3325}],"drainage":[{"nbhd":"77151","place":"West Chicago","homes":661},{"nbhd":"77152","place":"West Chicago","homes":303},{"nbhd":"77060","place":"West Chicago","homes":1262}],"solar":[{"nbhd":"77071","place":"West Chicago","homes":260},{"nbhd":"77013","place":"West Chicago","homes":6632},{"nbhd":"77011","place":"West Chicago","homes":2650}]}},"Hyde Park":{"slug":"hyde-park","homes":64065,"median_year":1926,"pre80_pct":94.5,"asphalt_pct":81.7,"owner_pct":72.8,"masonry_pct":69.8,"sideable_pct":30.2,"basement_pct":93.8,"sfha":113,"fs5":6041,"fs5_pct":9.4,"permits":999,"permit_pct":1.6,"aged_nopermit":61317,"aged_band":"61,000\u201361,500","waves":[{"year":2025,"count":359},{"year":2024,"count":292},{"year":2022,"count":262}],"preview":{"roofing":[{"nbhd":"70101","place":"Hyde Park","homes":831},{"nbhd":"70140","place":"Hyde Park","homes":765},{"nbhd":"70100","place":"Hyde Park","homes":4153}],"gutters":[{"nbhd":"70150","place":"Hyde Park","homes":349},{"nbhd":"70020","place":"Hyde Park","homes":2004},{"nbhd":"70083","place":"Hyde Park","homes":854}],"siding":[{"nbhd":"70140","place":"Hyde Park","homes":765},{"nbhd":"70101","place":"Hyde Park","homes":831},{"nbhd":"70260","place":"Hyde Park","homes":487}],"drainage":[{"nbhd":"70090","place":"Hyde Park","homes":238},{"nbhd":"70091","place":"Hyde Park","homes":525},{"nbhd":"70130","place":"Hyde Park","homes":4341}],"solar":[{"nbhd":"70151","place":"Hyde Park","homes":303},{"nbhd":"70241","place":"Hyde Park","homes":481},{"nbhd":"70140","place":"Hyde Park","homes":765}]}},"Thornton":{"slug":"thornton","homes":53053,"median_year":1957,"pre80_pct":93.4,"asphalt_pct":97.7,"owner_pct":78.9,"masonry_pct":38.8,"sideable_pct":61.2,"basement_pct":80.9,"sfha":1980,"fs5":6275,"fs5_pct":11.8,"permits":2507,"permit_pct":4.7,"aged_nopermit":49897,"aged_band":"49,500\u201350,000","waves":[{"year":2020,"count":1235},{"year":2021,"count":1048},{"year":2019,"count":444}],"preview":{"roofing":[{"nbhd":"37063","place":"Thornton","homes":203},{"nbhd":"37070","place":"Thornton","homes":4663},{"nbhd":"37185","place":"Thornton","homes":534}],"gutters":[{"nbhd":"37200","place":"Thornton","homes":868},{"nbhd":"37190","place":"Thornton","homes":763},{"nbhd":"37180","place":"Thornton","homes":174}],"siding":[{"nbhd":"37162","place":"Thornton","homes":1212},{"nbhd":"37185","place":"Thornton","homes":534},{"nbhd":"37063","place":"Thornton","homes":203}],"drainage":[{"nbhd":"37103","place":"Thornton","homes":356},{"nbhd":"37051","place":"Thornton","homes":1319},{"nbhd":"37053","place":"Thornton","homes":2679}],"solar":[{"nbhd":"37200","place":"Thornton","homes":868},{"nbhd":"37180","place":"Thornton","homes":174},{"nbhd":"37190","place":"Thornton","homes":763}]}},"Worth":{"slug":"worth","homes":43267,"median_year":1957,"pre80_pct":89.1,"asphalt_pct":98.5,"owner_pct":90.8,"masonry_pct":40.8,"sideable_pct":59.2,"basement_pct":69.7,"sfha":838,"fs5":3802,"fs5_pct":8.8,"permits":8752,"permit_pct":20.2,"aged_nopermit":33806,"aged_band":"33,500\u201334,000","waves":[{"year":2019,"count":3115},{"year":2020,"count":2138},{"year":2021,"count":1642}],"preview":{"roofing":[{"nbhd":"39133","place":"Worth","homes":321},{"nbhd":"39132","place":"Worth","homes":895},{"nbhd":"39131","place":"Worth","homes":1603}],"gutters":[{"nbhd":"39400","place":"Worth","homes":153},{"nbhd":"39270","place":"Worth","homes":372},{"nbhd":"39180","place":"Worth","homes":722}],"siding":[{"nbhd":"39133","place":"Worth","homes":321},{"nbhd":"39060","place":"Worth","homes":1547},{"nbhd":"39132","place":"Worth","homes":895}],"drainage":[{"nbhd":"39270","place":"Worth","homes":372},{"nbhd":"39133","place":"Worth","homes":321},{"nbhd":"39082","place":"Worth","homes":656}],"solar":[{"nbhd":"39140","place":"Worth","homes":309},{"nbhd":"39400","place":"Worth","homes":153},{"nbhd":"39270","place":"Worth","homes":372}]}},"Proviso":{"slug":"proviso","homes":42151,"median_year":1952,"pre80_pct":95.3,"asphalt_pct":95.9,"owner_pct":88.5,"masonry_pct":51.1,"sideable_pct":48.9,"basement_pct":89.3,"sfha":2398,"fs5":3673,"fs5_pct":8.7,"permits":105,"permit_pct":0.2,"aged_nopermit":41602,"aged_band":"41,500\u201342,000","waves":[{"year":2023,"count":50},{"year":2022,"count":25},{"year":2024,"count":21}],"preview":{"roofing":[{"nbhd":"31040","place":"Proviso","homes":824},{"nbhd":"31031","place":"Proviso","homes":1288},{"nbhd":"31060","place":"Proviso","homes":2984}],"gutters":[{"nbhd":"31174","place":"Proviso","homes":166},{"nbhd":"31152","place":"Proviso","homes":287},{"nbhd":"31151","place":"Proviso","homes":331}],"siding":[{"nbhd":"31040","place":"Proviso","homes":824},{"nbhd":"31050","place":"Proviso","homes":942},{"nbhd":"31071","place":"Proviso","homes":488}],"drainage":[{"nbhd":"31170","place":"Proviso","homes":546},{"nbhd":"31200","place":"Proviso","homes":438},{"nbhd":"31033","place":"Proviso","homes":219}],"solar":[{"nbhd":"31174","place":"Proviso","homes":166},{"nbhd":"31150","place":"Proviso","homes":852},{"nbhd":"31050","place":"Proviso","homes":942}]}},"Wheeling":{"slug":"wheeling","homes":36833,"median_year":1965,"pre80_pct":79.7,"asphalt_pct":97.7,"owner_pct":93.1,"masonry_pct":19.8,"sideable_pct":80.2,"basement_pct":87.5,"sfha":527,"fs5":2519,"fs5_pct":6.8,"permits":3814,"permit_pct":10.4,"aged_nopermit":31414,"aged_band":"31,000\u201331,500","waves":[{"year":2023,"count":932},{"year":2024,"count":802},{"year":2022,"count":774}],"preview":{"roofing":[{"nbhd":"38072","place":"Wheeling","homes":1092},{"nbhd":"38032","place":"Wheeling","homes":818},{"nbhd":"38052","place":"Wheeling","homes":1385}],"gutters":[{"nbhd":"38048","place":"Wheeling","homes":273},{"nbhd":"38045","place":"Wheeling","homes":612},{"nbhd":"38014","place":"Wheeling","homes":477}],"siding":[{"nbhd":"38012","place":"Wheeling","homes":1131},{"nbhd":"38022","place":"Wheeling","homes":1136},{"nbhd":"38072","place":"Wheeling","homes":1092}],"drainage":[{"nbhd":"38050","place":"Wheeling","homes":1843},{"nbhd":"38070","place":"Wheeling","homes":4222},{"nbhd":"38045","place":"Wheeling","homes":612}],"solar":[{"nbhd":"38048","place":"Wheeling","homes":273},{"nbhd":"38045","place":"Wheeling","homes":612},{"nbhd":"38014","place":"Wheeling","homes":477}]}},"Maine":{"slug":"maine","homes":36392,"median_year":1957,"pre80_pct":88.5,"asphalt_pct":96.3,"owner_pct":90.7,"masonry_pct":41.3,"sideable_pct":58.7,"basement_pct":87.6,"sfha":905,"fs5":1755,"fs5_pct":4.8,"permits":3567,"permit_pct":9.8,"aged_nopermit":30773,"aged_band":"30,500\u201331,000","waves":[{"year":2023,"count":976},{"year":2022,"count":678},{"year":2025,"count":638}],"preview":{"roofing":[{"nbhd":"22150","place":"Maine","homes":3195},{"nbhd":"22120","place":"Maine","homes":1163},{"nbhd":"22112","place":"Maine","homes":353}],"gutters":[{"nbhd":"22120","place":"Maine","homes":1163},{"nbhd":"22100","place":"Maine","homes":349},{"nbhd":"22141","place":"Maine","homes":407}],"siding":[{"nbhd":"22082","place":"Maine","homes":223},{"nbhd":"22023","place":"Maine","homes":1619},{"nbhd":"22180","place":"Maine","homes":2272}],"drainage":[{"nbhd":"22141","place":"Maine","homes":407},{"nbhd":"22110","place":"Maine","homes":1409},{"nbhd":"22023","place":"Maine","homes":1619}],"solar":[{"nbhd":"22100","place":"Maine","homes":349},{"nbhd":"22091","place":"Maine","homes":444},{"nbhd":"22143","place":"Maine","homes":195}]}},"Bremen":{"slug":"bremen","homes":32504,"median_year":1966,"pre80_pct":79.8,"asphalt_pct":99.0,"owner_pct":85.4,"masonry_pct":15.0,"sideable_pct":85.0,"basement_pct":67.3,"sfha":980,"fs5":2396,"fs5_pct":7.4,"permits":5877,"permit_pct":18.1,"aged_nopermit":25587,"aged_band":"25,500\u201326,000","waves":[{"year":2024,"count":2162},{"year":2021,"count":1174},{"year":2020,"count":1042}],"preview":{"roofing":[{"nbhd":"13170","place":"Bremen","homes":2245},{"nbhd":"13110","place":"Bremen","homes":355},{"nbhd":"13314","place":"Bremen","homes":1401}],"gutters":[{"nbhd":"13182","place":"Bremen","homes":260},{"nbhd":"13345","place":"Bremen","homes":205},{"nbhd":"13315","place":"Bremen","homes":187}],"siding":[{"nbhd":"13060","place":"Bremen","homes":371},{"nbhd":"13020","place":"Bremen","homes":531},{"nbhd":"13120","place":"Bremen","homes":2004}],"drainage":[{"nbhd":"13316","place":"Bremen","homes":431},{"nbhd":"13182","place":"Bremen","homes":260},{"nbhd":"13250","place":"Bremen","homes":861}],"solar":[{"nbhd":"13182","place":"Bremen","homes":260},{"nbhd":"13345","place":"Bremen","homes":205},{"nbhd":"13315","place":"Bremen","homes":187}]}},"Niles":{"slug":"niles","homes":32497,"median_year":1955,"pre80_pct":93.5,"asphalt_pct":94.1,"owner_pct":90.5,"masonry_pct":64.7,"sideable_pct":35.3,"basement_pct":94.8,"sfha":12,"fs5":1812,"fs5_pct":5.6,"permits":453,"permit_pct":1.4,"aged_nopermit":31029,"aged_band":"31,000\u201331,500","waves":[{"year":2023,"count":182},{"year":2024,"count":136},{"year":2021,"count":84}],"preview":{"roofing":[{"nbhd":"24032","place":"Niles","homes":295},{"nbhd":"24060","place":"Niles","homes":812},{"nbhd":"24081","place":"Niles","homes":9608}],"gutters":[{"nbhd":"24102","place":"Niles","homes":499},{"nbhd":"24023","place":"Niles","homes":370},{"nbhd":"24022","place":"Niles","homes":186}],"siding":[{"nbhd":"24032","place":"Niles","homes":295},{"nbhd":"24150","place":"Niles","homes":436},{"nbhd":"24060","place":"Niles","homes":812}],"drainage":[{"nbhd":"24013","place":"Niles","homes":379},{"nbhd":"24081","place":"Niles","homes":9608},{"nbhd":"24051","place":"Niles","homes":3853}],"solar":[{"nbhd":"24102","place":"Niles","homes":499},{"nbhd":"24022","place":"Niles","homes":186},{"nbhd":"24023","place":"Niles","homes":370}]}},"Schaumburg":{"slug":"schaumburg","homes":30628,"median_year":1973,"pre80_pct":73.3,"asphalt_pct":99.0,"owner_pct":92.6,"masonry_pct":4.1,"sideable_pct":95.9,"basement_pct":62.6,"sfha":55,"fs5":1307,"fs5_pct":4.3,"permits":1936,"permit_pct":6.3,"aged_nopermit":27898,"aged_band":"27,500\u201328,000","waves":[{"year":2025,"count":860},{"year":2024,"count":805},{"year":2023,"count":347}],"preview":{"roofing":[{"nbhd":"35040","place":"Schaumburg","homes":5711},{"nbhd":"35020","place":"Schaumburg","homes":2941},{"nbhd":"35170","place":"Schaumburg","homes":1130}],"gutters":[{"nbhd":"35117","place":"Schaumburg","homes":266},{"nbhd":"35116","place":"Schaumburg","homes":424},{"nbhd":"35150","place":"Schaumburg","homes":206}],"siding":[{"nbhd":"35170","place":"Schaumburg","homes":1130},{"nbhd":"35011","place":"Schaumburg","homes":1344},{"nbhd":"35020","place":"Schaumburg","homes":2941}],"drainage":[{"nbhd":"35091","place":"Schaumburg","homes":231},{"nbhd":"35116","place":"Schaumburg","homes":424},{"nbhd":"35110","place":"Schaumburg","homes":261}],"solar":[{"nbhd":"35117","place":"Schaumburg","homes":266},{"nbhd":"35116","place":"Schaumburg","homes":424},{"nbhd":"35060","place":"Schaumburg","homes":276}]}},"Lyons":{"slug":"lyons","homes":30305,"median_year":1958,"pre80_pct":76.8,"asphalt_pct":95.7,"owner_pct":90.3,"masonry_pct":36.1,"sideable_pct":63.9,"basement_pct":80.9,"sfha":340,"fs5":3013,"fs5_pct":9.9,"permits":4237,"permit_pct":14.0,"aged_nopermit":23653,"aged_band":"23,500\u201324,000","waves":[{"year":2021,"count":1036},{"year":2024,"count":980},{"year":2020,"count":858}],"preview":{"roofing":[{"nbhd":"21032","place":"Lyons","homes":928},{"nbhd":"21166","place":"Lyons","homes":430},{"nbhd":"21052","place":"Lyons","homes":2715}],"gutters":[{"nbhd":"21062","place":"Lyons","homes":548},{"nbhd":"21061","place":"Lyons","homes":381},{"nbhd":"21067","place":"Lyons","homes":408}],"siding":[{"nbhd":"21032","place":"Lyons","homes":928},{"nbhd":"21166","place":"Lyons","homes":430},{"nbhd":"21041","place":"Lyons","homes":332}],"drainage":[{"nbhd":"21101","place":"Lyons","homes":1008},{"nbhd":"21162","place":"Lyons","homes":885},{"nbhd":"21022","place":"Lyons","homes":1135}],"solar":[{"nbhd":"21151","place":"Lyons","homes":330},{"nbhd":"21032","place":"Lyons","homes":928},{"nbhd":"21012","place":"Lyons","homes":1652}]}},"Orland":{"slug":"orland","homes":28255,"median_year":1987,"pre80_pct":33.2,"asphalt_pct":97.1,"owner_pct":95.3,"masonry_pct":18.6,"sideable_pct":81.4,"basement_pct":90.1,"sfha":127,"fs5":1790,"fs5_pct":6.3,"permits":3484,"permit_pct":12.3,"aged_nopermit":22686,"aged_band":"22,500\u201323,000","waves":[{"year":2025,"count":1825},{"year":2024,"count":1011},{"year":2020,"count":614}],"preview":{"roofing":[{"nbhd":"28061","place":"Orland","homes":877},{"nbhd":"28022","place":"Orland","homes":1396},{"nbhd":"28050","place":"Orland","homes":1283}],"gutters":[{"nbhd":"28012","place":"Orland","homes":358},{"nbhd":"28100","place":"Orland","homes":2906},{"nbhd":"28030","place":"Orland","homes":438}],"siding":[{"nbhd":"28022","place":"Orland","homes":1396},{"nbhd":"28040","place":"Orland","homes":1340},{"nbhd":"28050","place":"Orland","homes":1283}],"drainage":[{"nbhd":"28030","place":"Orland","homes":438},{"nbhd":"28039","place":"Orland","homes":522},{"nbhd":"28046","place":"Orland","homes":1255}],"solar":[{"nbhd":"28100","place":"Orland","homes":2906},{"nbhd":"28030","place":"Orland","homes":438},{"nbhd":"28103","place":"Orland","homes":1674}]}},"Palatine":{"slug":"palatine","homes":28174,"median_year":1972,"pre80_pct":66.2,"asphalt_pct":94.9,"owner_pct":90.0,"masonry_pct":11.8,"sideable_pct":88.2,"basement_pct":77.9,"sfha":125,"fs5":1468,"fs5_pct":5.2,"permits":2761,"permit_pct":9.8,"aged_nopermit":23523,"aged_band":"23,500\u201324,000","waves":[{"year":2023,"count":1041},{"year":2024,"count":784},{"year":2020,"count":366}],"preview":{"roofing":[{"nbhd":"29100","place":"Palatine","homes":3149},{"nbhd":"29013","place":"Palatine","homes":378},{"nbhd":"29060","place":"Palatine","homes":4073}],"gutters":[{"nbhd":"29011","place":"Palatine","homes":731},{"nbhd":"29110","place":"Palatine","homes":182},{"nbhd":"29041","place":"Palatine","homes":389}],"siding":[{"nbhd":"29100","place":"Palatine","homes":3149},{"nbhd":"29070","place":"Palatine","homes":4547},{"nbhd":"29060","place":"Palatine","homes":4073}],"drainage":[{"nbhd":"29110","place":"Palatine","homes":182},{"nbhd":"29084","place":"Palatine","homes":1167},{"nbhd":"29011","place":"Palatine","homes":731}],"solar":[{"nbhd":"29140","place":"Palatine","homes":239},{"nbhd":"29180","place":"Palatine","homes":186},{"nbhd":"29110","place":"Palatine","homes":182}]}},"Bloom":{"slug":"bloom","homes":27236,"median_year":1961,"pre80_pct":85.7,"asphalt_pct":97.8,"owner_pct":81.2,"masonry_pct":20.0,"sideable_pct":80.0,"basement_pct":81.1,"sfha":196,"fs5":1745,"fs5_pct":6.4,"permits":2201,"permit_pct":8.1,"aged_nopermit":24209,"aged_band":"24,000\u201324,500","waves":[{"year":2020,"count":769},{"year":2024,"count":651},{"year":2023,"count":488}],"preview":{"roofing":[{"nbhd":"12101","place":"Bloom","homes":1212},{"nbhd":"12111","place":"Bloom","homes":941},{"nbhd":"12085","place":"Bloom","homes":749}],"gutters":[{"nbhd":"12052","place":"Bloom","homes":230},{"nbhd":"12053","place":"Bloom","homes":212},{"nbhd":"12051","place":"Bloom","homes":467}],"siding":[{"nbhd":"12101","place":"Bloom","homes":1212},{"nbhd":"12063","place":"Bloom","homes":169},{"nbhd":"12031","place":"Bloom","homes":261}],"drainage":[{"nbhd":"12044","place":"Bloom","homes":493},{"nbhd":"12073","place":"Bloom","homes":631},{"nbhd":"12052","place":"Bloom","homes":230}],"solar":[{"nbhd":"12052","place":"Bloom","homes":230},{"nbhd":"12053","place":"Bloom","homes":212},{"nbhd":"12071","place":"Bloom","homes":883}]}},"Hanover":{"slug":"hanover","homes":25286,"median_year":1984,"pre80_pct":44.9,"asphalt_pct":98.0,"owner_pct":90.5,"masonry_pct":4.9,"sideable_pct":95.1,"basement_pct":66.2,"sfha":42,"fs5":1101,"fs5_pct":4.4,"permits":5129,"permit_pct":20.3,"aged_nopermit":17832,"aged_band":"17,500\u201318,000","waves":[{"year":2023,"count":2147},{"year":2024,"count":1469},{"year":2020,"count":1342}],"preview":{"roofing":[{"nbhd":"18040","place":"Hanover","homes":587},{"nbhd":"18050","place":"Hanover","homes":678},{"nbhd":"18020","place":"Hanover","homes":5105}],"gutters":[{"nbhd":"18018","place":"Hanover","homes":192},{"nbhd":"18035","place":"Hanover","homes":910},{"nbhd":"18030","place":"Hanover","homes":323}],"siding":[{"nbhd":"18040","place":"Hanover","homes":587},{"nbhd":"18020","place":"Hanover","homes":5105},{"nbhd":"18050","place":"Hanover","homes":678}],"drainage":[{"nbhd":"18018","place":"Hanover","homes":192},{"nbhd":"18035","place":"Hanover","homes":910},{"nbhd":"18090","place":"Hanover","homes":1400}],"solar":[{"nbhd":"18030","place":"Hanover","homes":323},{"nbhd":"18035","place":"Hanover","homes":910},{"nbhd":"18090","place":"Hanover","homes":1400}]}},"Northfield":{"slug":"northfield","homes":24744,"median_year":1969,"pre80_pct":64.7,"asphalt_pct":88.9,"owner_pct":91.6,"masonry_pct":26.6,"sideable_pct":73.4,"basement_pct":90.7,"sfha":200,"fs5":1113,"fs5_pct":4.5,"permits":1569,"permit_pct":6.3,"aged_nopermit":19957,"aged_band":"19,500\u201320,000","waves":[{"year":2023,"count":523},{"year":2024,"count":502},{"year":2022,"count":378}],"preview":{"roofing":[{"nbhd":"25090","place":"Northfield","homes":612},{"nbhd":"25131","place":"Northfield","homes":937},{"nbhd":"25072","place":"Northfield","homes":1605}],"gutters":[{"nbhd":"25082","place":"Northfield","homes":151},{"nbhd":"25210","place":"Northfield","homes":446},{"nbhd":"25200","place":"Northfield","homes":1369}],"siding":[{"nbhd":"25090","place":"Northfield","homes":612},{"nbhd":"25131","place":"Northfield","homes":937},{"nbhd":"25052","place":"Northfield","homes":2952}],"drainage":[{"nbhd":"25190","place":"Northfield","homes":189},{"nbhd":"25140","place":"Northfield","homes":350},{"nbhd":"25350","place":"Northfield","homes":201}],"solar":[{"nbhd":"25400","place":"Northfield","homes":201},{"nbhd":"25021","place":"Northfield","homes":1793},{"nbhd":"25010","place":"Northfield","homes":439}]}},"Lake View":{"slug":"lake-view","homes":24697,"median_year":1908,"pre80_pct":77.7,"asphalt_pct":52.8,"owner_pct":72.6,"masonry_pct":55.1,"sideable_pct":44.9,"basement_pct":91.1,"sfha":0,"fs5":2368,"fs5_pct":9.6,"permits":1192,"permit_pct":4.8,"aged_nopermit":20519,"aged_band":"20,500\u201321,000","waves":[{"year":2025,"count":409},{"year":2021,"count":381},{"year":2024,"count":365}],"preview":{"roofing":[{"nbhd":"73022","place":"Lake View","homes":345},{"nbhd":"73034","place":"Lake View","homes":366},{"nbhd":"73012","place":"Lake View","homes":1626}],"gutters":[{"nbhd":"73034","place":"Lake View","homes":366},{"nbhd":"73060","place":"Lake View","homes":231},{"nbhd":"73200","place":"Lake View","homes":361}],"siding":[{"nbhd":"73110","place":"Lake View","homes":596},{"nbhd":"73012","place":"Lake View","homes":1626},{"nbhd":"73100","place":"Lake View","homes":622}],"drainage":[{"nbhd":"73110","place":"Lake View","homes":596},{"nbhd":"73022","place":"Lake View","homes":345},{"nbhd":"73070","place":"Lake View","homes":2239}],"solar":[{"nbhd":"73120","place":"Lake View","homes":798},{"nbhd":"73110","place":"Lake View","homes":596},{"nbhd":"73034","place":"Lake View","homes":366}]}},"Leyden":{"slug":"leyden","homes":23497,"median_year":1952,"pre80_pct":96.6,"asphalt_pct":97.3,"owner_pct":89.6,"masonry_pct":49.8,"sideable_pct":50.2,"basement_pct":79.7,"sfha":1046,"fs5":1030,"fs5_pct":4.4,"permits":3312,"permit_pct":14.1,"aged_nopermit":19961,"aged_band":"19,500\u201320,000","waves":[{"year":2020,"count":1275},{"year":2021,"count":906},{"year":2022,"count":895}],"preview":{"roofing":[{"nbhd":"20080","place":"Leyden","homes":5062},{"nbhd":"20090","place":"Leyden","homes":196},{"nbhd":"20070","place":"Leyden","homes":939}],"gutters":[{"nbhd":"20070","place":"Leyden","homes":939},{"nbhd":"20010","place":"Leyden","homes":527},{"nbhd":"20040","place":"Leyden","homes":782}],"siding":[{"nbhd":"20050","place":"Leyden","homes":4916},{"nbhd":"20090","place":"Leyden","homes":196},{"nbhd":"20060","place":"Leyden","homes":1214}],"drainage":[{"nbhd":"20070","place":"Leyden","homes":939},{"nbhd":"20010","place":"Leyden","homes":527},{"nbhd":"20040","place":"Leyden","homes":782}],"solar":[{"nbhd":"20010","place":"Leyden","homes":527},{"nbhd":"20090","place":"Leyden","homes":196},{"nbhd":"20070","place":"Leyden","homes":939}]}},"Rich":{"slug":"rich","homes":22394,"median_year":1972,"pre80_pct":65.3,"asphalt_pct":98.3,"owner_pct":86.2,"masonry_pct":11.8,"sideable_pct":88.2,"basement_pct":71.3,"sfha":185,"fs5":1362,"fs5_pct":6.1,"permits":4230,"permit_pct":18.9,"aged_nopermit":16548,"aged_band":"16,500\u201317,000","waves":[{"year":2021,"count":1564},{"year":2020,"count":1518},{"year":2025,"count":946}],"preview":{"roofing":[{"nbhd":"32255","place":"Rich","homes":397},{"nbhd":"32130","place":"Rich","homes":1154},{"nbhd":"32201","place":"Rich","homes":158}],"gutters":[{"nbhd":"32300","place":"Rich","homes":217},{"nbhd":"32080","place":"Rich","homes":179},{"nbhd":"32075","place":"Rich","homes":156}],"siding":[{"nbhd":"32226","place":"Rich","homes":940},{"nbhd":"32120","place":"Rich","homes":3021},{"nbhd":"32110","place":"Rich","homes":606}],"drainage":[{"nbhd":"32270","place":"Rich","homes":308},{"nbhd":"32080","place":"Rich","homes":179},{"nbhd":"32150","place":"Rich","homes":761}],"solar":[{"nbhd":"32300","place":"Rich","homes":217},{"nbhd":"32320","place":"Rich","homes":317},{"nbhd":"32075","place":"Rich","homes":156}]}},"New Trier":{"slug":"new-trier","homes":18745,"median_year":1953,"pre80_pct":81.9,"asphalt_pct":80.6,"owner_pct":90.3,"masonry_pct":34.1,"sideable_pct":65.9,"basement_pct":94.5,"sfha":591,"fs5":1557,"fs5_pct":8.3,"permits":241,"permit_pct":1.3,"aged_nopermit":16459,"aged_band":"16,000\u201316,500","waves":[{"year":2023,"count":71},{"year":2025,"count":66},{"year":2024,"count":65}],"preview":{"roofing":[{"nbhd":"23141","place":"New Trier","homes":818},{"nbhd":"23094","place":"New Trier","homes":821},{"nbhd":"23093","place":"New Trier","homes":1714}],"gutters":[{"nbhd":"23080","place":"New Trier","homes":645},{"nbhd":"23110","place":"New Trier","homes":508},{"nbhd":"23050","place":"New Trier","homes":332}],"siding":[{"nbhd":"23093","place":"New Trier","homes":1714},{"nbhd":"23092","place":"New Trier","homes":1615},{"nbhd":"23011","place":"New Trier","homes":394}],"drainage":[{"nbhd":"23045","place":"New Trier","homes":232},{"nbhd":"23050","place":"New Trier","homes":332},{"nbhd":"23132","place":"New Trier","homes":732}],"solar":[{"nbhd":"23141","place":"New Trier","homes":818},{"nbhd":"23094","place":"New Trier","homes":821},{"nbhd":"23093","place":"New Trier","homes":1714}]}},"Elk Grove":{"slug":"elk-grove","homes":18296,"median_year":1963,"pre80_pct":93.5,"asphalt_pct":95.6,"owner_pct":91.8,"masonry_pct":23.5,"sideable_pct":76.5,"basement_pct":69.6,"sfha":44,"fs5":1024,"fs5_pct":5.6,"permits":2367,"permit_pct":12.9,"aged_nopermit":15677,"aged_band":"15,500\u201316,000","waves":[{"year":2025,"count":654},{"year":2020,"count":522},{"year":2024,"count":476}],"preview":{"roofing":[{"nbhd":"16062","place":"Elk Grove","homes":3265},{"nbhd":"16030","place":"Elk Grove","homes":1644},{"nbhd":"16061","place":"Elk Grove","homes":1908}],"gutters":[{"nbhd":"16010","place":"Elk Grove","homes":2086},{"nbhd":"16094","place":"Elk Grove","homes":302},{"nbhd":"16011","place":"Elk Grove","homes":401}],"siding":[{"nbhd":"16062","place":"Elk Grove","homes":3265},{"nbhd":"16061","place":"Elk Grove","homes":1908},{"nbhd":"16012","place":"Elk Grove","homes":1091}],"drainage":[{"nbhd":"16094","place":"Elk Grove","homes":302},{"nbhd":"16011","place":"Elk Grove","homes":401},{"nbhd":"16030","place":"Elk Grove","homes":1644}],"solar":[{"nbhd":"16070","place":"Elk Grove","homes":224},{"nbhd":"16010","place":"Elk Grove","homes":2086},{"nbhd":"16085","place":"Elk Grove","homes":193}]}},"South Chicago":{"slug":"south-chicago","homes":15806,"median_year":1904,"pre80_pct":67.2,"asphalt_pct":72.5,"owner_pct":79.7,"masonry_pct":75.2,"sideable_pct":24.7,"basement_pct":79.0,"sfha":0,"fs5":4583,"fs5_pct":29.0,"permits":233,"permit_pct":1.5,"aged_nopermit":12830,"aged_band":"12,500\u201313,000","waves":[{"year":2025,"count":149},{"year":2021,"count":130},{"year":2024,"count":125}],"preview":{"roofing":[{"nbhd":"76061","place":"South Chicago","homes":792},{"nbhd":"76060","place":"South Chicago","homes":4035},{"nbhd":"76050","place":"South Chicago","homes":3587}],"gutters":[{"nbhd":"76011","place":"South Chicago","homes":928},{"nbhd":"76041","place":"South Chicago","homes":881},{"nbhd":"76030","place":"South Chicago","homes":5013}],"siding":[{"nbhd":"76061","place":"South Chicago","homes":792},{"nbhd":"76050","place":"South Chicago","homes":3587},{"nbhd":"76060","place":"South Chicago","homes":4035}],"drainage":[{"nbhd":"76060","place":"South Chicago","homes":4035},{"nbhd":"76061","place":"South Chicago","homes":792},{"nbhd":"76050","place":"South Chicago","homes":3587}],"solar":[{"nbhd":"76050","place":"South Chicago","homes":3587},{"nbhd":"76061","place":"South Chicago","homes":792},{"nbhd":"76060","place":"South Chicago","homes":4035}]}},"Palos":{"slug":"palos","homes":14008,"median_year":1972,"pre80_pct":67.9,"asphalt_pct":95.9,"owner_pct":92.8,"masonry_pct":25.9,"sideable_pct":74.1,"basement_pct":78.3,"sfha":133,"fs5":2900,"fs5_pct":20.7,"permits":4085,"permit_pct":29.2,"aged_nopermit":9134,"aged_band":"9,000\u20139,500","waves":[{"year":2024,"count":1832},{"year":2025,"count":921},{"year":2020,"count":661}],"preview":{"roofing":[{"nbhd":"30030","place":"Palos","homes":804},{"nbhd":"30042","place":"Palos","homes":462},{"nbhd":"30010","place":"Palos","homes":966}],"gutters":[{"nbhd":"30062","place":"Palos","homes":607},{"nbhd":"30052","place":"Palos","homes":360},{"nbhd":"30071","place":"Palos","homes":450}],"siding":[{"nbhd":"30010","place":"Palos","homes":966},{"nbhd":"30042","place":"Palos","homes":462},{"nbhd":"30080","place":"Palos","homes":908}],"drainage":[{"nbhd":"30042","place":"Palos","homes":462},{"nbhd":"30011","place":"Palos","homes":868},{"nbhd":"30051","place":"Palos","homes":453}],"solar":[{"nbhd":"30062","place":"Palos","homes":607},{"nbhd":"30052","place":"Palos","homes":360},{"nbhd":"30061","place":"Palos","homes":302}]}},"Cicero":{"slug":"cicero","homes":13691,"median_year":1922,"pre80_pct":98.5,"asphalt_pct":80.0,"owner_pct":88.7,"masonry_pct":72.8,"sideable_pct":27.2,"basement_pct":92.3,"sfha":0,"fs5":1712,"fs5_pct":12.5,"permits":2800,"permit_pct":20.5,"aged_nopermit":10804,"aged_band":"10,500\u201311,000","waves":[{"year":2021,"count":687},{"year":2020,"count":580},{"year":2023,"count":528}],"preview":{"roofing":[{"nbhd":"15071","place":"Cicero","homes":1480},{"nbhd":"15020","place":"Cicero","homes":863},{"nbhd":"15072","place":"Cicero","homes":690}],"gutters":[{"nbhd":"15040","place":"Cicero","homes":921},{"nbhd":"15015","place":"Cicero","homes":981},{"nbhd":"15065","place":"Cicero","homes":1139}],"siding":[{"nbhd":"15071","place":"Cicero","homes":1480},{"nbhd":"15020","place":"Cicero","homes":863},{"nbhd":"15060","place":"Cicero","homes":243}],"drainage":[{"nbhd":"15090","place":"Cicero","homes":782},{"nbhd":"15080","place":"Cicero","homes":1594},{"nbhd":"15072","place":"Cicero","homes":690}],"solar":[{"nbhd":"15085","place":"Cicero","homes":752},{"nbhd":"15020","place":"Cicero","homes":863},{"nbhd":"15072","place":"Cicero","homes":690}]}},"Evanston":{"slug":"evanston","homes":12991,"median_year":1927,"pre80_pct":95.4,"asphalt_pct":85.2,"owner_pct":86.2,"masonry_pct":43.0,"sideable_pct":57.0,"basement_pct":92.3,"sfha":4,"fs5":3029,"fs5_pct":23.3,"permits":3455,"permit_pct":26.6,"aged_nopermit":9245,"aged_band":"9,000\u20139,500","waves":[{"year":2020,"count":1895},{"year":2021,"count":757},{"year":2022,"count":419}],"preview":{"roofing":[{"nbhd":"17041","place":"Evanston","homes":539},{"nbhd":"17080","place":"Evanston","homes":707},{"nbhd":"17042","place":"Evanston","homes":502}],"gutters":[{"nbhd":"17050","place":"Evanston","homes":183},{"nbhd":"17043","place":"Evanston","homes":499},{"nbhd":"17020","place":"Evanston","homes":404}],"siding":[{"nbhd":"17080","place":"Evanston","homes":707},{"nbhd":"17043","place":"Evanston","homes":499},{"nbhd":"17210","place":"Evanston","homes":535}],"drainage":[{"nbhd":"17140","place":"Evanston","homes":1013},{"nbhd":"17130","place":"Evanston","homes":686},{"nbhd":"17060","place":"Evanston","homes":1085}],"solar":[{"nbhd":"17043","place":"Evanston","homes":499},{"nbhd":"17090","place":"Evanston","homes":746},{"nbhd":"17042","place":"Evanston","homes":502}]}},"Berwyn":{"slug":"berwyn","homes":12955,"median_year":1925,"pre80_pct":98.1,"asphalt_pct":86.8,"owner_pct":88.8,"masonry_pct":72.0,"sideable_pct":28.0,"basement_pct":96.4,"sfha":0,"fs5":378,"fs5_pct":2.9,"permits":2554,"permit_pct":19.7,"aged_nopermit":10321,"aged_band":"10,000\u201310,500","waves":[{"year":2021,"count":595},{"year":2022,"count":585},{"year":2020,"count":540}],"preview":{"roofing":[{"nbhd":"11060","place":"Berwyn","homes":583},{"nbhd":"11080","place":"Berwyn","homes":366},{"nbhd":"11040","place":"Berwyn","homes":1561}],"gutters":[{"nbhd":"11060","place":"Berwyn","homes":583},{"nbhd":"11010","place":"Berwyn","homes":1912},{"nbhd":"11090","place":"Berwyn","homes":455}],"siding":[{"nbhd":"11060","place":"Berwyn","homes":583},{"nbhd":"11020","place":"Berwyn","homes":2220},{"nbhd":"11040","place":"Berwyn","homes":1561}],"drainage":[{"nbhd":"11030","place":"Berwyn","homes":1599},{"nbhd":"11060","place":"Berwyn","homes":583},{"nbhd":"11050","place":"Berwyn","homes":2030}],"solar":[{"nbhd":"11060","place":"Berwyn","homes":583},{"nbhd":"11040","place":"Berwyn","homes":1561},{"nbhd":"11070","place":"Berwyn","homes":2198}]}},"Stickney":{"slug":"stickney","homes":12313,"median_year":1958,"pre80_pct":84.1,"asphalt_pct":98.3,"owner_pct":92.0,"masonry_pct":44.9,"sideable_pct":55.1,"basement_pct":66.6,"sfha":0,"fs5":2458,"fs5_pct":20.0,"permits":324,"permit_pct":2.6,"aged_nopermit":11322,"aged_band":"11,000\u201311,500","waves":[{"year":2020,"count":100},{"year":2022,"count":92},{"year":2023,"count":85}],"preview":{"roofing":[{"nbhd":"36060","place":"Stickney","homes":266},{"nbhd":"36022","place":"Stickney","homes":340},{"nbhd":"36012","place":"Stickney","homes":2171}],"gutters":[{"nbhd":"36041","place":"Stickney","homes":4181},{"nbhd":"36060","place":"Stickney","homes":266},{"nbhd":"36050","place":"Stickney","homes":4319}],"siding":[{"nbhd":"36022","place":"Stickney","homes":340},{"nbhd":"36060","place":"Stickney","homes":266},{"nbhd":"36021","place":"Stickney","homes":956}],"drainage":[{"nbhd":"36021","place":"Stickney","homes":956},{"nbhd":"36012","place":"Stickney","homes":2171},{"nbhd":"36041","place":"Stickney","homes":4181}],"solar":[{"nbhd":"36041","place":"Stickney","homes":4181},{"nbhd":"36060","place":"Stickney","homes":266},{"nbhd":"36050","place":"Stickney","homes":4319}]}},"Oak Park":{"slug":"oak-park","homes":11237,"median_year":1916,"pre80_pct":97.1,"asphalt_pct":88.0,"owner_pct":92.6,"masonry_pct":28.3,"sideable_pct":71.7,"basement_pct":96.8,"sfha":0,"fs5":374,"fs5_pct":3.3,"permits":1920,"permit_pct":17.1,"aged_nopermit":9226,"aged_band":"9,000\u20139,500","waves":[{"year":2021,"count":482},{"year":2020,"count":433},{"year":2024,"count":390}],"preview":{"roofing":[{"nbhd":"27050","place":"Oak Park","homes":1509},{"nbhd":"27080","place":"Oak Park","homes":963},{"nbhd":"27060","place":"Oak Park","homes":1583}],"gutters":[{"nbhd":"27070","place":"Oak Park","homes":539},{"nbhd":"27041","place":"Oak Park","homes":441},{"nbhd":"27010","place":"Oak Park","homes":1293}],"siding":[{"nbhd":"27040","place":"Oak Park","homes":419},{"nbhd":"27100","place":"Oak Park","homes":718},{"nbhd":"27041","place":"Oak Park","homes":441}],"drainage":[{"nbhd":"27050","place":"Oak Park","homes":1509},{"nbhd":"27080","place":"Oak Park","homes":963},{"nbhd":"27030","place":"Oak Park","homes":1639}],"solar":[{"nbhd":"27070","place":"Oak Park","homes":539},{"nbhd":"27020","place":"Oak Park","homes":1531},{"nbhd":"27041","place":"Oak Park","homes":441}]}},"Norwood Park":{"slug":"norwood-park","homes":8203,"median_year":1956,"pre80_pct":90.5,"asphalt_pct":96.1,"owner_pct":88.6,"masonry_pct":65.3,"sideable_pct":34.7,"basement_pct":91.0,"sfha":0,"fs5":53,"fs5_pct":0.6,"permits":1,"permit_pct":0.0,"aged_nopermit":7798,"aged_band":"7,500\u20138,000","waves":[{"year":2020,"count":1}],"preview":{"roofing":[{"nbhd":"26020","place":"Norwood Park","homes":943},{"nbhd":"26050","place":"Norwood Park","homes":246},{"nbhd":"26010","place":"Norwood Park","homes":5156}],"gutters":[{"nbhd":"26040","place":"Norwood Park","homes":1475},{"nbhd":"26020","place":"Norwood Park","homes":943},{"nbhd":"26010","place":"Norwood Park","homes":5156}],"siding":[{"nbhd":"26030","place":"Norwood Park","homes":383},{"nbhd":"26020","place":"Norwood Park","homes":943},{"nbhd":"26040","place":"Norwood Park","homes":1475}],"drainage":[{"nbhd":"26010","place":"Norwood Park","homes":5156},{"nbhd":"26040","place":"Norwood Park","homes":1475},{"nbhd":"26020","place":"Norwood Park","homes":943}],"solar":[{"nbhd":"26050","place":"Norwood Park","homes":246},{"nbhd":"26030","place":"Norwood Park","homes":383},{"nbhd":"26040","place":"Norwood Park","homes":1475}]}},"Lemont":{"slug":"lemont","homes":8105,"median_year":1994,"pre80_pct":26.8,"asphalt_pct":96.2,"owner_pct":91.8,"masonry_pct":28.3,"sideable_pct":71.7,"basement_pct":95.1,"sfha":21,"fs5":526,"fs5_pct":6.5,"permits":1368,"permit_pct":16.9,"aged_nopermit":4966,"aged_band":"4,500\u20135,000","waves":[{"year":2022,"count":361},{"year":2020,"count":345},{"year":2024,"count":341}],"preview":{"roofing":[{"nbhd":"19010","place":"Lemont","homes":1267},{"nbhd":"19032","place":"Lemont","homes":637},{"nbhd":"19011","place":"Lemont","homes":277}],"gutters":[{"nbhd":"19040","place":"Lemont","homes":319},{"nbhd":"19061","place":"Lemont","homes":244},{"nbhd":"19100","place":"Lemont","homes":380}],"siding":[{"nbhd":"19010","place":"Lemont","homes":1267},{"nbhd":"19032","place":"Lemont","homes":637},{"nbhd":"19050","place":"Lemont","homes":439}],"drainage":[{"nbhd":"19025","place":"Lemont","homes":603},{"nbhd":"19061","place":"Lemont","homes":244},{"nbhd":"19040","place":"Lemont","homes":319}],"solar":[{"nbhd":"19100","place":"Lemont","homes":380},{"nbhd":"19060","place":"Lemont","homes":2772},{"nbhd":"19040","place":"Lemont","homes":319}]}},"Rogers Park":{"slug":"rogers-park","homes":8041,"median_year":1931,"pre80_pct":96.9,"asphalt_pct":69.5,"owner_pct":81.3,"masonry_pct":76.9,"sideable_pct":23.1,"basement_pct":98.2,"sfha":2,"fs5":1805,"fs5_pct":22.4,"permits":92,"permit_pct":1.1,"aged_nopermit":7784,"aged_band":"7,500\u20138,000","waves":[{"year":2025,"count":58},{"year":2020,"count":43},{"year":2023,"count":41}],"preview":{"roofing":[{"nbhd":"75023","place":"Rogers Park","homes":458},{"nbhd":"75010","place":"Rogers Park","homes":1692},{"nbhd":"75031","place":"Rogers Park","homes":1685}],"gutters":[{"nbhd":"75033","place":"Rogers Park","homes":175},{"nbhd":"75021","place":"Rogers Park","homes":1199},{"nbhd":"75040","place":"Rogers Park","homes":1087}],"siding":[{"nbhd":"75031","place":"Rogers Park","homes":1685},{"nbhd":"75060","place":"Rogers Park","homes":365},{"nbhd":"75023","place":"Rogers Park","homes":458}],"drainage":[{"nbhd":"75010","place":"Rogers Park","homes":1692},{"nbhd":"75040","place":"Rogers Park","homes":1087},{"nbhd":"75021","place":"Rogers Park","homes":1199}],"solar":[{"nbhd":"75040","place":"Rogers Park","homes":1087},{"nbhd":"75010","place":"Rogers Park","homes":1692},{"nbhd":"75033","place":"Rogers Park","homes":175}]}},"Barrington":{"slug":"barrington","homes":5755,"median_year":1983,"pre80_pct":44.6,"asphalt_pct":71.9,"owner_pct":88.2,"masonry_pct":27.0,"sideable_pct":73.0,"basement_pct":93.5,"sfha":75,"fs5":291,"fs5_pct":5.1,"permits":65,"permit_pct":1.1,"aged_nopermit":4585,"aged_band":"4,500\u20135,000","waves":[{"year":2021,"count":43},{"year":2019,"count":28},{"year":2020,"count":7}],"preview":{"roofing":[{"nbhd":"10012","place":"Barrington","homes":1221},{"nbhd":"10011","place":"Barrington","homes":177},{"nbhd":"10040","place":"Barrington","homes":739}],"gutters":[{"nbhd":"10031","place":"Barrington","homes":990},{"nbhd":"10023","place":"Barrington","homes":745},{"nbhd":"10024","place":"Barrington","homes":548}],"siding":[{"nbhd":"10012","place":"Barrington","homes":1221},{"nbhd":"10040","place":"Barrington","homes":739},{"nbhd":"10011","place":"Barrington","homes":177}],"drainage":[{"nbhd":"10011","place":"Barrington","homes":177},{"nbhd":"10040","place":"Barrington","homes":739},{"nbhd":"10023","place":"Barrington","homes":745}],"solar":[{"nbhd":"10024","place":"Barrington","homes":548},{"nbhd":"10012","place":"Barrington","homes":1221},{"nbhd":"10040","place":"Barrington","homes":739}]}},"North Chicago":{"slug":"north-chicago","homes":5387,"median_year":1908,"pre80_pct":67.1,"asphalt_pct":32.0,"owner_pct":67.8,"masonry_pct":84.4,"sideable_pct":15.6,"basement_pct":77.4,"sfha":0,"fs5":85,"fs5_pct":1.6,"permits":326,"permit_pct":6.1,"aged_nopermit":4464,"aged_band":"4,000\u20134,500","waves":[{"year":2025,"count":205},{"year":2022,"count":170},{"year":2024,"count":162}],"preview":{"roofing":[{"nbhd":"74023","place":"North Chicago","homes":270},{"nbhd":"74011","place":"North Chicago","homes":263},{"nbhd":"74012","place":"North Chicago","homes":3870}],"gutters":[{"nbhd":"74022","place":"North Chicago","homes":289},{"nbhd":"74023","place":"North Chicago","homes":270},{"nbhd":"74030","place":"North Chicago","homes":165}],"siding":[{"nbhd":"74014","place":"North Chicago","homes":225},{"nbhd":"74012","place":"North Chicago","homes":3870},{"nbhd":"74011","place":"North Chicago","homes":263}],"drainage":[{"nbhd":"74030","place":"North Chicago","homes":165},{"nbhd":"74022","place":"North Chicago","homes":289},{"nbhd":"74012","place":"North Chicago","homes":3870}],"solar":[{"nbhd":"74011","place":"North Chicago","homes":263},{"nbhd":"74023","place":"North Chicago","homes":270},{"nbhd":"74013","place":"North Chicago","homes":231}]}},"Riverside":{"slug":"riverside","homes":5323,"median_year":1947,"pre80_pct":95.9,"asphalt_pct":94.4,"owner_pct":91.8,"masonry_pct":55.0,"sideable_pct":45.0,"basement_pct":94.9,"sfha":69,"fs5":245,"fs5_pct":4.6,"permits":978,"permit_pct":18.4,"aged_nopermit":4269,"aged_band":"4,000\u20134,500","waves":[{"year":2022,"count":259},{"year":2020,"count":209},{"year":2021,"count":206}],"preview":{"roofing":[{"nbhd":"34080","place":"Riverside","homes":268},{"nbhd":"34020","place":"Riverside","homes":2015},{"nbhd":"34070","place":"Riverside","homes":586}],"gutters":[{"nbhd":"34050","place":"Riverside","homes":594},{"nbhd":"34020","place":"Riverside","homes":2015},{"nbhd":"34080","place":"Riverside","homes":268}],"siding":[{"nbhd":"34070","place":"Riverside","homes":586},{"nbhd":"34050","place":"Riverside","homes":594},{"nbhd":"34080","place":"Riverside","homes":268}],"drainage":[{"nbhd":"34080","place":"Riverside","homes":268},{"nbhd":"34050","place":"Riverside","homes":594},{"nbhd":"34020","place":"Riverside","homes":2015}],"solar":[{"nbhd":"34050","place":"Riverside","homes":594},{"nbhd":"34080","place":"Riverside","homes":268},{"nbhd":"34020","place":"Riverside","homes":2015}]}},"Calumet":{"slug":"calumet","homes":4651,"median_year":1953,"pre80_pct":96.1,"asphalt_pct":96.3,"owner_pct":78.9,"masonry_pct":52.0,"sideable_pct":48.0,"basement_pct":83.2,"sfha":0,"fs5":409,"fs5_pct":8.8,"permits":0,"permit_pct":0.0,"aged_nopermit":4570,"aged_band":"4,500\u20135,000","waves":[],"preview":{"roofing":[{"nbhd":"14020","place":"Calumet","homes":1501},{"nbhd":"14010","place":"Calumet","homes":494},{"nbhd":"14040","place":"Calumet","homes":464}],"gutters":[{"nbhd":"14010","place":"Calumet","homes":494},{"nbhd":"14020","place":"Calumet","homes":1501},{"nbhd":"14030","place":"Calumet","homes":2192}],"siding":[{"nbhd":"14020","place":"Calumet","homes":1501},{"nbhd":"14040","place":"Calumet","homes":464},{"nbhd":"14010","place":"Calumet","homes":494}],"drainage":[{"nbhd":"14020","place":"Calumet","homes":1501},{"nbhd":"14010","place":"Calumet","homes":494},{"nbhd":"14030","place":"Calumet","homes":2192}],"solar":[{"nbhd":"14020","place":"Calumet","homes":1501},{"nbhd":"14010","place":"Calumet","homes":494},{"nbhd":"14040","place":"Calumet","homes":464}]}},"River Forest":{"slug":"river-forest","homes":2965,"median_year":1927,"pre80_pct":94.9,"asphalt_pct":78.0,"owner_pct":93.4,"masonry_pct":52.4,"sideable_pct":47.6,"basement_pct":97.1,"sfha":3,"fs5":263,"fs5_pct":8.9,"permits":312,"permit_pct":10.5,"aged_nopermit":2579,"aged_band":"2,500\u20133,000","waves":[{"year":2025,"count":126},{"year":2024,"count":120},{"year":2023,"count":58}],"preview":{"roofing":[{"nbhd":"33030","place":"River Forest","homes":636},{"nbhd":"33040","place":"River Forest","homes":681},{"nbhd":"33020","place":"River Forest","homes":528}],"gutters":[{"nbhd":"33050","place":"River Forest","homes":440},{"nbhd":"33020","place":"River Forest","homes":528},{"nbhd":"33015","place":"River Forest","homes":679}],"siding":[{"nbhd":"33030","place":"River Forest","homes":636},{"nbhd":"33040","place":"River Forest","homes":681},{"nbhd":"33020","place":"River Forest","homes":528}],"drainage":[{"nbhd":"33020","place":"River Forest","homes":528},{"nbhd":"33050","place":"River Forest","homes":440},{"nbhd":"33030","place":"River Forest","homes":636}],"solar":[{"nbhd":"33030","place":"River Forest","homes":636},{"nbhd":"33020","place":"River Forest","homes":528},{"nbhd":"33040","place":"River Forest","homes":681}]}}}}