Who owns construction activity, market by market.
The Activity Index ranks the firms working each layer of a public-construction market — who owns the mechanical layer, the design layer, the GC layer. It spans 14 states and 9 industries, with 32 live indices published so far. Signal covers public construction nationwide; the index publishes a market once it clears the density bar, and more go live with each data refresh.
The coverage matrix
Every state × industry cell SymplSignal tracks. Shaded cells have a published Activity Index; the number is firms active in the live pipeline. Thin and empty cells show where coverage is still building — the gate that keeps a leaf from shipping thin.
| State | Site Work | New Construction | HVAC | Athletics | Parks & Rec | Energy | IT | Envelope | Roofing |
|---|---|---|---|---|---|---|---|---|---|
| California | 404 | 375 | 179 | · | · | 144 | 77 | · | · |
| New Jersey | 174 | 194 | 226 | 42 | 159 | · | · | 30 | 148 |
| Pennsylvania | · | 147 | 183 | 59 | 419 | · | · | 53 | 110 |
| Florida | · | 764 | · | · | · | · | · | · | 21 |
| New York | 257 | · | · | · | · | · | · | · | 106 |
| Delaware | 88 | 64 | 70 | 3 | 112 | · | · | 5 | 7 |
| Connecticut | · | · | 127 | · | · | · | · | 125 | · |
| Texas | · | · | · | 182 | · | · | · | · | · |
| North Carolina | 105 | 5 | · | 1 | · | · | · | · | · |
| Maryland | · | 84 | 8 | · | · | · | · | · | 1 |
| New Mexico | · | · | · | 57 | · | · | · | · | · |
| South Carolina | 13 | · | · | · | · | · | · | · | · |
| Virginia | · | 1 | 7 | · | · | · | · | 1 | · |
| West Virginia | · | 4 | 3 | · | · | · | · | 1 | · |
This is what the index has published so far — not the limit of Signal's coverage. Empty cells are markets that haven't cleared the publication bar yet. Signal covers public construction nationwide, and a customer's territory goes live the same business day.
The firms are public. The projects behind them aren't.
Each index is built from public involvement records. Owner, stage, timing, and the full firm roster on every project live inside SymplSignal.
Explore SymplSignal →