The Film Session Problem That Starts on the Sideline

Film study on Monday is only as good as what got recorded on Saturday. Most youth and high school programs rely on a single camera angle and a handwritten paper chart that's illegible by the third quarter — ink smeared, columns crossed, someone's coffee spilled on Q3. By Tuesday film session, nobody can reconstruct what formation you were in on 3rd-and-8 in the red zone when the drive stalled.

The charting has to happen in real time, sideline, and it has to be structured enough that a coach can filter it Monday morning without deciphering hieroglyphics.

Possession Sequence Is the Unit of Analysis

The two fields that separate this from a simple play counter are Possession # and Possession Play #. Play # is cumulative across the game. Possession # resets to 1 when the ball changes hands and increments with each new possession. Possession Play # counts within that possession: first play of the drive, second, third.

This structure means you can query: "every first play of a possession in Q3 and Q4" — which is how you identify your go-to opening play when the game is on the line. Or: "every play 4+ in a possession" — which tells you how your drives are dying, whether it's 3-and-out consistently or whether you're getting to 5th play before punting.

Without the possession sequence layer, you just have a list of 60 plays with no drive context.

Down/Distance and Formation: The Pre-Snap Picture

Down/Distance is free text deliberately. "3rd-and-8," "4th-and-goal from the 2," "2nd-and-22 after the holding call" — these are human-readable descriptors, not two separate integer fields that require mental math to reconstruct. The coach reviewing film knows what "3rd-and-8 at the 35 with 2:14 left in the half" means immediately. Two integers — Down=3, Distance=8 — require reconstruction.

Formation is also free text: Shotgun, I-Formation, Pistol, Empty, 21 personnel, Wildcat, whatever your terminology is. No dropdown forces you into someone else's vocabulary. The critical thing is that the same formation name is entered consistently — Shotgun vs. SG vs. Gun all refer to the same set, but they won't filter together. The coaching staff agrees on terminology before the season and uses it exactly.

The Gain/Loss Integer and the Play Tag

Gain/Loss is a signed integer. Gain of 7 is 7. Loss of 3 is -3. The sign convention makes aggregate queries work: average Gain/Loss by formation, average Gain/Loss on 3rd down, total yardage by quarter, longest gain in the second half.

Result captures the narrative: "TD," "1st down," "incomplete," "fumble lost," "penalty declined," "punt." It's the tag that filters differently than yardage. A 4-yard gain on 3rd-and-4 is a 1st down. A 7-yard gain on 3rd-and-8 is an incomplete drive. The integer says what happened physically. Result says what it meant for the drive.

Time records the game clock at snap — "4:32" — which places every play in its late-game pressure context. When you sort by time remaining in Q4 with the game inside a score, you're looking at your two-minute offense from actual game data, not practice scripts.