Where Tulsa County's Trades Cluster | Casey In Tulsa
Aerial view of a Tulsa-area neighborhood at sunset, showing distinct zones of the city

Companion Research · Census CBP × ZIP Geography

Business Density Isn't Where People Live.

The Trade Data project counts businesses by trade, countywide. This page breaks that same count down by ZIP code, and the ZIP with the most people is almost never the ZIP with the most businesses per person.

The Idea

A countywide total hides where the businesses actually are.

The Trade Data project answered "how many roofing companies are in Tulsa County?" A single county-wide number is useful, but it flattens 33 real ZIP codes into one figure. It can't tell you whether those businesses are spread evenly across the county or piled up in a handful of specific places.

This page pulls the same 15 trades from the Census Bureau's County Business Patterns program, broken out by ZIP code, and cross-references each ZIP's count against its actual population. That last part matters more than it sounds: a ZIP with more people will almost always have more of everything, so a raw count mostly just measures population size. Dividing by population is what actually reveals a cluster.

At A Glance

33
ZIP codes analyzed: every ZCTA with at least half its land area inside Tulsa County.
18.1
Highest per-10,000-resident rate found anywhere: a single small ZIP, for two different trades.
63,498
Population of the county's single largest ZIP, which is rarely the actual top cluster once you divide by people.

The Data

Where each trade's real per-capita cluster sits.

Top ZIP (Per Capita) is the ZIP code with the highest establishment count relative to its own population, not the highest raw count. Per 10k Residents is establishments in that ZIP × 10,000, divided by that ZIP's population: the number that actually reveals a cluster instead of just a population center. ZIPs w/ Data shows how many of the 33 ZIPs had a usable published figure at all for that trade; the rest were too small to publish, not necessarily zero.

Trade Top ZIP (Per Capita) Establishments There Per 10k Residents ZIPs w/ Data
Plumbing and HVAC contractors74116 (Tulsa)618.1025 / 33
Landscaping services74116 (Tulsa)618.1020 / 33
Offices of dentists74135 (Tulsa)3215.9521 / 33
Site preparation contractors74116 (Tulsa)515.083 / 33
Offices of chiropractors74135 (Tulsa)2713.4612 / 33
General automotive repair74116 (Tulsa)412.0716 / 33
Electrical contractors74120 (Tulsa)611.3921 / 33
Plumbing and HVAC contractors (2nd)74145 (Tulsa)1910.09N/A
Janitorial services74145 (Tulsa)115.8415 / 33
Pest control services74146 (Tulsa)95.626 / 33
Masonry contractors74120 (Tulsa)35.696 / 33
Roofing contractors74120 (Tulsa)35.6912 / 33
Veterinary services74132 (Tulsa)65.5513 / 33
Painting contractors74145 (Tulsa)63.1911 / 33
Finish carpentry contractors74145 (Tulsa)42.128 / 33
Car washes74008 (Bixby)61.925 / 33

Establishments: U.S. Census Bureau, County Business Patterns (CBP), 2023. Population: American Community Survey 5-Year Estimates, 2022, table B01003. Geography: 33 ZIP Code Tabulation Areas with 50%+ of land area inside Tulsa County. Full per-ZIP data for all 15 trades is downloadable below.

Download the full dataset (JSON), every disclosed ZIP for all 15 trades, not just the top cluster shown above.

The Findings

What clustering by ZIP actually shows.

A handful of small-population ZIPs punch far above their weight for trade businesses, and they're probably not residential. ZIP 74116 has only 3,315 residents, yet it's the single highest per-capita cluster for four different trades: plumbing/HVAC, landscaping, site preparation, and general auto repair, each in the 12-18 per-10,000-residents range. ZIP 74120 (5,270 residents, downtown Tulsa) does the same for masonry, roofing, and electrical. That combination, very few residents, disproportionately many trade businesses, reads like a commercial or industrial-zoned pocket where companies keep an office, yard, or shop, not a neighborhood where a lot of people actually live. This is an inference from the population-versus-business pattern, not a confirmed zoning fact.

Dentists and chiropractors cluster in the same ZIP, and it's not a coincidence. ZIP 74135 is the top per-capita cluster for both trades: 15.95 per 10,000 residents for dentists, 13.46 for chiropractors, well ahead of every other ZIP for either trade. Both are professional healthcare-office trades that tend to locate in medical office buildings and similar commercial real estate, so the same ZIP showing up as the top cluster for both is a real, coherent pattern, not noise.

Raw counts mostly just measure population, which is exactly why per-capita is the right lens. ZIP 74012 (Broken Arrow) has the largest population of any ZIP in this analysis, 63,498 (about 31% more than the next-largest) and it also posts the single highest raw establishment count for eight of the fifteen trades tracked. But once divided by population, it's the top per-capita cluster for none of them. That's not a contradiction; it's the whole point of normalizing by population instead of stopping at "which ZIP has the most."

The trades that showed almost no direct search interest in the companion Search Demand piece also show almost no ZIP-level clustering here. Masonry, site preparation, and car washes each had a usable published figure for only 3-6 of the 33 ZIPs analyzed (the lowest disclosure rates in the dataset) and none of their top clusters break above roughly 5-6 establishments per ZIP. That's consistent with the earlier finding that these trades either don't cluster in consumer-visible commercial corridors (masonry, site prep) or are still genuinely scarce everywhere (car washes), two independent data sources landing on the same read.

The Method

ZIP codes, thresholds, and a real gap in what the Census API tells you.

Geography: only ZIPs meaningfully inside Tulsa County. 41 ZIP Code Tabulation Areas (ZCTAs) intersect Tulsa County's boundary at all. Several of those are centered in a neighboring county with only a small sliver crossing the line. Sand Springs' primary ZIP, for example, has only 49.1% of its land area inside Tulsa County, and several others sit in the 10-30% range. This analysis kept only the 33 ZCTAs where at least half the land area falls inside Tulsa County, using the Census Bureau's own 2020 ZCTA-to-county relationship file to measure the overlap, not a guess at which suburb "counts."

Establishment counts come from the Census Bureau's County Business Patterns (CBP) API, 2023: the same 15 NAICS trade categories used throughout the Trade Data project, just queried at the ZIP level instead of the county level. Population comes from the American Community Survey 5-Year Estimates, 2022 (table B01003), matched by ZCTA. Both are pulled live from api.census.gov, not a static download, so the same query can be re-run to check it.

A real limitation, stated plainly: the API doesn't distinguish "zero" from "suppressed." Unlike BLS QCEW, which explicitly flags a cell as "not disclosed" when it withholds a number, the Census CBP API simply returns nothing at all for a ZIP/trade combination that's too small to publish. There's no flag, no explicit zero, just an empty response. That means a missing ZIP in the table above or the full dataset means "no usable published figure," never a confirmed zero. I checked this directly: querying masonry contractors for downtown Tulsa's ZIP came back completely empty, with no error and no zero value returned.

Per-capita, not raw count, because population varies enormously across these 33 ZIPs. The smallest ZIP analyzed has 25 residents; the largest has over 63,000. A raw establishment count without dividing by population mostly just measures how big a ZIP happens to be: the per-10,000-residents figure used throughout this page is establishments ÷ population × 10,000, nothing else folded in.

This product uses the Census Bureau Data API but is not endorsed or certified by the Census Bureau.

Full detail on the trade categories, wage data, and BLS sourcing this page depends on lives in the Trade Data project's own methodology; the search-demand side of the comparison is covered in the companion Search Demand piece.

FAQ

Common questions on this one.

Does a missing ZIP mean zero businesses of that type?
No. The Census Bureau's public API silently omits a ZIP/trade cell when the count is too small to publish for privacy reasons, it doesn't return an explicit zero or a flag explaining why. A missing cell means "no usable published figure," not "confirmed zero."
Why measure per-capita instead of just counting businesses?
Raw counts mostly track population size: the ZIP with the most people will usually have the most of everything. Dividing by population reveals where a trade is genuinely concentrated relative to how many people actually live there, which is a very different question.
Why only 33 ZIP codes instead of every ZIP touching Tulsa County?
41 ZIP Code Tabulation Areas intersect Tulsa County at all, but several are mostly in a neighboring county with only a small sliver crossing the line. This analysis only includes the 33 ZCTAs where at least half of the land area actually sits inside Tulsa County, so a ZIP centered in Osage or Creek County isn't counted as a Tulsa County business cluster.

Related

Where to go from here.

Want This Kind Of Read On Your Own ZIP Code?

All three of these datasets are public. Turning them into a straight answer for your specific business and location is the part I actually do for a living.