Skip to content
#23 in the leagueof the top 40

Ricardo Horta

Sp. Braga·Midfielder

Scoring skill

0.14Goals per 90 minutes above replacement
00.07 – 0.22 · 90% credible interval0.60
others in the top 40

What the number means: if Ricardo Horta plays 90 minutes at a neutral venue against an average Liga defence, the model expects 0.14 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.07 and 0.22. Fewer minutes, wider interval.

Attacking contribution

+0.22goals and assists per 90 minutes above replacement

#16 of 40 published

0.000.13 – 0.33 · 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
7,336
Matches
90
Goals
33
Actual goals/90
0.41
xG skill per 90
0.24
P(above replacement)
100%

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)
2023-242,3429
0.15
2024-252,84510
0.14
2025-262,14914
0.15

Did he improve? Can't say

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

Recent appearances

2026-05-16Estrela (home)68' · started—
2026-04-23Casa Pia (away)90' · started—
2026-04-19Famalicão (home)90' · started1 goal
2026-04-12Arouca (home)63' · started—
2026-04-04Moreirense (away)89' · started—
2026-03-22Porto (home)90' · started—
2026-03-07Sporting (home)90' · started1 goal
2026-02-28Nacional (away)90' · started—

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: Daniel Bragança (#22)Next: Figueiredo (#24)Club page: Sp. Braga

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.