Skip to content

Performance

Performance centralizes the squad’s technical-tactical internal load: catalog of competitions and opponents, match logging, AI PDF importer (Wyscout / SIX), and per-player axis radar. Used by the HoP, Sporting Director, and RTP to evaluate offensive, technical, duels, and defensive profiles from the reports the club already receives, without overloading anyone.

  • Problem it solves: clubs receive Wyscout or SIX PDFs after every match, but no one has time to transcribe stats into a spreadsheet. CÉNIT takes the PDF, parses it with AI, and leaves a per-player radar profile that is comparable across matches.
  • Typical use cases:
    • Post-match: load the Wyscout PDF and capture per-player stats without typing.
    • Pre-opponent analysis: see the opponent players’ profile in the Scouting module (same parser).
    • Monthly evaluation: compare a player’s radar profile across months to detect technical evolution or decline.
  • Plans that include it: all plans. The AI parser is available on all of them.
  • Differentiator: AI parser specific to Wyscout and SIX (report formats used in LATAM), with prompts that distinguish Spanish/English columns, legends, and leaderboards. No per-customer configuration required.

Roles with access to the module: Head of Performance, Sporting Director, S&C, Sport Scientist, Return-to-play, Academy Coordinator, and Coach. Academy Coordinator and Coach are read-only — they cannot create competitions, opponents, or matches.

Module tabs:

  1. Matches — list of loaded matches with score, opponent, competition, and links to the detail view.
  2. Player — individual radar profile averaging axes across all imported matches.
  3. Import — Wyscout / SIX PDF upload. The file is converted to text in the browser and sent to the parser.
  4. Management — create/disable competitions and opponents.

Main flow — import a match:

  1. Drag the PDF onto the importer.
  2. The client extracts the text (the binary is not sent to the server).
  3. The system sends the text to Claude with a Wyscout/SIX-specific prompt, restricted to the squad’s own player names.
  4. The response is validated and returns the players with their stats (minutes > 0, rounded numbers).
  5. Staff review the grid and confirm — the stats are persisted with normalized axes.

Secondary flow — manual match: in Management you can create a match without a PDF (metadata only: date, opponent, score).

  • Competition catalog: name, type (league / cup / international / friendly), season, country. Can be deactivated.
  • Opponent catalog: name + country, shared with Scouting.
  • “The PDF doesn’t extract text” — the system does not read scans. If the PDF is an image, the parser warns that the text is insufficient.
  • “The parser invented a player” — the system uses the squad’s own names to force a fuzzy match. If a strange name still appears, it is discarded manually in the preview grid.
  • “It doesn’t separate defensive/offensive” — when the report doesn’t break down the split, the system estimates roughly 60% defensive / 40% offensive of the total.

Player surface: N/A. The player does not see technical-tactical stats in their portal. The axis radar is staff-only.

  • Axes — the parser delivers about 30 raw stats (goals, xG, accurate passes, duels won, interceptions, etc.). The system normalizes them to 4–6 comparable axes (Offensive / Technical / Duels / Defensive / Aerial / Physical). The radar averages the axes across matches.
  • Fallback estimates: when the PDF doesn’t separate defensive/offensive/aerial duels, fixed ratios are applied (60/40/20).
  • Wyscout PDF — Spanish columns. The system explicitly maps goals / xG, assists / xA, shots / on target, passes / accurate, dribbles / completed, duels / won, etc.
  • SIX PDF — different format (leaderboards + tables). Maps minutes, goals, assists, xG/xGoT, key passes, recoveries, interceptions.
  • AI model: Claude Haiku with text truncated to 60K characters to keep costs bounded.
  • Validation: the system discards any player without minutes played and normalizes missing values.
  • Scouting consumes the same parser, with no own-squad filter.
  • Squad provides the names for fuzzy matching in the prompt and for player linking.
  • Calendar provides the calendar matches to cross-reference dates (planned, not required).
  • OCR not implemented: scanned PDFs without text are not processed.
  • Multi-match comparison: today only the average of axes is shown. There is no tab to compare a player against the squad or to compare the player between two specific matches.
  • Other report providers (StatsBomb, Opta, InStat): the prompt is optimized for Wyscout/SIX. Other formats may work partially but are not validated.