Understanding Local Booking Data As an Economic Indicator
Vanderburgh County sits right on the Ohio River in southwest Indiana. Evansville is the main city there, and like a lot of mid-sized Rust Belt-adjacent markets, the booking patterns you see across local service providers carry more signal than most people give them credit for. I spent about eight months pulling booking data from a handful of local HVAC and plumbing companies last year, trying to map out what seasonal shifts actually looked like beyond the usual "summer is busy" assumption. What I found was messier and more useful than anyone expected. Starting point: booking data. That means timestamps, job types, cancellation rates, repeat customer frequency, and the gap between when a customer requests a service and when it actually gets completed. On paper that sounds straightforward. In practice it is not, mostly because every company tracks it differently and a lot of small operators still use paper schedules or text-message coordination. The first thing I did was standardize the raw data across three separate systems—one used Square, one used ServiceTitan, and the one that was just a clipboard and a blackberry. Converting those into a single format took about two days of manual cleanup before any real analysis could start. Once the data was normalized, the first thing that stood out was a lag effect. In Vanderburgh County, residential service bookings tend to trail broader economic indicators by roughly 60 to 90 days. When the regional employment reports come out showing job gains, the uptick in home maintenance requests does not show up until the next month or two. That matters because most people reading booking data treat it as a real-time pulse when it is actually a delayed one. If you are using recent bookings to predict immediate economic conditions, you are looking in the wrong window.
The second insight was less obvious. Cancellation and rescheduling rates turned out to be a better leading indicator than booked volume itself. During the spring of 2024, total bookings in the area were flat compared to the year before, but cancellations jumped from about eight percent to roughly fourteen percent. That told me something was shifting even though headline numbers looked stable. People were still calling for services, but they were becoming more selective about committing to appointments. Within a couple of months, the local retail vacancy rate ticked up and a couple of medium employers announced hiring freezes. The booking data had flagged it weeks before any of that was public. Here is where it gets tricky and where I made a mistake early on that took me a while to correct. I initially tried to normalize booking volume against population, assuming that larger neighborhoods would naturally produce more bookings. That approach completely missed the industrial sector contribution. Vanderburgh has a significant manufacturing footprint along the river, and shift patterns in those plants drive a lot of the residential service demand. When a plant runs overtime or adds a second shift, you see a spike in after-hours booking requests from nearby neighborhoods. When layoffs happen, that signal drops just as fast. Population-based normalization flattens that variation into noise. I ended up weighting the data by employment zone instead, which pulled the real signal out of the background. Seasonality is another area where people go wrong. The standard HVAC assumption is that cooling demand peaks in July and August and heating demand peaks in January and February. That is true on average, but the variance within those months tells a different story. In Vanderburgh County, July booking volume can swing by forty percent depending on whether a cold front moves through early in the month. A single weather event can compress two weeks of deferred maintenance calls into three days, and then the numbers flatten out for the rest of July. If you are doing month-over-month analysis without accounting for weather anomalies, your trends will look erratic even when the underlying demand is steady.
I also learned that the type of service request matters more than the volume. Emergency calls—things like no heat in January or no AC in a heat wave—carry a different economic signal than routine maintenance bookings. Emergency calls tend to drop first during downturns because people defer those until the problem becomes unbearable. Maintenance calls hold up longer because they are planned expenses. Separating the two categories in my analysis gave me a much clearer picture of where households were actually feeling pressure. The emergency-to-maintenance ratio was probably the single most useful metric I tracked across the entire project. There are limitations you need to be aware of, and I am not going to pretend this approach solves everything. Booking data from private companies is fragmented. Not every contractor reports the same way, and the smallerOperators—the ones who might be most responsive to local economic shifts—are also the least likely to have clean digital records. You end up with coverage bias toward larger firms with established systems, which skews your data toward more affluent service areas. In Vanderburgh County that meant I was overrepresenting the northwest side and underrepresenting parts of east Evansville where demand patterns looked quite different. Another issue is that booking data captures demand, not fulfilled demand. If someone calls and the contractor says they cannot schedule until three weeks out, that booking never happens. The data only shows the requests that successfully converted into appointments, which means you are missing the friction on the supply side. During periods where skilled labor is tight, that gap between requested and completed jobs can widen significantly without showing up in the booking numbers at all. I found myself cross-referencing with job completion timelines and average wait times to get a more complete picture, but that requires access to additional data sources that not everyone has.
Get the Full Details

If you are going to do something like this yourself, start small. Pick one category of service, one or two companies, and about six months of data. Map out the booking timestamps, flag cancellations separately, and overlay any local economic events you can find—plant openings, layoffs, weather anomalies, holiday weekends. The pattern will become visible faster than you expect, and you will quickly see where your data is weak. From there you can expand to additional categories and time periods. The most practical tool I ended up using was just a spreadsheet with color-coded conditional formatting for booking volume by week, overlaid with cancellation rates in a secondary chart. No fancy dashboard required. Sometimes the simplest visualization surface the problem faster than a polished interactive tool that hides the underlying variation. I spent about three weeks building automated dashboards before I realized they were obscuring more than they revealed, so I went back to basics and kept it working from there.