Skip to content
#36 in the leagueof the top 40

Rodrigo Mora

Porto·Midfielder

Scoring skill

0.09Goals per 90 minutes above replacement
00.01 – 0.19 · 90% credible interval0.60
others in the top 40

What the number means: if Rodrigo Mora plays 90 minutes at a neutral venue against an average Liga defence, the model expects 0.09 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.01 and 0.19. Fewer minutes, wider interval.

Attacking contribution

+0.15goals and assists per 90 minutes above replacement

#37 of 40 published

0.000.04 – 0.28 · 90% credible interval0.72
other players on the same metric

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
2,574
Matches
51
Goals
11
Actual goals/90
0.39
xG skill per 90
0.19
P(above replacement)
97%

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 three Liga Portugal seasons they never have.

SeasonMinutesGoalsSkill (with margin)
2024-251,38710
0.10
2025-261,1871
0.09

Did he improve? Can't say

Between 2024-25 and 2025-26 the estimate moved -0.017 — but the margin of error on that difference is ±0.083, 5.0 times larger. In other words: indistinguishable from zero. A big goal season is usually natural variation, not new skill.

Recent appearances

2026-05-16Santa Clara (home)90' · started—
2026-05-10AVS (away)81' · started—
2026-05-02Alverca (home)12' · sub—
2026-04-26Estrela (away)20' · sub—
2026-04-19Tondela (home)45' · started—
2026-04-12Estoril (away)20' · sub—
2026-04-04Famalicão (home)44' · started—
2026-03-15Moreirense (home)24' · sub—

Match-by-match data (SofaScore). The rating is the provider's, not the model's — the model only uses goals, minutes and opponent.

All player metricsPrevious: Hyun-ju Lee (#35)Next: Miguel Puche (#37)Club page: Porto

Bayesian player model fitted on 28,735 individual appearances since 2023-24, with a 600-minute minimum to qualify. Club = the player's most recent club in the data (2023-24 to 2025-26); recent transfers may not be reflected.