CAT PAW

All workflows

Sports Analytics

Predict the Brasileirão Final Table with xG

A reproducible, source-cited forecast of the Série A table, title race, qualification places, and relegation risk using xG, Poisson scoring, and 10,000 season simulations.

The process

Work it in this order.

  1. Fix the Série A season, cutoff date, timezone, and last completed match included. Capture the current table from the CBF as the authority for points, matches, wins, goals, and deductions; cross-check it against UOL, Goal, Aqui Esportes, or Estadão and resolve every mismatch.
  2. Collect one consistent xG source for every completed league match. Prefer StatZ and record its timestamp and coverage; if unavailable, use authorized Sportmonks fixture xG or FOX Sports as a public fallback. Never merge providers. Aggregate each club's home and away xG and xGA per match and list missing fixtures.
  3. Build the remaining fixture list from ESPN's Brasileirão calendar by team, then reconcile every match, home-away assignment, postponement, and venue change against the CBF competition page and current detailed-table PDF. Normalize club names and prove completed plus remaining fixtures match the official schedule.
  4. Estimate expected goals for each remaining match with venue-specific rates. Divide each club's home or away xG and xGA per match by the corresponding league average to obtain attack strength and defensive weakness. Shrink each rate toward the league mean with five league-average pseudo-matches, then compute the two Poisson means from league scoring rates, those strengths, and observed home advantage. Publish every formula and parameter.
  5. Run 10,000 simulations of all remaining fixtures with a declared deterministic seed. Draw both scores from their Poisson means, add results to the verified table, and rank clubs with the official CBF tie-break order. Use an explicit scenario for continental places that depend on cup outcomes.
  6. Report mean and median final points, mean and most likely position, a 5th-to-95th percentile position range, and probabilities for the title, each declared continental band, and relegation. Check mutually exclusive probabilities against rounding tolerance and show sensitivity to xG source and shrinkage.
  7. Compare actual goals and points with xG, xGA, xGD, and model-implied points. Describe overperformance and underperformance rather than asserting luck, and discuss sample size, schedule strength, injuries, promoted clubs, and missing data.

Bring this

Inputs the cat will ask for.

  • Série A season and cutoff date, or permission to use the current season and latest completed round
  • Available StatZ or Sportmonks xG access, or permission to use the documented public fallback
  • Desired qualification scenarios and output language
  • Optional random seed or permission to use a declared deterministic default

Guardrails

The boundaries travel with the prompt.

  • Present results as estimates with an as-of timestamp, source coverage, assumptions, and uncertainty; never as certain outcomes.
  • Do not present the forecast as betting advice, recommend wagers, or optimize for odds.
  • Do not mix xG providers or silently substitute goals, shots, or another competition for missing xG.
  • Do not bypass paywalls, authentication, robots restrictions, or API terms, and never request API tokens in chat.
  • Use the official CBF regulation for tie-breaks and qualification rules; state any cup-dependent slot scenario.
  • Use lucky and unlucky only as accessible labels for measured overperformance and underperformance, not as causal findings.
  • Keep postponed, abandoned, awarded, and venue-switched matches explicit instead of guessing their status.

Done means

A checkable finish.

All clubs and remaining fixtures reconcile to one dated official snapshot; one documented xG provider covers the modeled sample or its gaps are explicit; formulas, shrinkage, home advantage, seed, and tie-breaks are reproducible; 10,000 simulations yield a complete forecast with validated probability totals, sensitivity notes, and a qualified overperformance analysis.

Sources

Where this process came from.

  1. www.cbf.com.br/futebol-brasileiro/tabelas/campeonato-brasileiro/serie-a
  2. statz.ai/competitions/campeonato-brasileiro/standings
  3. docs.sportmonks.com/v3/tutorials-and-guides/tutorials/expected/includes
  4. www.espn.com.br/futebol/calendario/_/liga/bra.1/brasileiro
  5. www.foxsports.com/soccer/brazil-serie-a/team-stats
  6. www.uol.com.br/esporte/futebol/campeonatos/brasileirao/
  7. aquiesportes.com.br/futebol/tabela-do-brasileirao/
  8. www.goal.com/br/serie-a/tabela-de-classifica%C3%A7%C3%A3o/scf9p4y91yjvqvg5jndxzhxj
  9. doi.org/10.1111/j.1467-9574.1982.tb00782.x

Sources establish the workflow pattern. Reddit and community posts, where present, are treated as practitioner anecdotes rather than universal facts.

AI acts. You decide.

A human brake for AI.

Latch shows every command, click, and file change before it happens — so you can say yes, no, or not yet.

Plow Latch · macOS Cat Paw Latch · Windows + Linux · build from source
Cat Paw Latch

Behind the number

Two harnesses. One line.

Same number, same $100 credit. Pick the harness that answers when you text.

Hermes

Nous Research's terminal-native agent. It runs on your machine, keeps memory between sessions, and opens one playbook per task.

Text Hermes
OpenClaw

The open-source assistant that runs on your own computer and answers in the channels you already use. One playbook per task.

Text OpenClaw

One line for both harnesses +1 628 246 3032

Opens Messages with that harness already chosen.