PortugalCT 2024 and 2025Last heat: MEO Rip Curl Pro Portugal 2025
Frederico
Morais
This rating is mostly the starting prior, not this surfer. He has 15 rated heats, below the 16-heat threshold at which a surfer's own record outweighs the prior — 50% of the figure below is still the prior every surfer starts at. 35 of the 73 rated surfers are in the same position, which is why the leaderboard filters them out by default rather than ranking them.
- Trim
- −0.29per heat, ± 1.10 (95%)
- Rated heats
- 15below 16
- Prior weight
- 0.50050% of the rating
- Heats surfed
- 156 events
- Heats won
- 4of 15
- Mean heat total
- 10.53over 15
- Best heat
- 15.37Western Australia Margaret River Pro
Trim timeline
Every recorded heat, 2024 and 2025
Reading it — the line is Trim after each heat: points per heat above or below what that round usually yields. It starts at the prior, 0.000, and moves by a decayed share of each heat's deviation. The bars below are those deviations, one per heat, on their own scale. Neither panel is a prediction.
Extremes — best +4.65 at 2024 Western Australia Margaret River Pro · Opening Round heat 9; worst −6.15 at 2024 Lexus Pipe Pro · Opening Round heat 8. Axis to ±7, the exact maximum rounded outward.
How this is computed
trim joined to datum, in the run's own ordering — 15 of this surfer's 15 heats. Trim is an EWMA of the deviation from Datum (ewma_residual_hl15, half-life 15 heats, prior 0, computed 2026-10-17 over 1845 entries and 73 surfers). Datum is a ridge on the round alone, so “expected” is what that round usually yields, not what these conditions or this break usually yield. The decay earns very little: walk-forward RMSE 2.9098 against 2.9123 for a shrunk flat mean of the same residuals — paired t 0.56. Predicting zero for everyone scores 2.9688. The ordering is what Trim is for; the half-life is not doing the work.Heat log
15 heats across 6 events
| Counting rides | Conditions | Progression | ||||||
|---|---|---|---|---|---|---|---|---|
| 1 | 2024 Lexus Pipe ProOpening Round · heat 8 · Pipeline | 2nd | 4.57 | 4.17 + 0.40 | −6.15exp 10.72 | −0.2780.955 | 8-10' · Calm | Adv to R/32 - HT 7 |
| 2 | 2024 Lexus Pipe ProRound of 32 · heat 7 | 2nd | 7.00 | 6.67 + 0.33 | −4.74exp 11.74 | −0.4790.912 | 8-10' · Calm | — |
| 3 | 2024 Hurley Pro Sunset BeachOpening Round · heat 7 · Sunset Beach | 3rd | 7.84 | 4.17 + 3.67 | −2.88exp 10.72 | −0.5880.871 | 6-8' · Cross | Adv to ER - HT 1 |
| 4 | 2024 Hurley Pro Sunset BeachElimination Round · heat 1 · Sunset Beach | 2nd | 9.33 | 5.00 + 4.33 | −2.14exp 11.47 | −0.6580.831 | 6-8' · Cross | Adv to R/32 - HT 13 |
| 5 | 2024 Hurley Pro Sunset BeachRound of 32 · heat 13 · Sunset Beach | 1st | 13.83 | 8.00 + 5.83 | +2.09exp 11.74 | −0.5340.794 | 10-14' · Cross | — |
| 6 | 2024 Hurley Pro Sunset BeachRound of 16 · heat 7 · Sunset Beach | 2nd | 12.07 | 6.40 + 5.67 | +0.03exp 12.04 | −0.5090.758 | 10-14' · Cross | — |
| 7 | 2024 MEO Rip Curl Pro PortugalOpening Round · heat 12 · Supertubos | 1st | 13.10 | 7.17 + 5.93 | +2.38exp 10.72 | −0.3780.724 | 4-6' · Offshore | Adv to R/32 - HT 8 |
| 8 | 2024 MEO Rip Curl Pro PortugalRound of 32 · heat 8 · Supertubos | 2nd | 13.00 | 6.83 + 6.17 | +1.26exp 11.74 | −0.3040.691 | 4-6' · Cross | — |
| 9 | 2024 Rip Curl Pro Bells BeachOpening Round · heat 12 · Bells Beach | 3rd | 9.33 | 5.33 + 4.00 | −1.39exp 10.72 | −0.3540.660 | 4-6' · Offshore | Adv to ER - HT 3 |
| 10 | 2024 Rip Curl Pro Bells BeachElimination Round · heat 3 · Bells Beach | 1st | 11.50 | 6.50 + 5.00 | +0.03exp 11.47 | −0.3360.630 | 4-6' · Onshore | Adv to R/32 - HT 12 |
| 11 | 2024 Rip Curl Pro Bells BeachRound of 32 · heat 12 · Winki Pop | 2nd | 11.17 | 6.67 + 4.50 | −0.57exp 11.74 | −0.3470.602 | 1-4' · Onshore | — |
| 12 | 2024 Western Australia Margaret River ProOpening Round · heat 9 · Main Break | 1st | 15.37 | 8.07 + 7.30 | +4.65exp 10.72 | −0.1210.574 | 1-4' · Offshore | Adv to R/32 - HT 11 |
| 13 | 2024 Western Australia Margaret River ProRound of 32 · heat 11 · Main Break | 2nd | 12.83 | 7.10 + 5.73 | +1.09exp 11.74 | −0.0670.548 | 1-4' · Onshore | — |
| 14 | 2025 MEO Rip Curl Pro PortugalOpening Round · heat 6 · Supertubos | 3rd | 8.94 | 5.17 + 3.77 | −1.78exp 10.72 | −0.1440.524 | 4-6' · Calm | Adv to ER - HT 1 |
| 15 | 2025 MEO Rip Curl Pro PortugalElimination Round · heat 1 · Supertubos | 3rd | 8.07 | 4.57 + 3.50 | −3.40exp 11.47 | −0.2910.500 | 1-4' · Onshore | Eliminated |
How this is computed
heat_entries joined to heats, rounds and events, one row per heat surfed. position and heat_total are published, never derived from the rides; a heat with no total renders as an em-dash, never as zero. The counting rides are the stored waves.counted flag in score order, not ride order, which is how WSL publishes the decomposition; they are not the best two, because an interference penalty zeroes a counting ride without promoting the next one. counting_rides belongs to the round, not the event. Venue is heats.venue_id — the break the heat was actually surfed at, which for 14 of these 15 heatsis stored, and which is not always the event's nominal venue. Round order carries a known gap and no tie countback is stored, so a shared position is shown as published.Condition splits
What he scored, by what the page said
By published wave height
| Height | Heats | Mean | Best | vs Datum |
|---|---|---|---|---|
| 1-4' | 4 | 11.86 | 15.37 | +0.44 |
| 4-6' | 5 | 11.17 | 13.10 | +0.10 |
| 6-8' | 2 | 8.59 | 9.33 | −2.51 |
| 8-10' | 2 | 5.79 | 7.00 | −5.45 |
| 10-14' | 2 | 12.95 | 13.83 | +1.06 |
“Heats” counts the rated heats in the split; where a heat carries no published total it is shown as rated of total and left out of the means.
By published wind
| Wind | Heats | Mean | Best | vs Datum |
|---|---|---|---|---|
| Cross | 5 | 11.21 | 13.83 | −0.33 |
| Onshore | 4 | 10.89 | 12.83 | −0.71 |
| Calm | 3 | 6.84 | 8.94 | −4.23 |
| Offshore | 3 | 12.60 | 15.37 | +1.88 |
“Heats” counts the rated heats in the split; where a heat carries no published total it is shown as rated of total and left out of the means.
What these are not Conditions are not in the model. Datum V1 is a ridge on the round alone: break, wave type and field size were tested on 27 August and dropped, because adding them made the leave-one-event-out error worse rather than better. The “vs Datum” column in each split is therefore this surfer's deviation from what that round usually yields, averaged over the heats that fall in the split. It is a description of where he scored, not a measurement of conditions he favours, and a difference between two rows here is not evidence that either caused anything. Computed over the 15 of his 15 heatswhose popup was retained and publishes both figures; the remainder are absent from these tables rather than pooled into an “unknown” row.
How this is computed
heats.wave_height_published and heats.wind_conditions, both read off the retained heat popup and shown in the words the page used. Across the database these are held for 771 of 801 heats, a different population from venue, which is held for 713. For this surfer that is 15 of 15. Heats with no published conditions are left out of both tables; they are not an “unknown” category.