ANALYTICS

HawaiiCT 2024 and 2025Last heat: Lexus Pipe Pro 2025

John John
Florence

2024 World Champion
Trim
1.79per heat, ± 0.89 (95%)
Rated heats
43at or above 16
Prior weight
0.13714% of the rating
Heats surfed
4311 events
Heats won
28of 43
Mean heat total
14.18over 43
Best heat
18.40Western Australia Margaret River Pro

The swell · four moments from 43 rated heats

  1. Heat 1 · Lexus Pipe Pro 2024 · Opening RoundThe low tide.15.20 against an expected 10.72 (Pipeline, 8-10', calm). His Trim bottoms out at 0.202.
  2. Heat 28 · Surf City El Salvador Pro 2024 · Opening RoundThe highest crest.16.33 (Punta Roca, 4-6', light) against an expected 10.72. A gap of +5.61.
  3. Heat 38 · Corona Fiji Pro 2024 · Round of 16The deepest trough.7.44 against an expected 12.04: a gap of −4.60, his largest miss in these seasons.
  4. Heat 43 · Lexus Pipe Pro 2025 · Round of 16Where it ends.17.06 against 12.04, leaving his Trim at 1.790.

Trim timeline

Every recorded heat, 2024 and 2025

first 15 heats: prior is 50% or more of the ratingprior · 020251.79heat 1heat 43Deviation from Datum, each heatHeat 1 — 2024 Lexus Pipe Pro · Opening Round heat 7 Scored 15.20 against an expected 10.72 (+4.48) Trim 0.000 → 0.202 · prior weight 0.955 1st in the heatHeat 2 — 2024 Lexus Pipe Pro · Round of 32 heat 13 Scored 17.34 against an expected 11.74 (+5.60) Trim 0.202 → 0.446 · prior weight 0.912 1st in the heatHeat 3 — 2024 Lexus Pipe Pro · Round of 16 heat 7 Scored 11.83 against an expected 12.04 (−0.21) Trim 0.446 → 0.416 · prior weight 0.871 1st in the heatHeat 4 — 2024 Lexus Pipe Pro · Quarterfinals heat 4 Scored 13.67 against an expected 13.05 (+0.62) Trim 0.416 → 0.426 · prior weight 0.831 1st in the heatHeat 5 — 2024 Lexus Pipe Pro · Semifinals heat 2 Scored 16.10 against an expected 13.75 (+2.35) Trim 0.426 → 0.512 · prior weight 0.794 1st in the heatHeat 6 — 2024 Lexus Pipe Pro · Final heat 1 Scored 15.33 against an expected 14.49 (+0.84) Trim 0.512 → 0.527 · prior weight 0.758 2nd in the heatHeat 7 — 2024 Hurley Pro Sunset Beach · Opening Round heat 4 Scored 14.83 against an expected 10.72 (+4.11) Trim 0.527 → 0.689 · prior weight 0.724 1st in the heatHeat 8 — 2024 Hurley Pro Sunset Beach · Round of 32 heat 5 Scored 10.60 against an expected 11.74 (−1.14) Trim 0.689 → 0.606 · prior weight 0.691 1st in the heatHeat 9 — 2024 Hurley Pro Sunset Beach · Round of 16 heat 3 Scored 16.06 against an expected 12.04 (+4.02) Trim 0.606 → 0.760 · prior weight 0.660 1st in the heatHeat 10 — 2024 Hurley Pro Sunset Beach · Quarterfinals heat 2 Scored 14.26 against an expected 13.05 (+1.21) Trim 0.760 → 0.781 · prior weight 0.630 2nd in the heatHeat 11 — 2024 MEO Rip Curl Pro Portugal · Opening Round heat 4 Scored 7.27 against an expected 10.72 (−3.45) Trim 0.781 → 0.590 · prior weight 0.602 2nd in the heatHeat 12 — 2024 MEO Rip Curl Pro Portugal · Round of 32 heat 1 Scored 14.84 against an expected 11.74 (+3.10) Trim 0.590 → 0.703 · prior weight 0.574 1st in the heatHeat 13 — 2024 MEO Rip Curl Pro Portugal · Round of 16 heat 1 Scored 12.26 against an expected 12.04 (+0.22) Trim 0.703 → 0.681 · prior weight 0.548 2nd in the heatHeat 14 — 2024 Rip Curl Pro Bells Beach · Opening Round heat 3 Scored 10.84 against an expected 10.72 (+0.12) Trim 0.681 → 0.656 · prior weight 0.524 2nd in the heatHeat 15 — 2024 Rip Curl Pro Bells Beach · Round of 32 heat 13 Scored 10.10 against an expected 11.74 (−1.64) Trim 0.656 → 0.552 · prior weight 0.500 2nd in the heatHeat 16 — 2024 Western Australia Margaret River Pro · Opening Round heat 4 Scored 6.83 against an expected 10.72 (−3.89) Trim 0.552 → 0.351 · prior weight 0.477 3rd in the heatHeat 17 — 2024 Western Australia Margaret River Pro · Elimination Round heat 1 Scored 11.37 against an expected 11.47 (−0.10) Trim 0.351 → 0.331 · prior weight 0.456 2nd in the heatHeat 18 — 2024 Western Australia Margaret River Pro · Round of 32 heat 1 Scored 17.13 against an expected 11.74 (+5.39) Trim 0.331 → 0.559 · prior weight 0.435 1st in the heatHeat 19 — 2024 Western Australia Margaret River Pro · Round of 16 heat 1 Scored 13.90 against an expected 12.04 (+1.86) Trim 0.559 → 0.618 · prior weight 0.416 1st in the heatHeat 20 — 2024 Western Australia Margaret River Pro · Quarterfinals heat 1 Scored 16.26 against an expected 13.05 (+3.21) Trim 0.618 → 0.735 · prior weight 0.397 1st in the heatHeat 21 — 2024 Western Australia Margaret River Pro · Semifinals heat 1 Scored 18.40 against an expected 13.75 (+4.65) Trim 0.735 → 0.912 · prior weight 0.379 1st in the heatHeat 22 — 2024 Western Australia Margaret River Pro · Final heat 1 Scored 16.04 against an expected 14.49 (+1.55) Trim 0.912 → 0.941 · prior weight 0.362 2nd in the heatHeat 23 — 2024 SHISEIDO Tahiti Pro · Opening Round heat 2 Scored 13.77 against an expected 10.72 (+3.05) Trim 0.941 → 1.036 · prior weight 0.345 1st in the heatHeat 24 — 2024 SHISEIDO Tahiti Pro · Round of 16 heat 5 Scored 15.77 against an expected 12.04 (+3.73) Trim 1.036 → 1.157 · prior weight 0.330 1st in the heatHeat 25 — 2024 SHISEIDO Tahiti Pro · Quarterfinals heat 3 Scored 18.33 against an expected 13.05 (+5.28) Trim 1.157 → 1.344 · prior weight 0.315 1st in the heatHeat 26 — 2024 SHISEIDO Tahiti Pro · Semifinals heat 2 Scored 18.00 against an expected 13.75 (+4.25) Trim 1.344 → 1.475 · prior weight 0.301 1st in the heatHeat 27 — 2024 SHISEIDO Tahiti Pro · Final heat 1 Scored 17.16 against an expected 14.49 (+2.67) Trim 1.475 → 1.529 · prior weight 0.287 2nd in the heatHeat 28 — 2024 Surf City El Salvador Pro · Opening Round heat 4 Scored 16.33 against an expected 10.72 (+5.61) Trim 1.529 → 1.713 · prior weight 0.274 1st in the heatHeat 29 — 2024 Surf City El Salvador Pro · Round of 16 heat 5 Scored 13.26 against an expected 12.04 (+1.22) Trim 1.713 → 1.691 · prior weight 0.262 1st in the heatHeat 30 — 2024 Surf City El Salvador Pro · Quarterfinals heat 3 Scored 15.17 against an expected 13.05 (+2.12) Trim 1.691 → 1.710 · prior weight 0.250 1st in the heatHeat 31 — 2024 Surf City El Salvador Pro · Semifinals heat 2 Scored 17.50 against an expected 13.75 (+3.75) Trim 1.710 → 1.803 · prior weight 0.239 1st in the heatHeat 32 — 2024 Surf City El Salvador Pro · Final heat 1 Scored 16.33 against an expected 14.49 (+1.84) Trim 1.803 → 1.804 · prior weight 0.228 1st in the heatHeat 33 — 2024 VIVO Rio Pro · Opening Round heat 4 Scored 8.10 against an expected 10.72 (−2.62) Trim 1.804 → 1.604 · prior weight 0.218 3rd in the heatHeat 34 — 2024 VIVO Rio Pro · Elimination Round heat 1 Scored 12.34 against an expected 11.47 (+0.87) Trim 1.604 → 1.571 · prior weight 0.208 1st in the heatHeat 35 — 2024 VIVO Rio Pro · Round of 16 heat 5 Scored 14.44 against an expected 12.04 (+2.40) Trim 1.571 → 1.609 · prior weight 0.198 1st in the heatHeat 36 — 2024 VIVO Rio Pro · Quarterfinals heat 3 Scored 11.27 against an expected 13.05 (−1.78) Trim 1.609 → 1.456 · prior weight 0.189 2nd in the heatHeat 37 — 2024 Corona Fiji Pro · Opening Round heat 4 Scored 14.57 against an expected 10.72 (+3.85) Trim 1.456 → 1.564 · prior weight 0.181 1st in the heatHeat 38 — 2024 Corona Fiji Pro · Round of 16 heat 5 Scored 7.44 against an expected 12.04 (−4.60) Trim 1.564 → 1.285 · prior weight 0.173 2nd in the heatHeat 39 — 2024 Lexus WSL Finals · Title Match heat 1 Scored 15.50 against an expected 13.32 (+2.18) Trim 1.285 → 1.326 · prior weight 0.165 1st in the heatHeat 40 — 2024 Lexus WSL Finals · Title Match heat 2 Scored 18.13 against an expected 13.32 (+4.81) Trim 1.326 → 1.483 · prior weight 0.157 1st in the heatHeat 41 — 2025 Lexus Pipe Pro · Opening Round heat 6 Scored 11.50 against an expected 10.72 (+0.78) Trim 1.483 → 1.451 · prior weight 0.150 2nd in the heatHeat 42 — 2025 Lexus Pipe Pro · Round of 32 heat 5 Scored 17.30 against an expected 11.74 (+5.56) Trim 1.451 → 1.637 · prior weight 0.144 1st in the heatHeat 43 — 2025 Lexus Pipe Pro · Round of 16 heat 3 Scored 17.06 against an expected 12.04 (+5.02) Trim 1.637 → 1.790 · prior weight 0.137 2nd in the heat

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 +5.61 at 2024 Surf City El Salvador Pro · Opening Round heat 4; worst −4.60 at 2024 Corona Fiji Pro · Round of 16 heat 5. Axis to ±6, the exact maximum rounded outward.

How this is computed
Computed over trim joined to datum, in the run's own ordering — 43 of this surfer's 43 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

43 heats across 11 events

Every heat this surfer surfed, in career order, with the published finishing position, heat total, counting rides, the deviation from Datum and the Trim that followed
Counting ridesConditionsProgression
12024 Lexus Pipe ProOpening Round · heat 7 · Pipeline1st15.208.33 + 6.87+4.48exp 10.720.2020.9558-10' · CalmAdv to R/32 - HT 13
22024 Lexus Pipe ProRound of 32 · heat 131st17.349.17 + 8.17+5.60exp 11.740.4460.9128-10' · Calm—
32024 Lexus Pipe ProRound of 16 · heat 71st11.836.50 + 5.33−0.21exp 12.040.4160.8718-10' · Calm—
42024 Lexus Pipe ProQuarterfinals · heat 41st13.678.00 + 5.67+0.62exp 13.050.4260.8316-8' · Light—
52024 Lexus Pipe ProSemifinals · heat 21st16.108.27 + 7.83+2.35exp 13.750.5120.7946-8' · Light—
62024 Lexus Pipe ProFinal · heat 12nd15.338.00 + 7.33+0.84exp 14.490.5270.7586-8' · Light—
72024 Hurley Pro Sunset BeachOpening Round · heat 4 · Sunset Beach1st14.837.83 + 7.00+4.11exp 10.720.6890.7246-8' · CrossAdv to R/32 - HT 5
82024 Hurley Pro Sunset BeachRound of 32 · heat 5 · Sunset Beach1st10.605.60 + 5.00−1.14exp 11.740.6060.69110-14' · Cross—
92024 Hurley Pro Sunset BeachRound of 16 · heat 3 · Sunset Beach1st16.068.23 + 7.83+4.02exp 12.040.7600.66010-14' · Cross—
102024 Hurley Pro Sunset BeachQuarterfinals · heat 2 · Sunset Beach2nd14.267.33 + 6.93+1.21exp 13.050.7810.6304-6' · Light—
112024 MEO Rip Curl Pro PortugalOpening Round · heat 4 · Supertubos2nd7.273.67 + 3.60−3.45exp 10.720.5900.6024-6' · OffshoreAdv to R/32 - HT 1
122024 MEO Rip Curl Pro PortugalRound of 32 · heat 1 · Supertubos1st14.848.67 + 6.17+3.10exp 11.740.7030.5744-6' · Cross—
132024 MEO Rip Curl Pro PortugalRound of 16 · heat 1 · Supertubos2nd12.266.33 + 5.93+0.22exp 12.040.6810.5484-6' · Cross—
142024 Rip Curl Pro Bells BeachOpening Round · heat 3 · Bells Beach2nd10.846.67 + 4.17+0.12exp 10.720.6560.5244-6' · OffshoreAdv to R/32 - HT 13
152024 Rip Curl Pro Bells BeachRound of 32 · heat 13 · Winki Pop2nd10.107.67 + 2.43−1.64exp 11.740.5520.5001-4' · Onshore—
162024 Western Australia Margaret River ProOpening Round · heat 4 · Main Break3rd6.835.63 + 1.20−3.89exp 10.720.3510.4771-4' · OffshoreAdv to ER - HT 1
172024 Western Australia Margaret River ProElimination Round · heat 1 · Main Break2nd11.375.70 + 5.67−0.10exp 11.470.3310.4561-4' · OnshoreAdv to R/32 - HT 1
182024 Western Australia Margaret River ProRound of 32 · heat 1 · Main Break1st17.138.80 + 8.33+5.39exp 11.740.5590.4354-6' · Offshore—
192024 Western Australia Margaret River ProRound of 16 · heat 1 · Main Break1st13.907.00 + 6.90+1.86exp 12.040.6180.4161-4' · Offshore—
202024 Western Australia Margaret River ProQuarterfinals · heat 1 · Main Break1st16.268.23 + 8.03+3.21exp 13.050.7350.3976-8' · Offshore—
212024 Western Australia Margaret River ProSemifinals · heat 1 · Main Break1st18.4010.00 + 8.40+4.65exp 13.750.9120.3796-8' · Calm—
222024 Western Australia Margaret River ProFinal · heat 1 · Main Break2nd16.048.77 + 7.27+1.55exp 14.490.9410.3626-8' · Light—
232024 SHISEIDO Tahiti ProOpening Round · heat 2 · Teahupo'o1st13.777.67 + 6.10+3.05exp 10.721.0360.3456-8' · OffshoreAdv to R/16 - HT 5
242024 SHISEIDO Tahiti ProRound of 16 · heat 5 · Teahupo'o1st15.778.17 + 7.60+3.73exp 12.041.1570.3308-10' · Offshore—
252024 SHISEIDO Tahiti ProQuarterfinals · heat 3 · Teahupo'o1st18.339.23 + 9.10+5.28exp 13.051.3440.3158-10' · Offshore—
262024 SHISEIDO Tahiti ProSemifinals · heat 2 · Teahupo'o1st18.009.77 + 8.23+4.25exp 13.751.4750.3018-10' · Offshore—
272024 SHISEIDO Tahiti ProFinal · heat 1 · Teahupo'o2nd17.169.33 + 7.83+2.67exp 14.491.5290.2878-10' · Offshore—
282024 Surf City El Salvador ProOpening Round · heat 4 · Punta Roca1st16.338.50 + 7.83+5.61exp 10.721.7130.2744-6' · LightAdv to R/16 - HT 5
292024 Surf City El Salvador ProRound of 16 · heat 5 · Punta Roca1st13.268.93 + 4.33+1.22exp 12.041.6910.2624-6' · Light—
302024 Surf City El Salvador ProQuarterfinals · heat 3 · Punta Roca1st15.178.00 + 7.17+2.12exp 13.051.7100.2504-6' · Light—
312024 Surf City El Salvador ProSemifinals · heat 2 · Punta Roca1st17.5010.00 + 7.50+3.75exp 13.751.8030.2394-6' · Light—
322024 Surf City El Salvador ProFinal · heat 1 · Punta Roca1st16.338.50 + 7.83+1.84exp 14.491.8040.2284-6' · Light—
332024 VIVO Rio ProOpening Round · heat 4 · Itaúna3rd8.104.77 + 3.33−2.62exp 10.721.6040.2184-6' · CalmAdv to ER - HT 1
342024 VIVO Rio ProElimination Round · heat 1 · Itaúna1st12.347.17 + 5.17+0.87exp 11.471.5710.2084-6' · CalmAdv to R/16 - HT 5
352024 VIVO Rio ProRound of 16 · heat 5 · Itaúna1st14.447.67 + 6.77+2.40exp 12.041.6090.1986-8' · Onshore—
362024 VIVO Rio ProQuarterfinals · heat 3 · Itaúna2nd11.276.27 + 5.00−1.78exp 13.051.4560.1896-8' · Offshore—
372024 Corona Fiji ProOpening Round · heat 4 · Cloudbreak1st14.577.40 + 7.17+3.85exp 10.721.5640.1814-6' · OffshoreAdv to R/16 - HT 5
382024 Corona Fiji ProRound of 16 · heat 5 · Cloudbreak2nd7.444.17 + 3.27−4.60exp 12.041.2850.1734-6' · Offshore—
392024 Lexus WSL Finals FinalsTitle Match · heat 1 · Lower Trestlesbest of three · won 2–01st15.508.33 + 7.17+2.18exp 13.321.3260.1654-6' · Light—
402024 Lexus WSL Finals FinalsTitle Match · heat 2 · Lower Trestlesbest of three · won 2–01st18.139.70 + 8.43+4.81exp 13.321.4830.1574-6' · Light—
412025 Lexus Pipe ProOpening Round · heat 6 · Pipeline2nd11.505.83 + 5.67+0.78exp 10.721.4510.1506-8' · CalmAdv to R/32 - HT 5
422025 Lexus Pipe ProRound of 32 · heat 5 · Pipeline1st17.308.73 + 8.57+5.56exp 11.741.6370.1446-8' · Calm—
432025 Lexus Pipe ProRound of 16 · heat 3 · Pipeline2nd17.069.63 + 7.43+5.02exp 12.041.7900.1376-8' · Calm—
How this is computed
Computed over 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 38 of these 43 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

By published wave height: heats, mean heat total, best heat total and mean deviation from the round's expected total, for each published condition
HeightHeatsMeanBestvs Datum
1-4'410.5513.90−0.94
4-6'1713.6018.13+1.51
6-8'1315.0718.40+2.49
8-10'716.2318.33+3.69
10-14'213.3316.06+1.44

“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

By published wind: heats, mean heat total, best heat total and mean deviation from the round's expected total, for each published condition
WindHeatsMeanBestvs Datum
Offshore1413.4718.33+1.41
Light1215.6418.13+2.34
Calm914.3418.40+2.68
Cross513.7216.06+2.06
Onshore311.9714.44+0.22

“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 43 of his 43 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
Computed over 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 43 of 43. Heats with no published conditions are left out of both tables; they are not an “unknown” category.