Scoring skill
Data to 25 Oct 2026 (2026-27 season in progress)
What the number means: if Borja Sainz plays 90 minutes at a neutral venue against an average Liga defence, the model expects 0.18 more goals than if that place were taken by a replacement-level player — the kind of signing any club can make for free. Goals are capped (winsorized) before the estimate, so one four-goal afternoon is not read as permanent skill.
The model puts 90% probability on the true value lying between 0.06 and 0.32. Fewer minutes, wider interval.
Attacking contribution
Seasons 2023-24 to 2026-27
#20 of 40 published
The same structure as the finishing metric, but adding goals and assists together. It sees what the goals-only metric could not: who creates.
Few minutes pull the estimate toward replacement level and widen the interval.
Minutes, matches and goals from 2023-24 to 2026-27 · Data to 25 Oct 2026 (2026-27 season in progress)
Season by season
Goals go up and down; the skill estimate barely moves. That is by design: the model only admits a change in skill when the data demand one, and across this player's two Liga Portugal seasons they never have.
| Season | Minutes | Goals | Skill (with margin) |
|---|---|---|---|
| 2025-26 | 1,603 | 5 | +0.17 |
| 2026-27 | 271 | 4 | +0.19 |
There is no telling whether he improved
Not enough minutes to compare seasons: in 2026-27 he played 271 minutes (the minimum to compare is 450), so that season's estimate is almost all the model's starting point.
Latest recorded appearances
Data to 25 Oct 2026 (2026-27 season in progress)
- 24 Oct24 Oct 2026Gil Vicenteaway72' · started17.2
- 10 Oct10 Oct 2026Marítimoaway35' · subno goals7.1
- 20 Sep20 Sep 2026Benficahome21' · subno goals6.6
- 12 Sep12 Sep 2026Casa Piaaway28' · sub17.7
- 4 Sep4 Sep 2026Moreirensehome15' · subno goals6.2
- 29 Aug29 Aug 2026Ac. Viseuaway30' · subno goals6.6
- 23 Aug23 Aug 2026Aroucahome14' · sub18.0
- 15 Aug15 Aug 2026Rio Aveaway24' · sub17.3
Match-by-match data (SofaScore). The rating is the provider's, not the model's — the model only uses goals, minutes and opponent.
Bayesian player model fitted on 31,272 individual appearances since 2023-24, with a 600-minute minimum to qualify. Club = current squad (2026-27); the season-by-season table shows where he played each season. The finishing and contribution data runs to 25 October 2026, with the 2026-27 season in progress: minutes, goals and recent appearances stop there until those models are refitted; contested possession, goalkeepers and defenders use the seasons their own files list.