Every event runs on three numbers, and on every event I've ever worked, those three numbers disagree.
There's what you contracted to cover, the posts and hours you promised the client. There's who signed up to work, the schedule your people are actually on. And there's who actually showed, the bodies that physically clocked in and stood on a post. In a sane world those three line up. In the real world they live in three different files, in three different shapes, maintained by three different people, and the gap between them is where the whole operation bleeds time and credibility.
This is the one that still bugs me. I came on shift, took the handoff, and got handed an export from the scheduling software, the thing that's supposed to tell me who's working where. I started checking people onto posts off that export, and within the first hour I realized it was missing positions. Not a typo, not a name spelled wrong. Whole posts that were in the contract, that we were absolutely on the hook to cover, simply weren't in the export I'd been handed.
I wasn't reconciling anything the night before. I was reconciling it live, on the clock, with the event already running and posts already supposed to be filled.
So I did what you do. I backfilled in real time. I pulled people who were technically off-shift back in. I went down the line asking who'd take overtime. I covered the holes the export didn't know about, one radio call at a time, while the event ran around me. We got it covered. But for the first stretch of that shift, the contract said one thing, the schedule said another, and the ground said a third, and I was the only system reconciling all three, standing in the middle with a radio.
The three numbers drift because nothing connects them. The contract is built in a spreadsheet, often by someone who never works the site. The schedule is built in a separate scheduling app, by someone optimizing for who's available, not for what was promised. And the actual attendance happens out on the grounds, captured on a sign-in sheet or in someone's memory, and reconciled, if at all, after the fact.
Each one is a snapshot, frozen the moment it was made. The contract doesn't know a post got added in the planning meeting. The schedule export doesn't know somebody called out an hour ago. And nobody's attendance sheet knows what the contract promised. They were never wired together, so they were always going to disagree, and the disagreement always lands on whoever's running the shift.
Here's what that drift actually costs. It costs you overtime you didn't budget, because you're backfilling holes by begging people to stay. It costs you coverage gaps, because some holes you find late and some you don't find at all. And it costs you the argument at the end, when the client looks at the invoice and asks whether you really covered what you said you would, and your honest answer is "I think so, mostly, let me dig through three files and get back to you."
That's a brutal place to negotiate from. You did the work, you covered the posts, you pulled people into overtime to make it right, and you still can't cleanly prove it, because the proof is scattered across the same three files that never agreed in the first place.
I wanted the three numbers to be one number, or at least to live in one place that knew about all three. The contract as a baseline. The schedule built on top of it, so the system knows the instant a scheduled post has no body assigned. And check-ins flowing into the same board, so "who actually showed" isn't a separate reconciliation, it's just the live state.
When those three are connected, the holes in that morning's export wouldn't have been a surprise I discovered an hour into the shift. They'd have been lit up red before I ever took the handoff, because the system would have known the contract had posts the schedule didn't fill. I'd have walked in knowing exactly where I was short, instead of finding out the hard way, one missing post at a time.
You shouldn't have to be the integration layer between three spreadsheets. You've got a site to run.
Contract, schedule, and check-ins on one board, so the holes light up before your shift starts, not an hour into it.