BizGapMap

Home / Fitness & recreational sports centers / Illinois / Cook County, IL

Cook County, IL — Gyms Saturation

How many gyms exist per person present — residents plus daytime workers — by ZIP code, compared with the U.S. average. Establishment data: Census ZBP 2023. Population: ACS 2024 5-year. 186 ZIP codes analyzed.

Includes: Gyms & fitness centers · CrossFit boxes · Boxing, martial arts & dance studios · Recreational sports centers. Counted together because official statistics use one 713940 code.

Measured density: Range spans bands — 0.84× the U.S. rate (between 0.84× and 1.09× once withheld ZIP cells are counted)

Why a range: Census does not publish a ZIP-by-industry count when that ZIP has 0–2 businesses. 103 ZIP cells in this county are withheld, 83 of them with residents. Each could hold 0, 1, or 2 businesses: counting them all as 0 gives the low end, counting them all as 2 gives the high end — the data cannot say where the truth sits. The density range uses only the populated cells, since ZIPs without residents are excluded from per-person rates. How ranges work

Range spans the U.S. rate   Cook County gyms — 84–109% of the U.S. rate

546 gyms are counted in Cook County — 0.9 per 10,000 people present (residents + daytime workers), 84% of the U.S. rate of 1.0.

On the comparable ZIP set (ZIPs with a published count in every year), the total has risen 15% between 2015 and 2023 (364 → 420). That set is smaller than today's county total. 2020–2021 were pandemic-distorted, and Census rounds counts, so small moves are within noise.

Measured supply density is highest in 60605 (Chicago), 60614 (Chicago), 60622 (Chicago) — well above the national rate. On measured density alone, the lowest-density residential ZIPs with a published count are 60639 (Chicago), 60634 (Chicago), 60632 (Chicago).

BLS QCEW puts the latest county-wide count (2026 Q1) at 613 establishments, the freshest available signal.

Measured density: Cook County sits at 84% of the U.S. rate for gyms. 83 ZIPs with population have no published count (each 0–2 businesses), so the true per-capita rate is between 84% and 109% of the U.S. rate. Why. The highest measured density is in 60605 and 60614; the lowest measured density is in 60639 and 60634.

This is a supply-side read: it counts existing gyms and the people present, not foot traffic, income, rent, or whether locals want more. Treat low density as a question to check, not an answer.

Gyms
546–752
published count; upper bound counts each withheld ZIP cell as 2 (103 cells) (2023)
Per 10,000 present
0.9
residents + daytime workers
U.S. average
1.0
per 10,000 present
County index
0.84×
vs. U.S.
Latest quarter (QCEW)
613
2026 Q1 — county total
Residents
5,132,257
166 ZIPs with data
Workers
2,445,383
jobs located in county

Is the area growing?

Population
5,182,617
Census PEP, July 1 2024
Change since 2020
−1.6%
−84,455 people
Net migration 2024
+30,570
international +67,763, domestic −37,193
Jobs located here
2,616,104
LODES 2022, −1.9% since 2019

Cook County had an estimated 5,182,617 residents on July 1, 2024 — 1.6% fewer than in 2020 (−84,455). In the latest year it gained 40,095 people: births minus deaths +9,459, international migration +67,763, domestic migration −37,193. Components are published separately and may not sum exactly.

2,616,104 jobs were located in the county in 2022 (−1.9% since 2019), and 2,331,664 employed residents lived there (−3.2% since 2019). LODES counts wage and salary jobs covered by unemployment insurance plus federal jobs; it excludes the self-employed and military, and counts jobs rather than unique people. 2019→2022 spans the pandemic, so read it as one change, not a trend.

Population and migration say whether the customer base is growing. They do not say whether people want another business of this type. Definitions and limits →  ·  Full county detail →

ZIP gaining residents
2015–19 → 2020–24
Change
60654 Chicago
+28.6%
60605 Chicago
+24.6%
60611 Chicago
+13.5%
ZIP losing residents
2015–19 → 2020–24
Change
60445 Midlothian
−44.7%
60426 Harvey
−16.7%
60827 Riverdale
−13.2%

ACS 5-year estimates for 2015–2019 and 2020–2024. Only ZIPs with at least 2,000 residents in both windows and a change larger than the survey margin of error (90%) are listed — small ZIPs move a lot on paper without a real signal.

Nonemployer businesses

Not shown. NES 2024 does not publish fitness and recreational sports centers (NAICS 71394); only the broader recreation group (7139) is available.

Census Nonemployer Statistics 2024 (NAICS 2022). We do not approximate this figure.

Saturation map

Each ZIP area is shaded by its density of this business type per person present (residents + workers) vs. the U.S. average. Click any ZIP to zoom to its boundary, see its numbers, and switch to aerial imagery. Individual mapped shops appear as dots at street level — Show locations zooms you in to them (scroll or double-click to zoom).

Basemap:
Under 50% 50–100% 100–150% 150–250% 250%+ 0–2 (not published) / no data ZIP total (dot size) Mapped shop (OpenStreetMap, street level)

Map data © OpenStreetMap contributors, tiles by OpenFreeMap.

White dots are ZIP totals from the official Census count — the bigger the dot, the more gyms in that ZIP. They are aggregated, not individual shops. Turquoise dots are individual locations mapped in OpenStreetMap, shown only at street level; they are crowd-sourced and indicative, may be incomplete, and do not equal the official counts. Only the official ZIP totals feed the saturation index.

Market trend — up 15% since 2015

Number of gyms in Cook County across 2015–2023, on a consistent set of ZIP codes present in every year — so changes are real, not ZIP-boundary artifacts. 2015/2018 are pre-pandemic baselines; 2020/2021 are COVID-distorted.

364
2015
440
2018
431
2020
444
2021
436
2022
420
2023

Highest measured density

ZIP
vs. U.S. average
Index
60605 Chicago
307%
60614 Chicago
277%
60622 Chicago
276%
60558 Western Springs
268%
60613 Chicago
260%
60067 Palatine
237%
60093 Winnetka
235%
60463 Palos Heights
231%
60610 Chicago
222%
60025 Glenview
217%
60026 Glenview
213%
60062 Northbrook
212%
60642 Chicago
210%
60467 Orland Park
204%
60657 Chicago
201%

Lowest measured density

ZIP
vs. U.S. average
Index
60639 Chicago
32%
60634 Chicago
37%
60632 Chicago
39%
60609 Chicago
41%
60637 Chicago
43%
60630 Chicago
49%
60608 Chicago
51%
60018 Des Plaines
56%
60643 Chicago
58%
60090 Wheeling
60%
60641 Chicago
65%
60411 Chicago Heights
65%
60007 Elk Grove Village
71%
60616 Chicago
73%
60133 Hanover Park
73%
Low measured density is not evidence of opportunity. A ZIP with few gyms may simply lack foot traffic, retail space, or demand. We rank only residential and mixed ZIPs here; employment hubs and visitor destinations are listed separately below. ZIPs where Census did not publish a count (0–2 businesses) are not ranked: they may be the least served of all, but the data cannot tell 0 from 1 or 2. Verify those locally.

Employment hubs & destinations

These ZIPs have far more workers (or visitors) than residents, so their counts are driven by daytime and visitor demand — not a place to read "shortage" from resident numbers alone.

ZIPNeighborhoodType ResidentsWorkersGymsIndex
60607Chicago Employment hub 32,39268,600 20 292%
60654Chicago Employment hub 25,75568,006 16 261%
60173Schaumburg Employment hub 13,65052,694 10 244%
60602Chicago Destination 1,48033,916 3 159%
60611Chicago Employment hub 37,70589,024 12 142%
60601Chicago Employment hub 15,23583,170 8 137%
60661Chicago Employment hub 11,39864,670 6 134%
60603Chicago Destination 1,29860,606 3 92%
60606Chicago Destination 3,840203,655 7 65%
60141Hines Destination 1953,318 0–2 —

Scroll the table sideways to see all columns.

All ZIP codes

Click a column header to sort. Index = gyms per 10,000 people present (residents + 0.5×workers) ÷ the U.S. average. 100% = exactly average.

ZIPNeighborhood ResidentsWorkersGyms Per 10kIndexStatus
60301Oak Park 3,4754,793 4 6.8 664% Very high density
60195Schaumburg 4,3975,331 3 4.2 414% Very high density
60605Chicago 36,21022,820 15 3.1 307% Very high density
60607Chicago 32,39268,600 20 3.0 292% Very high density
60614Chicago 70,69327,556 24 2.8 277% Very high density
60622Chicago 54,60925,035 19 2.8 276% Very high density
60558Western Springs 13,4462,222 4 2.7 268% Very high density
60654Chicago 25,75568,006 16 2.7 261% Very high density
60613Chicago 52,24415,412 16 2.7 260% Very high density
60173Schaumburg 13,65052,694 10 2.5 244% High density
60067Palatine 38,20413,951 11 2.4 237% High density
60093Winnetka 19,86710,004 6 2.4 235% High density
60463Palos Heights 13,7226,296 4 2.4 231% High density
60610Chicago 44,88324,563 13 2.3 222% High density
60025Glenview 41,68915,355 11 2.2 217% High density
60026Glenview 14,0698,480 4 2.2 213% High density
60062Northbrook 41,40646,099 14 2.2 212% High density
60642Chicago 21,78921,425 7 2.2 210% High density
60467Orland Park 24,3988,422 6 2.1 204% High density
60657Chicago 71,90420,985 17 2.1 201% High density
60005Arlington Heights 28,84320,389 8 2.0 200% High density
60640Chicago 65,44517,714 15 2.0 197% High density
60660Chicago 42,72411,098 9 1.9 182% High density
60415Chicago Ridge 14,0994,484 3 1.8 179% High density
60525La Grange 31,32441,056 9 1.7 169% High density
60068Park Ridge 38,65015,904 8 1.7 167% High density
60304Oak Park 16,9552,964 3 1.6 159% High density
60602Chicago 1,48033,916 3 1.6 159% High density
60546Riverside 16,3224,686 3 1.6 157% High density
60647Chicago 84,74918,625 15 1.6 155% High density
60618Chicago 91,90120,260 15 1.5 143% Above average
60611Chicago 37,70589,024 12 1.5 142% Above average
60513Brookfield 19,3433,146 3 1.4 140% Above average
60601Chicago 15,23583,170 8 1.4 137% Above average
60076Skokie 32,95319,696 6 1.4 137% Above average
60612Chicago 35,74444,360 8 1.4 135% Above average
60661Chicago 11,39864,670 6 1.4 134% Above average
60053Morton Grove 24,61910,528 4 1.3 130% Above average
60194Schaumburg 19,7565,345 3 1.3 130% Above average
60655Chicago 28,4343,995 4 1.3 128% Above average
60805Evergreen Park 19,4206,844 3 1.3 128% Above average
60004Arlington Heights 51,83520,130 8 1.3 126% Above average
60201Evanston 43,74425,259 7 1.2 121% Above average
60160Melrose Park 24,54917,614 4 1.2 117% Above average
60714Niles 30,30524,130 5 1.2 115% Above average
60477Tinley Park 35,97613,621 5 1.2 114% Above average
60430Homewood 19,83812,628 3 1.1 112% Above average
60653Chicago 33,3833,171 4 1.1 111% Above average
60193Schaumburg 40,1469,409 5 1.1 109% Above average
60202Evanston 32,3417,547 4 1.1 108% Above average
60615Chicago 42,9757,045 5 1.1 105% Above average
60706Harwood Heights 24,2607,647 3 1.1 104% Above average
60453Oak Lawn 56,86120,791 7 1.0 101% Above average
60077Skokie 28,50120,601 4 1.0 100% Above average
60487Tinley Park 26,0436,646 3 1.0 100% Below average
60803Alsip 22,10615,497 3 1.0 98% Below average
60091Wilmette 27,3335,627 3 1.0 97% Below average
60074Palatine 36,4608,793 4 1.0 95% Below average
60603Chicago 1,29860,606 3 0.9 92% Below average
60656Chicago 29,5385,140 3 0.9 91% Below average
60631Chicago 30,92423,781 4 0.9 91% Below average
60646Chicago 28,7808,214 3 0.9 89% Below average
60707Elmwood Park 41,1166,357 4 0.9 88% Below average
60625Chicago 76,76012,820 7 0.8 82% Below average
60302Oak Park 32,8627,083 3 0.8 80% Below average
60462Orland Park 41,45617,270 4 0.8 78% Below average
60056Mount Prospect 55,81817,452 5 0.8 75% Below average
60133Hanover Park 36,7326,371 3 0.8 73% Below average
60616Chicago 54,30824,459 5 0.8 73% Below average
60007Elk Grove Village 32,59244,419 4 0.7 71% Below average
60411Chicago Heights 52,17515,397 4 0.7 65% Below average
60641Chicago 68,89412,906 5 0.7 65% Below average
60606Chicago 3,840203,655 7 0.7 65% Below average
60090Wheeling 38,29820,419 3 0.6 60% Below average
60643Chicago 45,9429,019 3 0.6 58% Below average
60018Des Plaines 27,95247,694 3 0.6 56% Below average
60608Chicago 80,73729,377 5 0.5 51% Below average
60630Chicago 55,4869,520 3 0.5 49% Far below average
60637Chicago 52,72131,368 3 0.4 43% Far below average
60609Chicago 62,02818,440 3 0.4 41% Far below average
60632Chicago 89,10720,101 4 0.4 39% Far below average
60634Chicago 73,8859,038 3 0.4 37% Far below average
60639Chicago 84,24015,433 3 0.3 32% Far below average
60006Arlington Heights —36 0–2 — — Not published
60008Rolling Meadows 22,80021,481 0–2 — — Not published
60016Des Plaines 60,89817,329 0–2 — — Not published
60017Des Plaines —170 0–2 — — Not published
60022Glencoe 8,3522,391 0–2 — — Not published
60029Golf 51888 0–2 — — Not published
60043Kenilworth 2,503555 0–2 — — Not published
60065Northbrook —201 0–2 — — Not published
60070Prospect Heights 15,4961,603 0–2 — — Not published
60078Palatine —40 0–2 — — Not published
60082Techny —184 0–2 — — Not published
60104Bellwood 18,2563,868 0–2 — — Not published
60107Streamwood 38,8866,624 0–2 — — Not published
60130Forest Park 13,9437,440 0–2 — — Not published
60131Franklin Park 18,05417,688 0–2 — — Not published
60141Hines 1953,318 0–2 — — Not published
60153Maywood 23,20111,871 0–2 — — Not published
60154Westchester 16,4369,124 0–2 — — Not published
60155Broadview 7,9066,792 0–2 — — Not published
60159Schaumburg —14 0–2 — — Not published
60161Melrose Park —61 0–2 — — Not published
60162Hillside 8,0847,285 0–2 — — Not published
60163Berkeley 5,1991,517 0–2 — — Not published
60164Melrose Park 20,8728,892 0–2 — — Not published
60165Stone Park 4,4821,140 0–2 — — Not published
60168Schaumburg —27 0–2 — — Not published
60169Hoffman Estates 33,40110,355 0–2 — — Not published
60171River Grove 10,4512,096 0–2 — — Not published
60176Schiller Park 11,3936,458 0–2 — — Not published
60179Hoffman Estates —1,237 0–2 — — Not published
60192Hoffman Estates 16,4617,007 0–2 — — Not published
60196Schaumburg —3,103 0–2 — — Not published
60203Evanston 4,680390 0–2 — — Not published
60204Evanston —160 0–2 — — Not published
60208Evanston 25520,972 0–2 — — Not published
60303Oak Park —20 0–2 — — Not published
60305River Forest 11,9924,595 0–2 — — Not published
60402Berwyn 63,72112,054 0–2 — — Not published
60406Blue Island 23,3274,972 0–2 — — Not published
60409Calumet City 35,1007,660 0–2 — — Not published
60412Chicago Heights —43 0–2 — — Not published
60418Crestwood 10,5722,133 0–2 — — Not published
60419Dolton 20,8252,530 0–2 — — Not published
60422Flossmoor 9,5421,424 0–2 — — Not published
60425Glenwood 8,7141,909 0–2 — — Not published
60426Harvey 23,9067,383 0–2 — — Not published
60428Markham 10,9273,809 0–2 — — Not published
60429Hazel Crest 14,8644,802 0–2 — — Not published
60438Lansing 28,8067,275 0–2 — — Not published
60439Lemont 24,19212,721 0–2 — — Not published
60443Matteson 20,6637,534 0–2 — — Not published
60445Midlothian 14,2686,940 0–2 — — Not published
60452Oak Forest 26,7395,281 0–2 — — Not published
60454Oak Lawn —156 0–2 — — Not published
60455Bridgeview 16,87210,328 0–2 — — Not published
60456Hometown 4,215339 0–2 — — Not published
60457Hickory Hills 14,5033,211 0–2 — — Not published
60458Justice 14,2001,189 0–2 — — Not published
60459Burbank 28,7394,621 0–2 — — Not published
60461Olympia Fields 4,7613,726 0–2 — — Not published
60464Palos Park 9,7731,758 0–2 — — Not published
60465Palos Hills 18,0813,499 0–2 — — Not published
60466Park Forest 21,4612,093 0–2 — — Not published
60469Posen 5,205774 0–2 — — Not published
60471Richton Park 12,8481,435 0–2 — — Not published
60472Robbins 4,563217 0–2 — — Not published
60473South Holland 21,22510,974 0–2 — — Not published
60475Steger 10,035887 0–2 — — Not published
60476Thornton 1,940780 0–2 — — Not published
60478Country Club Hills 16,3902,171 0–2 — — Not published
60480Willow Springs 5,388773 0–2 — — Not published
60482Worth 10,8971,288 0–2 — — Not published
60499Bedford Park —77 0–2 — — Not published
60501Summit Argo 11,4324,212 0–2 — — Not published
60526La Grange Park 13,4591,746 0–2 — — Not published
60534Lyons 10,3272,008 0–2 — — Not published
60604Chicago 61641,171 0–2 — — Not published
60617Chicago 74,7909,915 0–2 — — Not published
60619Chicago 59,5036,093 0–2 — — Not published
60620Chicago 64,8717,319 0–2 — — Not published
60621Chicago 28,3013,833 0–2 — — Not published
60623Chicago 81,27712,534 0–2 — — Not published
60624Chicago 35,2636,140 0–2 — — Not published
60626Chicago 49,6627,775 0–2 — — Not published
60628Chicago 60,4317,654 0–2 — — Not published
60629Chicago 108,3248,370 0–2 — — Not published
60633Chicago 12,47410,315 0–2 — — Not published
60636Chicago 32,1983,505 0–2 — — Not published
60638Chicago 57,07437,741 0–2 — — Not published
60644Chicago 47,2105,433 0–2 — — Not published
60645Chicago 48,2084,307 0–2 — — Not published
60649Chicago 48,0564,778 0–2 — — Not published
60651Chicago 63,3356,154 0–2 — — Not published
60652Chicago 41,0745,715 0–2 — — Not published
60659Chicago 41,7289,683 0–2 — — Not published
60666Chicago —37,159 0–2 — — Not published
60673Chicago —7 0–2 — — Not published
60680Chicago —80 0–2 — — Not published
60690Chicago —25 0–2 — — Not published
60699Chicago —50 0–2 — — Not published
60712Lincolnwood 13,11210,293 0–2 — — Not published
60804Cicero 82,79714,661 0–2 — — Not published
60827Riverdale 24,7132,241 0–2 — — Not published

Scroll the table sideways to see all columns.

Find an actual space in Chicago

The numbers above tell you how the market looks. To find a specific storefront, these marketplaces list available retail space for lease.

LoopNet
Largest commercial marketplace
Browse Chicago retail space →
Crexi
Free listings + market data
Browse Chicago retail space →
CityFeet
Retail space for lease
Browse Chicago retail space →

Open vacancy data (actual empty units) is only published by some cities; where it exists we show it directly. Listings above are third-party.

Census withholds some ZIP-by-industry cells to protect small businesses. 0–2 means the cell was not published (Census publishes industry counts only at 3+ per ZIP), so the ZIP is left unranked rather than counted as zero. ~ means the count is estimated from the broader industry group and can be off by a business or two.

Follow Cook County and gyms

When a data vintage changes or a section of this report is revised, we post it to a public update feed. No email address, no account, no tracking — and nothing is sent unless something actually changed.

Subscribe to updates (RSS) How these numbers are built →

Methodology & sources

Establishments. U.S. Census ZIP Code Business Patterns (ZBP 2023), NAICS 713940 — fitness & recreational sports centers (gyms). Counts establishments with paid employees. ZBP is published annually with a ~2-year lag.

Fresh county signal. BLS QCEW (quarterly) is newer than ZBP — 2026 Q1 shows 613 establishments county-wide for this industry. It cannot be broken down by ZIP.

Population. U.S. Census American Community Survey 2024 5-year ZCTA population (table B01003). Workers are the ZIP's total employment from the same 2023 ZBP file.

Demand ("people present"). Demand comes from residents and daytime workers: residents + 0.5 × workers. This is the single documented assumption in the model and can be tuned.

Index. index = (ZIP establishments ÷ ZIP demand × 10,000) ÷ the U.S. average for this industry (1.03 per 10,000 present). It is a supply-side density measure; it does not capture income, rent, tourism, or whether locals actually want more.

Read the full methodology →  ·  Data sources & vintages →

BizGapMap — free, no-login small-business saturation reports for major U.S. counties. Built entirely from public U.S. Census, BLS, and IRS data (ZBP 2023, ACS 2024 5-year, PEP 2024, LODES, QCEW, IRS SOI). No forecasts, no revenue guesses — withheld cells are marked, and the few derived counts are labelled as estimates.