Designing 'Goals as Data': How an IDP Tracker Should Turn Coach Intent into Measurable Development Outcomes
By RAVEN · DSA Labs
Free-form development goals create a dead end for analytics. Treating IDP goals as structured, verifiable events — tied to defined characteristics, outcomes, and evidence — gives coach intent somewhere to go beyond a document.
Player development has a data problem that more data will not fix. Programs collect performance metrics, film libraries, and subjective coach notes — yet the individual development plan (IDP) still lives in a Google Doc, a whiteboard, or a coach's memory. The result is a gap between what a coach intended and what the analytics layer ever learns about. Closing that gap is not a feature request. It is a structural design decision.
The IDP is not a document. It is a structured event log.
Most IDP implementations treat goals as prose — a coach writes something like "improve footwork in the post" and the system stores it as a string. Stored only as free-form text, that goal is difficult to connect reliably to the rest of the performance model. It resists matching against film grades, it does not propagate cleanly into a player's developmental trajectory, and it cannot tell you whether the program is developing players or just documenting intentions.
The approach we are designing models each IDP goal as a discrete, verifiable event built around three core fields: a characteristic anchor drawn from the shared ontology, an outcome state, and evidence of closure through film. Additional context can still matter, but those fields give the goal enough structure to connect to the broader performance system.
This is the design principle that drives our thinking on StatLink: data that cannot be linked to a structured outcome cannot meaningfully update a player's developmental model. An IDP that produces only freeform notes is not data. It is a gesture toward data.
Fixed slots, carry-forward priors, and the governance question
If goals are events, the interface follows logically. Each characteristic in the ontology gets a fixed goal slot — the number a coach can assign per characteristic should be bounded so the system stays navigable, with the option to add more when genuine development depth requires it. This is not an artificial constraint. It is the same reason a well-designed grading rubric has a fixed number of dimensions: unbounded input produces unusable output.
At the start of a new season, unresolved goals should not simply disappear into an archive. They should carry forward as prior developmental context. An unmet goal is information: it tells the system that a player has been working on a characteristic without demonstrable closure. In modeling terms, that becomes a prior — a meaningful signal for how heavily to weight that characteristic in StatLink's developmental trajectory calculations. Archiving last year's IDP and starting fresh erases that signal.
Governance matters here. Two failure modes are common in practice. The first is deletion: a coach removes a goal because it feels stale, and the system loses the record that the goal ever existed. The second is goal inflation: goals accumulate without closure because there is no cost to leaving them open. The right design is reopen, not delete — a goal that was marked unsuccessful can be reopened with new context, but the history of its closure state is preserved. Deletion should require an explicit override with a reason code, not a single tap.
The moment you allow a goal to be deleted without a trace, you have traded accountability for convenience. The analytics layer pays the price.
Clip proof is the accountability mechanism
The binary outcome model only has integrity if success requires evidence. If a development goal can be closed as successful without evidence, the system is recording a conclusion without preserving what justified it. The clip becomes the proof of record. The system should require at least one clip tagged to the relevant characteristic before a success outcome is accepted.
This is not punitive toward coaches. It is what makes the outcome trustworthy enough to carry weight in the model. When StatLink receives a signal that a player demonstrated a specific characteristic in a verified clip, that signal can update the player's developmental trajectory in a way that a note never could. The clip is not documentation after the fact — it is the proof of record that makes the outcome computationally meaningful.
Player self-submission is a natural extension of this. Surfacing open goals directly in the player experience should also reduce the friction of self-submission. Rather than asking players to manage development evidence through a separate process, clip submission becomes part of the goal itself — the path of least resistance toward closure.
What this looks like in the grading workflow
Film grading is where IDP goals and performance data converge. The current friction point in many grading sessions is player identification — finding the right player tile quickly enough that the grading session stays fluid. That friction compounds when a grader is simultaneously trying to tag clips to development goals rather than just marking grades.
The cleaner design separates the two passes. The first pass is grade capture: fast, player-identified, characteristic-by-characteristic. The second pass is IDP linkage: a grader or coach reviews flagged clips and assigns them to open goals. Attempting both simultaneously increases cognitive load without improving data quality.
Do not make the coach grade the play and manage the development plan at the same time.
For programs importing data via CSV, the same logic applies. A CSV row that contains a player ID, a characteristic code from the ontology, and a clip reference can be processed as a candidate IDP closure event. The system can surface it to the coach for confirmation rather than requiring manual entry. This keeps the ontology as the single connective tissue between the film layer, the grading layer, and the development layer.
The model learns only what the structure teaches it
The through-line here is not about IDP as a feature. It is about whether the development work a coaching staff does every day becomes legible to the analytics layer or stays locked in prose.
StatLink can weight a proven development outcome differently than an unverified one — but only if the system distinguishes between them. RAVEN can surface patterns in which characteristics players consistently fail to close — but only if closure states are recorded as structured events, not as notes. StatLink can connect a film clip to a developmental trajectory — but only if the clip is tagged to an ontology-anchored goal, not a freeform string.
Our design is specific: bounded characteristic-based goals, carry-forward of unresolved development needs, evidence-backed closure, explicit outcome states, and history that is preserved rather than erased. That structure is not administrative overhead. It is what allows coach intent to become part of a measurable development record.
This concept is becoming a product.
The IDP Tracker is currently under active development for the StatLink Player Profile. The system is being designed to connect coach-defined development goals with characteristics, film evidence, outcomes, and a player's broader performance history.
Coming soon to StatLink.