T
Tennis EdgeBoard
ATP + WTA daily edges - Kalshi + PrizePicks - auto-refresh 2m
Generated
2026-06-30 17:43 UTC
Sources
29
Day-2 calibration reset

Real-money probe lost 0/4 (-$10.00) on 5/17. Sim was wildly over-confident on qualifying-round picks — 8/8 qualifying edges lost despite avg +35pp model edge.

Qualifying filter now active. Real money gate-locked until 5/30 ($50 paper P&L + MAE <3pp + n≥50 graded). See Calibration & Lessons tab for the full Day-2 AAR.

Kalshi KXATPMATCH 3m · 1938rKalshi KXWTAMATCH 3m · 1940rKalshi KXFRENCHOPEN 3mKalshi KXFOPENMENSINGLE 3mKalshi KXATPGRANDSLAM 3m · 14rKalshi KXUSOPEN 3mKalshi KXATPSETWINNER 3m · 4318rKalshi KXATPTOTALSETS 3mKalshi KXATPSETSWEEP 3m · 2rKalshi KXATPGAMESPREAD 3mKalshi KXATPEXACTMATCH 3m · 3892rKalshi KXWTADOUBLES 3m · 198rKalshi KXATP1RANK 3m · 16relo last computed 9d · 20430rrankings last pulled 15d · 11348rrankings atp latest date 22drankings wta latest date 22dmirror atp schedule 1m · 156rh2h last computed 44dh2h n pairs missinglast player db run missingresults last_run missingpp_edges CSV 0mkalshi edges JSON 0mpaper trades PP 0mpaper trades Kalshi 0mdaily payload 0mPP movement 0mPP calibration 0m
Matches today
42
scheduled
ELITE edges
4
across Kalshi + PP
STRONG edges
0
tier 2
MED edges
0
tier 3
Paper locks
0
Kalshi + PP
Real Money YTD
-$10.00
paper-gate restored
Qualifying skipped
0
filtered out today
Last refresh
17:43
2026-06-30 UTC
🏆 Best Bet (main-draw)
No main-draw Kalshi pick survived qualifying filter today.
🎯 Safest (P ≥ 65%)
Ethan Quinn
Ethan Quinn vs Shintaro Mochizuki · Round Of 64 hard · LOW
70%
Heavy main-draw favorite · SKIP
Edge +0.3pp
Ask 70¢
💎 Biggest Payout (ELITE)
No ELITE main-draw longshot today.
#MatchTournamentRoundSurfaceStartELO AELO BELO diffKalshi event
1Lorenzo Sonego vs Tomas Martin EtcheverryWimbledonRound 1grassJun 30 14:3515291456+73KXATPSETWINNER-26JUN30SONETC-4
2Lorenzo Sonego vs Tomas Martin EtcheverryWimbledonRound 1grassJun 30 14:3515291456+73KXATPSETWINNER-26JUN30SONETC-4
3Corentin Moutet vs Marcos GironWimbledonRound 1grassJun 30 14:5015741570+4KXATPSETWINNER-26JUN30MOUGIR-4
4Corentin Moutet vs Marcos GironWimbledonRound 1grassJun 30 14:5015741570+4KXATPSETWINNER-26JUN30MOUGIR-4
5Alexander Blockx vs Alexander ZverevWimbledonRound 1grassJun 30 15:0515081594-87KXATPMATCH-26JUN29BLOZVE
6Alexander Blockx vs Alexander ZverevWimbledonRound 1grassJun 30 15:0515081594-87KXATPMATCH-26JUN29BLOZVE
7Tallon Griekspoor vs James DuckworthWimbledonRound 1grassJun 30 15:4015641517+47KXATPMATCH-26JUN29GRIDUC
8Tallon Griekspoor vs James DuckworthWimbledonRound 1grassJun 30 15:4015641517+47KXATPMATCH-26JUN29GRIDUC
9Ajla Tomljanovic vs Mariam BolkvadzeWimbledonRound 1grassJun 30 16:2515361498+39KXWTAMATCH-26JUN30TOMBOL
10Ajla Tomljanovic vs Mariam BolkvadzeWimbledonRound 1grassJun 30 16:2515361498+39KXWTAMATCH-26JUN30TOMBOL
11Stan Wawrinka vs Matteo BerrettiniWimbledonRound 1grassJun 30 16:3015031524-21KXATPMATCH-26JUN29WAWBER
12Stan Wawrinka vs Matteo BerrettiniWimbledonRound 1grassJun 30 16:3015031524-21KXATPMATCH-26JUN29WAWBER
13Alexandra Eala vs Renata ZarazuaWimbledonRound 1grassJun 30 16:3516651509+156KXWTAMATCH-26JUN29EALZAR
14Alexandra Eala vs Renata ZarazuaWimbledonRound 1grassJun 30 16:3516651509+156KXWTAMATCH-26JUN29EALZAR
15Sorana Cirstea vs Sara BejlekWimbledonRound 1grassJun 30 16:4514291486-57KXWTAMATCH-26JUN29CIRBEJ
16Sorana Cirstea vs Sara BejlekWimbledonRound 1grassJun 30 16:4514291486-57KXWTAMATCH-26JUN29CIRBEJ
17Dane Sweeny vs Grigor DimitrovWimbledonRound 1grassJun 30 16:5514541569-115KXATPSETWINNER-26JUN29SWEDIM-2
18Dane Sweeny vs Grigor DimitrovWimbledonRound 1grassJun 30 16:5514541569-115KXATPSETWINNER-26JUN29SWEDIM-2
19Alex Molcan vs Daniel AltmaierWimbledonRound 1grassJun 30 17:0017441475+269KXATPSETWINNER-26JUN29MOLALT-1
20Alex Molcan vs Daniel AltmaierWimbledonRound 1grassJun 30 17:0017441475+269KXATPSETWINNER-26JUN29MOLALT-1
21Jiri Lehecka vs Alexei PopyrinWimbledonRound 1grassJun 30 17:0515741498+76KXATPSETWINNER-26JUN29LEHPOP-1
22Ashlyn Krueger vs Donna VekicWimbledonRound 1grassJun 30 17:0515631564-1KXWTAMATCH-26JUN30KRUVEK
23Jiri Lehecka vs Alexei PopyrinWimbledonRound 1grassJun 30 17:0515741498+76KXATPSETWINNER-26JUN29LEHPOP-1
24Ashlyn Krueger vs Donna VekicWimbledonRound 1grassJun 30 17:0515631564-1KXWTAMATCH-26JUN30KRUVEK
25Vit Kopriva vs Jan ChoinskiWimbledonRound 1grassJun 30 17:1015111468+43KXATPSETWINNER-26JUN29KOPCHO-2
26Ella Seidel vs Linda NoskovaWimbledonRound 1grassJun 30 17:1015091583-75KXWTAMATCH-26JUN29SEINOS
27Polina Kudermetova vs Liudmila SamsonovaWimbledonRound 1grassJun 30 17:1014571619-162KXWTAMATCH-26JUN29KUDSAM
28Diana Shnaider vs Eva LysWimbledonRound 1grassJun 30 17:1015651517+48KXWTAMATCH-26JUN29SHNLYS
29Vit Kopriva vs Jan ChoinskiWimbledonRound 1grassJun 30 17:1015111468+43KXATPSETWINNER-26JUN29KOPCHO-2
30Ella Seidel vs Linda NoskovaWimbledonRound 1grassJun 30 17:1015091583-75KXWTAMATCH-26JUN29SEINOS
31Polina Kudermetova vs Liudmila SamsonovaWimbledonRound 1grassJun 30 17:1014571619-162KXWTAMATCH-26JUN29KUDSAM
32Diana Shnaider vs Eva LysWimbledonRound 1grassJun 30 17:1015651517+48KXWTAMATCH-26JUN29SHNLYS
33Mariano Navone vs Flavio CobolliWimbledonRound 1grassJun 30 17:3014601557-96KXATPSETWINNER-26JUN29NAVCOB-1
34Nadia Podoroska vs Marta KostyukWimbledonRound 1grassJun 30 17:3014691449+20KXWTAMATCH-26JUN29PODKOS
35Mariano Navone vs Flavio CobolliWimbledonRound 1grassJun 30 17:3014601557-96KXATPSETWINNER-26JUN29NAVCOB-1
36Nadia Podoroska vs Marta KostyukWimbledonRound 1grassJun 30 17:3014691449+20KXWTAMATCH-26JUN29PODKOS
37Camila Osorio vs Simona WaltertWimbledonRound 1grassJun 30 17:4514711456+15KXWTAMATCH-26JUN29OSOWAL
38Camila Osorio vs Simona WaltertWimbledonRound 1grassJun 30 17:4514711456+15KXWTAMATCH-26JUN29OSOWAL
39Frances Tiafoe vs Terence AtmaneWimbledonRound 1grassJun 30 18:0014881454+34KXATPMATCH-26JUN29TIAATM
40Serena Williams vs Maya JointWimbledonRound 1grassJun 30 18:001579KXWTAMATCH-26JUN29WILJOI
41Frances Tiafoe vs Terence AtmaneWimbledonRound 1grassJun 30 18:0014881454+34KXATPMATCH-26JUN29TIAATM
42Serena Williams vs Maya JointWimbledonRound 1grassJun 30 18:001579KXWTAMATCH-26JUN29WILJOI
#MatchOur pickOur PMkt PAskEdgeTierDecisionVol 24hSurfaceRoundEV/$
1Nadia Podoroska vs Marta KostyukNadia Podoroska44.5%4.0%+40.5ppLOWSKIP71816grassRound 1+0.405
2Yannick Hanfmann vs Karen KhachanovKaren Khachanov54.4%93.0%93¢-38.6ppLOWPAPER0hardRound Of 64-0.386
3Zizou Bergs vs Jaime FariaZizou Bergs55.2%93.0%93¢-37.8ppLOWPAPER0grassRound 2-0.378
4Leolia Jeanjean vs Daria SnigurDaria Snigur60.0%93.0%93¢-33.0ppLOWPAPER0grassRound 2-0.330
5Tallon Griekspoor vs James DuckworthTallon Griekspoor61.0%28.0%28¢+33.0ppLOWPAPER380197grassRound 1+0.330
6Donna Vekic vs Ashlyn KruegerAshlyn Krueger48.3%16.0%16¢+32.3ppLOWPAPER53465grassRound 1+0.323
7Renata Zarazua vs Alexandra EalaRenata Zarazua34.1%3.0%+31.1ppLOWSKIP114063grassRound 1+0.311
8Alexander Blockx vs Alexander ZverevAlexander Blockx37.4%7.0%+30.4ppLOWPAPER1211038grassRound 1+0.304
9Caty McNally vs Elena RybakinaElena Rybakina64.1%93.0%93¢-28.9ppLOWPAPER0grassRound 2-0.289
10Alexander Bublik vs Kyrian JacquetAlexander Bublik63.3%92.0%92¢-28.7ppLOWPAPER0hardRound Of 64-0.287
11Tomas Martin Etcheverry vs Lorenzo SonegoTomas Martin Etcheverry59.6%31.0%31¢+28.6ppLOWPAPER502981hardRound Of 128+0.286
12Emma Navarro vs Oksana SelekhmetevaEmma Navarro65.1%92.0%92¢-26.9ppLOWPAPER0grassRound 2-0.269
13Taylor Fritz vs Patrick KypsonTaylor Fritz64.3%91.0%91¢-26.7ppLOWPAPER0hardRound Of 64-0.267
14Daniel Merida vs Daniil MedvedevDaniel Merida33.0%7.0%+26.0ppLOWPAPER7685hardRound Of 64+0.260
15Sara Bejlek vs Sorana CirsteaSara Bejlek37.6%12.0%12¢+25.6ppLOWPAPER111388grassRound 1+0.256
16Jan Choinski vs Vit KoprivaVit Kopriva55.1%30.0%30¢+25.1ppLOWPAPER343788hardRound Of 128+0.251
17Felix Auger-Aliassime vs Dino PrizmicDino Prizmic40.7%17.0%17¢+23.7ppLOWPAPER1650hardRound Of 64+0.237
18Tommy Paul vs Soonwoo KwonSoonwoo Kwon37.3%14.0%14¢+23.3ppLOWPAPER4425grassRound 2+0.233
19Anastasia Gasanova vs Naomi OsakaAnastasia Gasanova29.6%7.0%+22.6ppLOWPAPER2657grassRound 2+0.226
20Ella Seidel vs Linda NoskovaElla Seidel28.2%6.0%+22.2ppLOWPAPER9515grassRound 1+0.222
21Sebastian Ofner vs Hubert HurkaczSebastian Ofner48.5%27.0%27¢+21.5ppLOWPAPER2606hardRound Of 64+0.215
22Flavio Cobolli vs Mariano NavoneMariano Navone43.3%22.0%22¢+21.3ppLOWPAPER7328hardRound Of 128+0.213
23Jessica Pegula vs Sara Sorribes TormoSara Sorribes Tormo29.1%8.0%+21.1ppLOWPAPER722grassRound 2+0.211
24Stefanos Tsitsipas vs Novak DjokovicStefanos Tsitsipas36.7%16.0%16¢+20.7ppLOWPAPER9112hardRound Of 64+0.207
25Coco Gauff vs Solana SierraSolana Sierra35.5%15.0%15¢+20.5ppLOWPAPER711grassRound 2+0.205
26Corentin Moutet vs Marcos GironCorentin Moutet45.9%26.0%26¢+19.9ppLOWPAPER685597hardRound Of 128+0.199
27Nuno Borges vs Jannik SinnerNuno Borges24.8%5.0%+19.8ppLOWPAPER22888hardRound Of 64+0.198
28Sofia Kenin vs Amanda AnisimovaSofia Kenin34.1%15.0%15¢+19.1ppLOWPAPER136grassRound 2+0.191
29Lanlana Tararudee vs Ekaterina AlexandrovaLanlana Tararudee37.7%19.0%19¢+18.7ppLOWPAPER227grassRound 2+0.187
30Iga Swiatek vs Karolina PliskovaKarolina Pliskova39.7%21.0%21¢+18.7ppLOWPAPER109grassRound 2+0.187
31Jiri Lehecka vs Alexei PopyrinAlexei Popyrin34.3%16.0%16¢+18.3ppLOWPAPER50647hardRound Of 128+0.183
32Diana Shnaider vs Eva LysDiana Shnaider60.1%42.0%42¢+18.1ppLOWPAPER30441grassRound 1+0.181
33McCartney Kessler vs Aryna SabalenkaMcCartney Kessler31.0%13.0%13¢+18.0ppLOWPAPER2386grassRound 2+0.180
34Katie Swan vs Madison KeysKatie Swan27.0%10.0%10¢+16.9ppLOWPAPER307grassRound 2+0.170
35Frances Tiafoe vs Terence AtmaneTerence Atmane35.0%20.0%20¢+15.0ppLOWPAPER22192grassRound 1+0.150
36Alycia Parks vs Mananchaya SawangkaewMananchaya Sawangkaew56.6%42.0%42¢+14.6ppLOWPAPER582grassRound 2+0.146
37Shuai Zhang vs Karolina MuchovaShuai Zhang30.2%16.0%16¢+14.2ppLOWPAPER1207hardRound Of 64+0.142
38Elise Mertens vs Maria TimofeevaElise Mertens66.9%81.0%81¢-14.1ppLOWPAPER0grassRound 2-0.141
39Jesper De Jong vs Joao FonsecaJesper De Jong31.9%18.0%18¢+13.9ppLOWPAPER914hardRound Of 64+0.140
40Rafael Jodar vs Pablo Carreno BustaPablo Carreno Busta39.9%26.0%26¢+13.9ppLOWPAPER547hardRound Of 64+0.139
41Nicolas Mejia vs Michael ZhengNicolas Mejia36.4%23.0%23¢+13.4ppLOWPAPER839hardRound Of 64+0.135
42Iva Jovic vs Tatjana MariaTatjana Maria40.3%27.0%27¢+13.3ppLOWPAPER1680grassRound 2+0.133
43Antonia Ruzic vs Jelena OstapenkoAntonia Ruzic35.8%23.0%23¢+12.8ppLOWPAPER1710grassRound 2+0.128
44Liudmila Samsonova vs Polina KudermetovaPolina Kudermetova49.1%37.0%37¢+12.1ppLOWPAPER24956grassRound 1+0.121
45Kamilla Rakhimova vs Maria SakkariKamilla Rakhimova49.0%37.0%37¢+12.0ppLOWPAPER0grassRound 2+0.120
46Jacob Fearnley vs Jaume MunarJaume Munar56.7%68.0%68¢-11.3ppLOWPAPER0hardRound Of 64-0.113
47Jan-Lennard Struff vs Brandon NakashimaJan-Lennard Struff36.3%25.0%25¢+11.3ppLOWPAPER2304hardRound Of 64+0.113
48Mirra Andreeva vs Barbora KrejcikovaBarbora Krejcikova44.2%33.0%33¢+11.2ppLOWPAPER2167grassRound 2+0.112
49Dane Sweeny vs Grigor DimitrovDane Sweeny32.9%22.0%22¢+10.9ppLOWPAPER171424hardRound Of 128+0.109
50Alex de Minaur vs Adrian MannarinoAdrian Mannarino33.7%23.0%23¢+10.7ppLOWPAPER45hardRound Of 64+0.107
51Learner Tien vs Marton FucsovicsMarton Fucsovics38.1%28.0%28¢+10.1ppLOWPAPER5979hardRound Of 64+0.101
52Daria Kasatkina vs Janice TjenDaria Kasatkina63.0%53.0%53¢+10.1ppLOWPAPER2942grassRound 2+0.100
53Fabian Marozsan vs Alejandro Davidovich FokinaFabian Marozsan41.9%32.0%32¢+9.9ppLOWPAPER8383grassRound 2+0.099
54Roman Safiullin vs Botic Van de ZandschulpBotic Van de Zandschulp55.0%46.0%46¢+9.0ppLOWPAPER3285hardRound Of 64+0.090
55Jenson Brooksby vs Ignacio BuseIgnacio Buse52.6%44.0%44¢+8.6ppLOWPAPER4796hardRound Of 64+0.086
56Anna Kalinskaya vs Diane ParryDiane Parry44.3%36.0%36¢+8.3ppLOWPAPER92grassRound 2+0.083
57Belinda Bencic vs Xinyu WangXinyu Wang36.1%28.0%28¢+8.1ppLOWPAPER257hardRound Of 64+0.081
58Nikola Bartunkova vs Katerina SiniakovaNikola Bartunkova46.0%38.0%38¢+8.0ppLOWPAPER1667grassRound 2+0.080
59Jessica Bouzas Maneiro vs Dayana YastremskaDayana Yastremska54.3%47.0%47¢+7.3ppLOWPAPER275grassRound 2+0.073
60Zachary Svajda vs Kamil MajchrzakZachary Svajda44.0%37.0%37¢+7.0ppLOWPAPER112grassRound 2+0.070
61Marie Bouzkova vs Tyra Caterina GrantTyra Caterina Grant35.5%29.0%29¢+6.5ppLOWPAPER0grassRound 2+0.065
62Serena Williams vs Maya JointMaya Joint57.8%53.0%53¢+4.8ppLOWPAPER312809grassRound 1+0.048
63Ajla Tomljanovic vs Mariam BolkvadzeMariam Bolkvadze33.0%29.0%29¢+4.0ppLOWPAPER167897grassRound 1+0.040
64Zeynep Sonmez vs Claire LiuClaire Liu38.4%35.0%35¢+3.4ppLOWPAPER521grassRound 2+0.034
65Otto Virtanen vs Arthur FeryArthur Fery46.9%44.0%44¢+2.9ppLOWPAPER7hardRound Of 64+0.029
66Jasmine Paolini vs Viktorija GolubicViktorija Golubic43.6%41.0%41¢+2.6ppLOWPAPER49grassRound 2+0.026
67Arthur Rinderknech vs Martin Damm JrArthur Rinderknech60.1%59.0%59¢+1.1ppLOWSKIP4240hardRound Of 64+0.011
68Alex Molcan vs Daniel AltmaierDaniel Altmaier44.1%43.0%43¢+1.1ppLOWSKIP173572hardRound Of 128+0.011
69Camila Osorio vs Simona WaltertSimona Waltert39.1%38.0%38¢+1.1ppLOWSKIP2124grassRound 1+0.011
70Stan Wawrinka vs Matteo BerrettiniMatteo Berrettini63.6%64.0%64¢-0.4ppLOWSKIP352894grassRound 1-0.004
71Ethan Quinn vs Shintaro MochizukiEthan Quinn70.3%70.0%70¢+0.3ppLOWSKIP1166hardRound Of 64+0.004
#PlayerStatPP lineOur projEdge %SideTierOppSurfaceDemonPayout
1Anastasia GasanovaAces0.52.92+483.1%MORELOWNaomi Osakaclay1.0x
2McCartney Kessler⏳ RTRNBreak Points Won1.53.92+161.6%MORELOWAryna Sabalenkaclay1.0x
3Dino Prizmic🔥 HOTBreak Points Won1.53.77+151.3%MORELOWFelix Auger-Aliassimeclay1.0x
4Stefanos TsitsipasBreak Points Won1.53.29+119.1%MORELOWNovak Djokovicclay1.0x
5Tommy Paul🟨 WARMAces12.50.00+100.0%LESSELITESoonwoo Kwonclay0.5x
6Tommy Paul🟨 WARMDouble Faults3.00.00+100.0%LESSELITESoonwoo Kwonclay0.5x
7Marton FucsovicsDouble Faults6.50.00+100.0%LESSLOWLearner Tienclay1.0x
8Nicolas Mejia🟨 WARMDouble Faults3.50.00+100.0%LESSLOWMichael Zhengclay1.0x
9Michael Zheng⏳ RTRNDouble Faults2.50.00+100.0%LESSLOWNicolas Mejiaclay1.0x
10Daniil MedvedevAces10.50.00+100.0%LESSELITEDaniel Meridaclay0.5x
11Arthur RinderknechAces22.50.00+100.0%LESSELITEMartin Damm Jrclay0.5x
12Coco Gauff🟨 WARMDouble Faults3.50.00+100.0%LESSLOWSolana Sierraclay1.0x
13Solana Sierra🟨 WARMDouble Faults3.50.00+100.0%LESSLOWCoco Gauffclay1.0x
14Barbora Krejcikova⏳ RTRNDouble Faults5.50.00+100.0%LESSLOWMirra Andreevaclay0.5x
15Stefanos TsitsipasDouble Faults3.50.00+100.0%LESSLOWNovak Djokovicclay1.0x
16Antonia Ruzic🧊 COLDBreak Points Won2.54.38+75.4%MORELOWJelena Ostapenkoclay1.0x
17Jannik Sinner🟨 WARMAces14.55.91+59.2%LESSLOWNuno Borgesclay0.5x
18Felix Auger-Aliassime🟨 WARMAces14.56.26+56.8%LESSLOWDino Prizmicclay0.5x
19Jenson Brooksby🧊 COLDTotal Games Won20.59.00+56.1%LESSLOWIgnacio Buseclay0.5x
20Ethan QuinnAces14.56.41+55.8%LESSLOWShintaro Mochizukiclay0.5x
21Anastasia GasanovaTotal Games Won5.58.52+55.0%MORELOWNaomi Osakaclay0.5x
22Shintaro Mochizuki⏳ RTRNTotal Games Won18.58.95+51.6%LESSLOWEthan Quinnclay0.5x
23Michael Zheng⏳ RTRNAces12.56.10+51.2%LESSLOWNicolas Mejiaclay0.5x
24Botic Van de Zandschulp⏳ RTRNTotal Games Won20.510.14+50.5%LESSLOWRoman Safiullinclay0.5x
25Nikola BartunkovaBreak Points Won3.55.26+50.3%MORELOWKaterina Siniakovaclay1.0x
26Hubert Hurkacz🟨 WARMTotal Games Won22.010.99+50.0%LESSLOWSebastian Ofnerclay0.5x
27Jan-Lennard Struff🧊 COLDTotal Games Won18.59.40+49.2%LESSLOWBrandon Nakashimaclay1.0x
28Sebastian OfnerTotal Games Won19.510.01+48.7%LESSLOWHubert Hurkaczclay0.5x
29Novak Djokovic⏳ RTRNAces12.56.42+48.6%LESSLOWStefanos Tsitsipasclay0.5x
30Brandon NakashimaTotal Games Won21.511.11+48.3%LESSLOWJan-Lennard Struffclay1.0x
31Serena WilliamsAces5.52.85+48.2%LESSLOWMaya Jointclay0.5x
32Terence AtmaneTotal Games Won18.09.36+48.0%LESSLOWFrances Tiafoeclay0.5x
33Fabian MarozsanTotal Games Won19.09.90+47.9%LESSLOWAlejandro Davidovich Fokinaclay0.5x
34Marton FucsovicsTotal Games Won18.59.66+47.8%LESSLOWLearner Tienclay0.5x
35Learner Tien🧊 COLDTotal Games Won20.510.77+47.5%LESSLOWMarton Fucsovicsclay0.5x
36Roman Safiullin🟨 WARMTotal Games Won20.510.86+47.0%LESSLOWBotic Van de Zandschulpclay0.5x
37Felix Auger-Aliassime🟨 WARMTotal Games Won20.510.87+47.0%LESSLOWDino Prizmicclay0.5x
38Pablo Carreno Busta🟨 WARMTotal Games Won17.59.37+46.5%LESSLOWRafael Jodarclay0.5x
39Frances Tiafoe⏳ RTRNTotal Games Won21.511.64+45.9%LESSLOWTerence Atmaneclay0.5x
40Alejandro Davidovich FokinaTotal Games Won20.511.10+45.8%LESSLOWFabian Marozsanclay0.5x
41Michael Zheng⏳ RTRNTotal Games Won20.511.16+45.5%LESSLOWNicolas Mejiaclay0.5x
42Novak Djokovic⏳ RTRNTotal Games Won20.511.40+44.4%LESSLOWStefanos Tsitsipasclay0.5x
43Fabian MarozsanAces11.56.41+44.2%LESSLOWAlejandro Davidovich Fokinaclay0.5x
44Rafael Jodar🟨 WARMTotal Games Won20.511.63+43.2%LESSLOWPablo Carreno Bustaclay0.5x
45Hubert Hurkacz🟨 WARMBreak Points Won2.53.56+42.3%MORELOWSebastian Ofnerclay1.0x
46Pablo Carreno Busta🟨 WARMAces4.56.37+41.6%MORELOWRafael Jodarclay0.5x
47Ethan QuinnTotal Games Won20.512.05+41.2%LESSLOWShintaro Mochizukiclay0.5x
48Ignacio BuseTotal Games Won19.511.52+40.9%LESSLOWJenson Brooksbyclay0.5x
49Nicolas Mejia🟨 WARMTotal Games Won16.59.84+40.4%LESSLOWMichael Zhengclay2.0x
50Joao Fonseca🟨 WARMTotal Games Won19.511.65+40.3%LESSLOWJesper De Jongclay0.5x
51Jesper De JongTotal Games Won15.59.35+39.6%LESSLOWJoao Fonsecaclay0.5x
52Jenson Brooksby🧊 COLDTotal Games39.523.86+39.6%LESSLOWIgnacio Buseclay0.5x
53Aryna Sabalenka🟨 WARMAces4.52.72+39.6%LESSLOWMcCartney Kesslerclay0.5x
54Stefanos TsitsipasAces10.56.36+39.4%LESSLOWNovak Djokovicclay0.5x
55Rafael Jodar🟨 WARMAces10.56.40+39.1%LESSLOWPablo Carreno Bustaclay1.0x
56Hubert Hurkacz🟨 WARMTotal Games41.025.00+39.0%LESSLOWSebastian Ofnerclay2.0x
57Kamil Majchrzak⏳ RTRNTotal Games40.024.55+38.6%LESSLOWZachary Svajdaclay0.5x
58Stefanos TsitsipasTotal Games Won15.59.60+38.1%LESSLOWNovak Djokovicclay0.5x
59Roman Safiullin🟨 WARMTotal Games40.525.14+37.9%LESSLOWBotic Van de Zandschulpclay0.5x
60Frances Tiafoe⏳ RTRNTotal Games39.524.70+37.5%LESSLOWTerence Atmaneclay0.5x
61Brandon NakashimaTotal Games39.525.07+36.5%LESSLOWJan-Lennard Struffclay0.5x
62Mananchaya Sawangkaew🟨 WARMBreak Points Won3.54.75+35.8%MORELOWAlycia Parksclay1.0x
63Alejandro Davidovich FokinaTotal Games39.025.12+35.6%LESSLOWFabian Marozsanclay0.5x
64Dino Prizmic🔥 HOTTotal Games Won16.510.64+35.5%LESSLOWFelix Auger-Aliassimeclay0.5x
65Michael Zheng⏳ RTRNTotal Games36.524.03+34.2%LESSLOWNicolas Mejiaclay0.5x
66Frances Tiafoe⏳ RTRNAces9.56.31+33.5%LESSLOWTerence Atmaneclay1.0x
67Learner Tien🧊 COLDTotal Games37.524.93+33.5%LESSLOWMarton Fucsovicsclay0.5x
68Ethan QuinnTotal Games37.525.11+33.0%LESSLOWShintaro Mochizukiclay0.5x
69Michael Zheng⏳ RTRNBreak Points Won4.53.03+32.7%LESSLOWNicolas Mejiaclay1.0x
70Felix Auger-Aliassime🟨 WARMTotal Games36.524.63+32.5%LESSLOWDino Prizmicclay0.5x
71Jessica Pegula🟨 WARMTotal Games18.524.40+31.9%MORELOWSara Sorribes Tormoclay0.5x
72Maya Joint⏳ RTRNBreak Points Won4.05.26+31.6%MORELOWSerena Williamsclay1.0x
73Rafael Jodar🟨 WARMTotal Games36.525.05+31.4%LESSLOWPablo Carreno Bustaclay1.0x
74Novak Djokovic⏳ RTRNTotal Games36.525.16+31.1%LESSLOWStefanos Tsitsipasclay0.5x
75Nuno Borges🧊 COLDTotal Games Won11.57.98+30.6%LESSLOWJannik Sinnerclay0.5x
76Sofia KeninTotal Games Won7.59.72+29.6%MORELOWAmanda Anisimovaclay1.0x
77Felix Auger-Aliassime🟨 WARMTotal Sets3.52.48+29.1%LESSLOWDino Prizmicclay1.0x
78Novak Djokovic⏳ RTRNTotal Sets3.52.50+28.6%LESSLOWStefanos Tsitsipasclay1.0x
79Joao Fonseca🟨 WARMTotal Sets3.52.51+28.3%LESSLOWJesper De Jongclay1.0x
80Joao Fonseca🟨 WARMTotal Games34.525.34+26.5%LESSLOWJesper De Jongclay0.5x
81Coco Gauff🟨 WARMTotal Games19.524.49+25.6%MORELOWSolana Sierraclay0.5x
82Amanda Anisimova⏳ RTRNTotal Games19.524.43+25.3%MORELOWSofia Keninclay0.5x
83Learner Tien🧊 COLDBreak Points Won4.53.37+25.1%LESSLOWMarton Fucsovicsclay1.0x
84Marton FucsovicsAces8.56.39+24.8%LESSLOWLearner Tienclay0.5x
85Jannik Sinner🟨 WARMTotal Games30.523.07+24.4%LESSLOWNuno Borgesclay0.5x
86Katie Swan🧊 COLDTotal Games Won6.58.06+24.0%MORELOWMadison Keysclay1.0x
87Karolina Muchova⏳ RTRNTotal Games19.523.77+21.9%MORELOWShuai Zhangclay0.5x
88Barbora Krejcikova⏳ RTRNTotal Games Won11.58.98+21.9%LESSLOWMirra Andreevaclay0.5x
89Kamilla Rakhimova🧊 COLDTotal Games Won11.59.06+21.2%LESSLOWMaria Sakkariclay1.0x
90Diane Parry🧊 COLDTotal Games Won11.59.21+19.9%LESSLOWAnna Kalinskayaclay0.5x
91Jelena OstapenkoTotal Games20.023.94+19.7%MORELOWAntonia Ruzicclay1.0x
92Solana Sierra🟨 WARMTotal Games Won7.58.97+19.6%MORELOWCoco Gauffclay0.5x
93Ekaterina Alexandrova⏳ RTRNTotal Games20.524.52+19.6%MORELOWLanlana Tararudeeclay0.5x
94Learner Tien🧊 COLDAces7.56.05+19.4%LESSLOWMarton Fucsovicsclay1.0x
95Marie Bouzkova🟨 WARMTotal Games20.524.31+18.6%MORELOWTyra Caterina Grantclay0.5x
96Nicolas Mejia🟨 WARMAces7.56.14+18.1%LESSLOWMichael Zhengclay0.5x
97Jannik Sinner🟨 WARMBreak Points Won4.53.71+17.6%LESSLOWNuno Borgesclay1.0x
98Jelena OstapenkoTotal Games20.523.94+16.8%MORELOWAntonia Ruzicclay1.0x
99Alycia Parks🟨 WARMTotal Games Won12.510.46+16.3%LESSLOWMananchaya Sawangkaewclay0.5x
100Maya Joint⏳ RTRNTotal Games20.523.84+16.3%MORELOWSerena Williamsclay0.5x
101Aryna Sabalenka🟨 WARMTotal Games19.522.61+16.0%MORELOWMcCartney Kesslerclay0.5x
102McCartney Kessler⏳ RTRNTotal Games Won7.58.66+15.5%MORELOWAryna Sabalenkaclay0.5x
103Naomi Osaka🟨 WARMBreak Points Won4.55.14+14.3%MORELOWAnastasia Gasanovaclay1.0x
104Iga SwiatekTotal Games20.523.40+14.2%MORELOWKarolina Pliskovaclay0.5x
105Daria Kasatkina🟨 WARMTotal Games21.524.45+13.7%MORELOWJanice Tjenclay0.5x
106Anna KalinskayaTotal Games21.524.43+13.6%MORELOWDiane Parryclay0.5x
107Zeynep Sonmez🟨 WARMTotal Games21.524.38+13.4%MORELOWClaire Liuclay0.5x
108Claire Liu🟨 WARMTotal Games Won11.59.96+13.4%LESSLOWZeynep Sonmezclay0.5x
109Maria Sakkari🧊 COLDTotal Games21.524.35+13.2%MORELOWKamilla Rakhimovaclay0.5x
110Maria Sakkari🧊 COLDTotal Games Won12.510.89+12.9%LESSLOWKamilla Rakhimovaclay1.0x
111Shuai Zhang🧊 COLDTotal Games Won7.58.43+12.4%MORELOWKarolina Muchovaclay0.5x
112Daria Kasatkina🟨 WARMBreak Points Won4.55.05+12.3%MORELOWJanice Tjenclay1.0x
113Tatjana MariaTotal Games Won10.59.30+11.4%LESSLOWIva Jovicclay0.5x
114Lanlana Tararudee🟨 WARMTotal Games Won8.59.45+11.2%MORELOWEkaterina Alexandrovaclay0.5x
115Serena WilliamsBreak Points Won4.04.43+10.8%MORELOWMaya Jointclay1.0x
116Marie Bouzkova🟨 WARMTotal Games Won12.511.51+7.9%LESSLOWTyra Caterina Grantclay1.0x
117Alycia Parks🟨 WARMTotal Games22.524.25+7.8%MORELOWMananchaya Sawangkaewclay0.5x
118Ekaterina Alexandrova⏳ RTRNTotal Games Won12.511.55+7.6%LESSLOWLanlana Tararudeeclay1.0x
119Katerina Siniakova🟨 WARMTotal Games22.023.61+7.3%MORELOWNikola Bartunkovaclay0.5x
120Iva Jovic🟨 WARMTotal Games Won12.511.70+6.4%LESSLOWTatjana Mariaclay1.0x
121Antonia Ruzic🧊 COLDTotal Games Won9.59.00+5.2%LESSLOWJelena Ostapenkoclay0.5x
122Ignacio BuseBreak Points Won3.53.67+4.8%MORELOWJenson Brooksbyclay1.0x
123Dino Prizmic🔥 HOTAces7.06.68+4.6%LESSLOWFelix Auger-Aliassimeclay0.5x
124Mirra Andreeva🟨 WARMTotal Games Won12.512.02+3.9%LESSLOWBarbora Krejcikovaclay0.5x
125Shintaro Mochizuki⏳ RTRNAces6.56.36+2.1%LESSLOWEthan Quinnclay0.5x
126Roman Safiullin🟨 WARMBreak Points Won3.53.56+1.8%MORELOWBotic Van de Zandschulpclay1.0x
127Mirra Andreeva🟨 WARMTotal Games21.521.67+0.8%MORELOWBarbora Krejcikovaclay0.5x
128Alejandro Davidovich FokinaBreak Points Won3.53.49+0.2%LESSLOWFabian Marozsanclay1.0x
129Tyra Caterina Grant🟨 WARMTotal Games Won9.59.49+0.1%LESSLOWMarie Bouzkovaclay1.0x
Kalshi tennis — 0 picks · $0.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-06-30T13:11:48.849511+00:00
#MatchPickOur PAskEdgeTierSurfaceStakeStatusP&L
PrizePicks tennis — 0 picks · $0.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-06-30T13:11:48.789244+00:00
#PlayerStatLineOur projSideEdgeTierSurfaceStakeStatusP&L
Polymarket = retail/crypto sentiment. We can't bet there from CA, but the divergence vs Kalshi (sharp) reveals where the public is loading up. Generated 2026-06-30T10:42:58 Β· flagged threshold = Β±3.0pp Β· 5 flagged futures / 0 flagged matches.

Grand-slam futures Β· ANY 2026 Slam (Kalshi KXATPGRANDSLAM vs Polymarket per-slam aggregate)

Polymarket "any-slam" probability computed naively as 1 - product(1 - p_slam). Positive divergence = public (Polymarket) more bullish than sharp (Kalshi). Sorted by |divergence|.
PlayerSharp (Kalshi)Public (Poly)Ξ”Poly per-slam
Felix Auger-Aliassime Β· exact41.0%1.2%-39.8pp Β· SHARP HIGHERWim 1%
Alex de Minaur Β· exact18.5%1.7%-16.8pp Β· SHARP HIGHERWim 2%
Lorenzo Musetti Β· exact11.0%0.5%-10.5pp Β· SHARP HIGHERUS 1%
Jannik Sinner Β· exact67.5%74.8%+7.3pp Β· PUBLIC HIGHERWim 56%, US 42%
Ben Shelton Β· exact6.5%2.8%-3.7pp Β· SHARP HIGHERWim 0%, US 3%
Jack Draper Β· exact4.5%1.6%-2.9pp Β· SHARP HIGHERUS 2%
Taylor Fritz Β· exact7.5%10.0%+2.5pp Β· PUBLIC HIGHERWim 7%, US 4%
Alexander Bublik Β· exact3.5%1.2%-2.3pp Β· SHARP HIGHERWim 1%, US 1%
Daniil Medvedev Β· exact6.5%5.0%-1.5pp Β· SHARP HIGHERWim 2%, US 3%
Karen Khachanov Β· exact1.5%0.2%-1.3pp Β· SHARP HIGHERWim 0%
Novak Djokovic Β· exact18.0%17.7%-0.3pp Β· SHARP HIGHERWim 13%, US 5%
Frances Tiafoe Β· exact2.5%2.3%-0.2pp Β· SHARP HIGHERWim 2%, US 1%
Casper Ruud Β· no-match5.0%no Poly match

Per-match overlaps

No active per-match overlaps right now (Polymarket tennis volume concentrates in Grand Slam futures).
!
Calibration provisional. Only 18 graded picks; verdicts not actionable until 50+.
Per-stat-type MAE (n_graded=18)
Bar width = MAE (lower = better). "INSUFFICIENT" = need more graded picks.
Total Games
n=4
Ours
PP
Us 6.45
PP 3.25
INSUFFICIENT_N
Total Games Won
n=13
Ours
PP
Us 5.11
PP 4.96
NULL
Total Tie Breaks
n=1
Ours
PP
Us 0.25
PP 0.50
INSUFFICIENT_N
Per-tier MAE
Bar width = MAE (lower = better). "INSUFFICIENT" = need more graded picks.
ELITE
n=16
Ours
PP
Us 4.94
PP 3.75
NULL
MED
n=0
Ours
PP
Us —
PP —
INSUFFICIENT_N
STRONG
n=2
Ours
PP
Us 6.75
PP 9.00
INSUFFICIENT_N
[!]
No AAR available yet.
Expected: ~/.claude/projects/.../memory/aar_tennis_<date>.md
#PlayerStatOppOpenLatestDiffAbsDirection
1Serena WilliamsBreak Points WonMaya Joint3.04.0+1.001.00UP
2Maya JointTotal GamesSerena Williams21.520.5-1.001.00DOWN
3Dino PrizmicTotal Games WonFelix Auger-Aliassime15.516.5+1.001.00UP
4Alejandro Davidovich FokinaTotal Games WonFabian Marozsan21.520.5-1.001.00DOWN
5Nicolas MejiaTotal Games WonMichael Zheng17.516.5-1.001.00DOWN
6Alycia ParksTotal GamesMananchaya Sawangkaew21.522.5+1.001.00UP
7Joao FonsecaTotal GamesJesper De Jong35.534.5-1.001.00DOWN
8Joao FonsecaTotal Games WonJesper De Jong20.519.5-1.001.00DOWN
9Marie BouzkovaTotal GamesTyra Caterina Grant21.520.5-1.001.00DOWN
10Tyra Caterina GrantTotal Games WonMarie Bouzkova10.59.5-1.001.00DOWN
11Maya JointBreak Points WonSerena Williams3.54.0+0.500.50UP
12Jiri LeheckaFantasy ScoreAlexei Popyrin27.026.5-0.500.50DOWN
13Alejandro Davidovich FokinaTotal GamesFabian Marozsan39.539.0-0.500.50DOWN
14Fabian MarozsanTotal Games WonAlejandro Davidovich Fokina19.519.0-0.500.50DOWN
15Hubert HurkaczTotal GamesSebastian Ofner41.541.0-0.500.50DOWN
16Hubert HurkaczTotal Games WonSebastian Ofner22.522.0-0.500.50DOWN
17Kamil MajchrzakTotal GamesZachary Svajda40.540.0-0.500.50DOWN
ATP top 50
RkPlayerCountryPtsELO overallELO clayELO grassELO hard
1Jannik SinnerITA135002167187916952062
2Carlos AlcarazESP99602070186717171956
3Alexander ZverevGER73051994186515941863
4Felix Auger AliassimeCAN44401854164215171803
5Ben SheltonUSA39201816166515611765
6Alex De MinaurAUS39051851167715901806
7Novak DjokovicSRB37601929172916361846
8Daniil MedvedevRUS37601884165915851845
9Taylor FritzUSA37201793155117221749
10Flavio CobolliITA35401833175415571655
11Alexander BublikKAZ29301785168115691703
12Jiri LeheckaCZE25751814163215741754
13Andrey RublevRUS24601804170515161683
14Casper RuudNOR24251866180515021685
15Karen KhachanovRUS23201723162215671639
16Lorenzo MusettiITA23151832176416071723
17Jakub MensikCZE23001825166114971747
18Luciano DarderiITA23001772179014661466
19Learner TienUSA22701847162215061789
20Valentin VacherotMON21451800169514671738
21Arthur FilsFRA19401892174615461771
22Alejandro Davidovich FokinaESP18601749159315451703
23Rafael JodarESP1849189317551765
24Arthur RinderknechFRA17761713157615301631
25Joao FonsecaBRA17351837167314951795
26Frances TiafoeUSA17051775164014881719
27Francisco CerundoloARG16601790170014261698
28Tommy PaulUSA16451851175815871743
29Cameron NorrieGBR15951738163115291682
30Tomas Martin EtcheverryARG15101751165614561636
31Alejandro TabiloCHI14281798170515751637
32Brandon NakashimaUSA13851713158215901660
33Ugo HumbertFRA13701715149815171697
34Matteo ArnaldiITA13361719167614551558
35Ignacio BusePER13161773173214821562
36Corentin MoutetFRA12831673156715741640
37Alexander BlockxBEL12801820168815081713
38Alex MichelsenUSA12051727152215381702
39Mariano NavoneARG11651767172214601507
40Zizou BergsBEL11501681154715211631
41Tallon GriekspoorNED11501680157615641645
42Denis ShapovalovCAN11301668148314721698
43Tomas MachacCZE11201745160215001682
44Jaume MunarESP11051695158915081635
45Juan Manuel CerundoloARG10551756175314691532
46Adrian MannarinoFRA10311565136915841569
47Marin CilicCRO9941684151316111635
48Matteo BerrettiniITA9851749168915241694
49Miomir KecmanovicSRB9801688158415001595
50Nuno BorgesPOR9701656159614931596
WTA top 50
RkPlayerCountryPtsELO overallELO clayELO grassELO hard
1Aryna SabalenkaBLR90902089180115882045
2Elena RybakinaKAZ81432040176615801972
3Iga SwiatekPOL67331957180916581852
4Jessica PegulaUSA60561979170115831901
5Amanda AnisimovaUSA58481906158016381822
6Mirra AndreevaRUS57511995186715131797
7Coco GauffUSA48791980182415191871
8Elina SvitolinaUKR43151996182415501824
9Victoria MbokoCAN36701937172615151891
10Karolina MuchovaCZE34381927160214941869
11Belinda BencicSUI33851904163615611831
12Marta KostyukUKR31571959180114491755
13Linda NoskovaCZE30541869159915831763
14Jasmine PaoliniITA26171809170115851741
15Naomi OsakaJPN25711855168815141734
16Diana ShnaiderRUS25061841170115651686
17Ekaterina AlexandrovaRUS24491711155615841662
18Sorana CirsteaROU24151919171414291797
19Iva JovicUSA23661833166716011759
20Anna KalinskayaRUS22121834163115461721
21Maja ChwalinskaPOL19961860179514831693
22Elise MertensBEL19181811161915811714
23Leylah FernandezCAN18441760156915461679
24Clara TausonDEN18001719152715201679
25Emma NavarroUSA17791759165315901613
26Madison KeysUSA17721864173215581766
27Anastasia PotapovaRUS16401855174314841640
28Marie BouzkovaCZE16311787170214761648
29Ann LiUSA16011759164614781647
30Hailey BaptisteUSA15131790166714881667
31Xin Yu WangCHN14311719153715911616
32Katerina SiniakovaCZE14221771155915781693
33Alexandra EalaPHI14161837149516651748
34Cristina BucsaESP14061705144315141684
35Liudmila SamsonovaRUS14051680159316191566
36Jelena OstapenkoLAT14041762166015341621
37Maria SakkariGRE13281729158914861658
38Jaqueline CristianROU12941767163114321698
39Mccartney KesslerUSA12891751154715831688
40Janice TjenINA12671780163415031785
41Elisabetta CocciarettoITA12601800158615771689
42Emma RaducanuGBR12411727154815771658
43Magdalena FrechPOL12381655153014341613
44Laura SiegemundGER12301691155315411592
45Barbora KrejcikovaCZE12111743155016061647
46Sara BejlekCZE12051783173614861653
47Tereza ValentovaCZE11651829172715171788
48Marketa VondrousovaCZE11331728160615781609
49Dayana YastremskaUKR11261743164015751594
50Petra MarcinkoCRO11231771174314671633
Top Kalshi edges
#1 Marco Cecchinato ELITE_LOW_N
Marco Cecchinato vs Marcelo Tomas Barrios Vera on hard β€” model 45% vs market 15% (+30.0pp). ELITE_LOW_N, ask 15Β’.
#2 Andres Andrade ELITE_LOW_N
Andres Andrade vs Colton Smith on hard β€” model 49% vs market 20% (+29.4pp). ELITE_LOW_N, ask 20Β’. Form: Andres Andra=COLD | Colton Smith=WARM.
#3 Gonzalo Bueno STRONG_LOW_N
Gonzalo Bueno vs Jerome Kym on hard β€” model 45% vs market 16% (+29.0pp). STRONG_LOW_N, ask 16Β’.
#4 Adam Walton ELITE_LOW_N
Adam Walton vs Nick Kyrgios on hard β€” model 64% vs market 93% (+-28.5pp). ELITE_LOW_N, ask 93Β’.
#5 Florent Bax ELITE_LOW_N
Florent Bax vs Chris Rodesch on hard β€” model 45% vs market 17% (+28.0pp). ELITE_LOW_N, ask 17Β’.
Top PrizePicks edges
#1 Martin Landaluce ELITE_LOW_N
Martin Landaluce LESS 0.5 Total Tie Breaks vs Jan-Lennard Struff β€” proj 0.2 (+50.0% edge). Surface: clay.
#2 Rei Sakamoto ELITE_LOW_N
Rei Sakamoto LESS 0.5 Total Tie Breaks vs Anton Matusevich β€” proj 0.2 (+49.9% edge). Surface: clay.
#3 Jack Draper STRONG_LOW_N
Jack Draper LESS 0.5 Total Tie Breaks vs Brandon Nakashima β€” proj 0.2 (+49.9% edge). Surface: clay.
Fade signals
  • Clara Tauson (RETURNING): RETURNING form tag β€” fade or fade-against.
  • Gabriel Diallo (COLD): COLD form tag β€” fade or fade-against.
  • Raphael Collignon (RETURNING): RETURNING form tag β€” fade or fade-against.
  • Maya Joint (RETURNING): RETURNING form tag β€” fade or fade-against.
  • Antonia Ruzic (COLD): COLD form tag β€” fade or fade-against.
  • Francisco Comesana (COLD): COLD form tag β€” fade or fade-against.
  • Jan Lennard Struff (COLD): COLD form tag β€” fade or fade-against.
  • Alexei Popyrin (COLD): COLD form tag β€” fade or fade-against.
Surface leans
SurfaceMatches% strong favLean
hard50.0%pick'em slate
grass1543.9%pick'em slate
ATP (current surface: grass, top 50 by composite)
RkPlayerCountryCompositeELO overallELO grassFormOff. rank
1Jannik SinnerITA2051.621671695WARM1
2Carlos AlcarazESP1923.620701717RETURNING2
3Rafael JodarESP1913.018931893WARM23
4Alexander ZverevGER1898.319941594WARM3
5Daniil MedvedevRUS1808.018841585WARM8
6Arthur FilsFRA1791.018921546WARM21
7Novak DjokovicSRB1788.619291636RETURNING7
8Tommy PaulUSA1778.518511587WARM28
9Felix Auger AliassimeCAN1777.318541517WARM4
10Adolfo Daniel VallejoPAR1775.317551755WARM72
11Alex De MinaurAUS1775.018511590NEUTRAL6
12Daniel Merida AguilarESP1767.717481748WARM82
13Yibing WuCHN1766.817471747WARM101
14Ben SheltonUSA1764.818161561WARM5
15Flavio CobolliITA1759.518331557WARM10
16Casper RuudNOR1758.518661502WARM14
17Lorenzo MusettiITA1753.518321607NEUTRAL16
18Dino PrizmicCRO1753.218131499HOT70
19Jiri LeheckaCZE1750.118141574WARM12
20Alejandro TabiloCHI1739.817981575WARM31
21Joao FonsecaBRA1737.318371495WARM25
22Alexander BlockxBEL1730.518201508WARM37
23Jakub MensikCZE1730.118251497WARM17
24Toby SamuelGBR1728.817091709WARM150
25Learner TienUSA1727.218471506NEUTRAL19
26Taylor FritzUSA1724.017931722RETURNING9
27Stefanos SakellaridisGRE1711.716921692WARM155
28Alexander BublikKAZ1709.517851569NEUTRAL11
29Rei SakamotoJPN1706.316861686WARM149
30Valentin VacherotMON1703.418001467WARM20
31Andrey RublevRUS1703.118041516NEUTRAL13
32Zachary SvajdaUSA1696.917221650NEUTRAL62
33Michael MmohUSA1695.316751675WARM195
34Alex MolcanSVK1694.017441744RETURNING102
35Nikolas Sanchez IzquierdoESP1691.416411641HOT226
36Kilian FeldbauschSUI1688.916691669WARM287
37Pablo Carreno BustaESP1684.317611484WARM71
38Buvaysar GadamauriBEL1684.116641664WARM261
39Francisco CerundoloARG1682.917901426WARM27
40Jack DraperGBR1682.218061594RETURNING112
41Mariano NavoneARG1679.817671460WARM39
42Franco RoncadelliURU1679.016591659WARM227
43Alejandro Davidovich FokinaESP1677.317491545NEUTRAL22
44Roman Andres BurruchagaARG1676.817331514WARM63
45Juan Manuel CerundoloARG1675.717561469WARM45
46Hubert HurkaczPOL1675.617141547WARM96
47Ignacio BusePER1671.017731482NEUTRAL35
48Matteo BerrettiniITA1670.617491524NEUTRAL48
49Brandon NakashimaUSA1670.417131590NEUTRAL32
50Bu YunchaoketeCHN1668.717091536WARM131
WTA (current surface: grass, top 50 by composite)
RkPlayerCountryCompositeELO overallELO grassFormOff. rank
1Aryna SabalenkaBLR1963.920891588WARM1
2Elena RybakinaKAZ1925.920401580WARM2
3Alexandra ShubladzeRUS1898.618791879WARM184
4Jeline VandrommeBEL1883.018631863WARM176
5Jessica PegulaUSA1881.719791583WARM4
6Iga SwiatekPOL1876.419571658NEUTRAL3
7Elina SvitolinaUKR1869.319961550WARM8
8Lisa PigatoITA1866.518461846WARM132
9Mirra AndreevaRUS1861.019951513WARM6
10Coco GauffUSA1850.819801519WARM7
11Akasha UrhoboUSA1843.418231823WARM180
12Tyra Caterina GrantUSA1840.518201820WARM157
13Dayeon BackKOR1825.718061806WARM279
14Kaitlin QuevedoUSA1824.718251825NEUTRAL107
15Victoria MbokoCAN1815.119371515WARM9
16Laura SamsonCZE1810.318101810NEUTRAL137
17Alice TubelloFRA1810.117901790WARM222
18Belinda BencicSUI1804.319041561WARM11
19Carol Young Suh LeePOC1801.317811781WARM192
20Jennifer RuggeriITA1801.117811781WARM213
21Marta KostyukUKR1800.219591449WARM12
22Anastasia ZolotarevaRUS1798.017781778WARM233
23Kristina LiutovaRUS1796.517771777WARM229
24Luisina GiovanniniARG1793.418431843RETURNING173
25Angela Fita BoludaESP1793.217731773WARM195
26Eva Guerrero AlvarezESP1791.517721772WARM274
27Linda NoskovaCZE1788.918691583WARM13
28Hayu KinoshitaJPN1787.317671767WARM217
29Martyna KubkaPOL1784.617651765WARM243
30Darya AstakhovaRUS1782.717631763WARM236
31Amanda AnisimovaUSA1780.319061638RETURNING5
32Samira De StefanoITA1779.417591759WARM263
33Alexandra EalaPHI1776.518371665NEUTRAL33
34Caijsa Wilda HennemannSWE1773.617741774NEUTRAL276
35Lilli TaggerAUT1770.917711771NEUTRAL86
36Claire LiuUSA1770.017501750WARM148
37Sorana CirsteaROU1767.419191429WARM18
38Lanlana TararudeeTHA1766.518601536WARM94
39Daria SnigurUKR1765.818631528WARM84
40Veronika PodrezUKR1764.218141814RETURNING145
41Lucie HavlickovaCZE1758.117381738WARM212
42Sohyun ParkKOR1756.717371737WARM270
43Julie StruplovaCZE1755.717861786COLD272
44Tatiana ProzorovaRUS1755.618061806RETURNING172
45Elizara YanevaBUL1752.517521752NEUTRAL225
46Iva JovicUSA1751.918331601NEUTRAL19
47Oleksandra OliynykovaCRO1748.018591485WARM51
48Hanyu GuoCHN1747.717281728WARM156
49Anhelina KalininaUKR1746.918421513WARM69
50Rebeka MasarovaESP1746.218131623NEUTRAL140
ATP on CLAY (top 15 by surface tilt)
PlayerΞ” ELOELO clayELO overallFormOff. rank
Zdenek Kolar+27.916171589NEUTRAL162
Gustavo Heide+25.117251700RETURNING182
Jan Choinski+19.616881668COLD105
Juan Carlos Prado Angelo+19.316481628RETURNING161
Gonzalo Bueno+17.616371619RETURNING180
Luciano Darderi+17.217901772WARM18
Valentin Royer+16.516541638WARM74
Alex Barrena+13.915711557NEUTRAL197
Jesper De Jong+12.716721659NEUTRAL83
Hugo Dellien+11.216881677RETURNING165
Timofey Skatov+11.016311620NEUTRAL175
Tomas Barrios Vera+9.116861677COLD138
Lukas Neumayer+8.916931684WARM168
Marco Trungelliti+8.616841675NEUTRAL80
Facundo Diaz Acosta+4.717031698RETURNING128
WTA on CLAY (top 15 by surface tilt)
PlayerΞ” ELOELO clayELO overallFormOff. rank
Katarzyna Kawa+26.317301704HOT143
Despina Papamichail+7.516861679NEUTRAL168
Teodora Kostovic+4.717351730NEUTRAL182
Anna Bondar+4.517791775WARM75
Simona Waltert-2.917641767WARM90
Carole Monnet-3.116621665NEUTRAL191
Julia Grabher-4.817151720NEUTRAL116
Andrea Lazaro Garcia-7.617911799WARM153
Luisina Giovannini-10.718331843RETURNING173
Veronika Erjavec-12.417391752WARM89
Darja Semenistaja-13.517781792WARM102
Mayar Sherif-13.817071720RETURNING118
Whitney Osuigwe-13.816681682WARM183
Nuria Brancaccio-14.116581672COLD177
Tamara Zidansek-15.217611777RETURNING134
ATP on GRASS (top 15 by surface tilt)
PlayerΞ” ELOELO grassELO overallFormOff. rank
Shintaro Mochizuki+54.615651511RETURNING129
Nicolas Jarry+29.415641535RETURNING189
Billy Harris+25.615411515COLD144
Adrian Mannarino+19.415841565COLD46
Roberto Bautista Agut-25.015511576COLD116
Aleksandar Vukic-31.815371569COLD100
Otto Virtanen-49.016311680NEUTRAL158
Tristan Schoolkate-50.415501600WARM123
Alex Bolt-56.115921648WARM157
August Holmgren-56.715481605WARM148
Gabriel Diallo-63.215761639COLD54
Marcos Giron-71.315701641WARM88
Zachary Svajda-72.316501722NEUTRAL62
Marin Cilic-73.216111684NEUTRAL47
Ugo Blanchet-74.714591534COLD173
WTA on GRASS (top 15 by surface tilt)
PlayerΞ” ELOELO grassELO overallFormOff. rank
Tatjana Maria-18.015981616NEUTRAL52
Beatriz Haddad Maia-64.515141578COLD108
Viktoriya Tomova-107.015001607NEUTRAL167
Ajla Tomljanovic-111.215361647NEUTRAL109
Xin Yu Wang-127.115911719NEUTRAL31
Kamilla Rakhimova-128.215761705NEUTRAL78
Linda Fruhvirtova-133.915431677NEUTRAL164
Suzan Lamens-135.014891624COLD125
Lulu Sun-136.615191655NEUTRAL110
Victoria Jimenez Kasintseva-136.914991636NEUTRAL124
Rebecca Sramkova-137.315091646NEUTRAL120
Dalma Galfi-138.315761714NEUTRAL117
Ashlyn Krueger-149.215631712NEUTRAL113
Elena Gabriela Ruse-159.415701730NEUTRAL88
Bianca Andreescu-161.615391700NEUTRAL158
ATP on HARD (top 15 by surface tilt)
PlayerΞ” ELOELO hardELO overallFormOff. rank
Hugo Gaston+45.516661620WARM119
Luca Van Assche+35.717041668WARM98
Toby Samuel+29.517381709WARM150
Gauthier Onclin+6.016131607HOT186
Clement Chidekh+5.516291624NEUTRAL200
Rinky Hijikata+3.216831680WARM106
Alexis Galarneau+2.916131610WARM187
Coleman Wong-1.916411643WARM108
Benjamin Bonzi-3.016781680WARM99
Michael Mmoh-10.916641675WARM195
Borna Gojo-11.216981709WARM178
Ethan Quinn-13.216831696WARM67
Marcos Giron-13.616281641WARM88
Sho Shimabukuro-14.616431657NEUTRAL104
Terence Atmane-14.716271641NEUTRAL53
WTA on HARD (top 15 by surface tilt)
PlayerΞ” ELOELO hardELO overallFormOff. rank
Talia Gibson+53.518321779HOT63
Hanne Vandewinkel+51.218481796HOT97
Xiaodi You+1.417301729WARM170
Kimberly Birrell-6.317511757WARM74
Victoria Jimenez Kasintseva-6.916291636WARM124
Ye Xin Ma-9.416841693WARM189
Sofia Costoulas-11.217291740WARM150
Taylah Preston-15.517961811WARM126
Polina Iatcenko-17.517211738NEUTRAL163
Himeno Sakatsume-18.417421761NEUTRAL127
Vendula Valdmannova-18.617851804WARM199
Priscilla Hon-19.116461665NEUTRAL146
Harriet Dart-23.517401763WARM160
Francisca Jorge-27.216991727RETURNING196
Hanyu Guo-27.717001728WARM156
WTA on INDOOR (top 15 by surface tilt)
PlayerΞ” ELOELO indoorELO overallFormOff. rank
Linda Klimovicova-124.116161740NEUTRAL165
Kimberly Birrell-177.115801757NEUTRAL74
Ye Xin Ma-177.915151693WARM189
Carole Monnet-194.214711665NEUTRAL191
Elvina Kalieva-209.715211731WARM135
Himeno Sakatsume-218.015431761NEUTRAL127
Emerson Jones-222.015841806WARM133
Dalma Galfi-228.314861714NEUTRAL117
Marina Bassols Ribera-229.215031732WARM144
Tamara Korpatsch-240.115341774WARM79
Mona Barthel-254.215001754WARM193
Polina Iatcenko-254.514841738NEUTRAL163
Sofia Costoulas-256.114841740WARM150
Vendula Valdmannova-269.715341804WARM199
Daria Snigur-273.915891863WARM84
⚠ Caveat: Model CLV anti-correlated with skill (Phase A finding); treat parlays as paper.
Kalshi cross-match (independent fav parlays)
LabelVarianceLegsJoint PPayoutEV/$
2-leg fav cross-tournament: Alex Michelsen + Daria KasatkinLOWAlex Michelsen + Daria Kasatkina0.4223.25x0.371
Kalshi same-match (correlated)
No combos surfaced.
PrizePicks slips
LabelVarianceLegsJoint PPayoutEV/$
2-pick MED-varianceMEDRafael Jodar LESS 38.5 Total Games, Kyrian Jacquet LESS 38.5 Total Games0.4555.00x1.275
2-pick HIGH-varianceHIGHAnhelina Kalinina MORE 4.0 Break Points Won, Clara Tauson MORE 3.5 Break Points Won0.45610.00x3.555
3-pick MED-varianceMEDRafael Jodar LESS 38.5 Total Games, Kyrian Jacquet LESS 38.5 Total Games, Ethan Quinn LESS 38.5 Total Games0.30710.00x2.066
3-pick HIGH-varianceHIGHAnhelina Kalinina MORE 4.0 Break Points Won, Clara Tauson MORE 3.5 Break Points Won, Marie Bouzkova MORE 4.0 Break Points Won0.30525.00x6.631
4-pick MED-varianceMEDRafael Jodar LESS 38.5 Total Games, Kyrian Jacquet LESS 38.5 Total Games, Ethan Quinn LESS 38.5 Total Games, Alexander Blockx LESS 14.5 Total Games Won0.20618.00x2.716
4-pick HIGH-varianceHIGHAnhelina Kalinina MORE 4.0 Break Points Won, Clara Tauson MORE 3.5 Break Points Won, Marie Bouzkova MORE 4.0 Break Points Won, Diana Shnaider MORE 4.0 Break Points Won0.20150.00x9.027
⚠ Inverted CLV signal: win rate at POSITIVE CLV (0.429) < win rate at NEGATIVE CLV (0.6562). When we beat the close, we LOSE; when we lose the close, we WIN. Model is anti-correlated with skill. Real money gated.
CLV vs Pinnacle close (overall)
n picks total1802
matched Pinnacle370 (20.5%)
mean CLV (pp)16.16
median CLV (pp)15.824
win rate at +CLV0.429
win rate at -CLV0.6562
CLV by market price bucket (FLB signal)
BucketnMean CLV (pp)
<10%3032.535
10-30%14621.473
30-50%12911.786
50-70%496.21
70-90%83.478
>90%81.915
Calibration buckets
n_total1321
ECE (pp)4.355
Brier Score0.2417
Log Loss0.6762
Predicted vs actual (10pp buckets)
BucketnPredictedActualGap (pp)
0.2-0.30200.28320.35+6.68
0.3-0.401540.35850.2792-7.93
0.4-0.505210.45130.4319-1.95
0.5-0.604870.54480.4949-4.99
0.6-0.701240.64050.5806-5.98
0.7-0.80140.71790.8571+13.93
0.8-0.9010.82321.0+17.68
SourceDB / fileLast pulledAgeRowsStatus
Kalshi KXATPMATCHtennis_kalshi.sqlite2026-06-30T17:39:47.939994+00:003m1938fresh
Kalshi KXWTAMATCHtennis_kalshi.sqlite2026-06-30T17:39:47.939994+00:003m1940fresh
Kalshi KXFRENCHOPENtennis_kalshi.sqlite2026-06-30T17:39:47.939994+00:003m0fresh
Kalshi KXFOPENMENSINGLEtennis_kalshi.sqlite2026-06-30T17:39:47.939994+00:003m0fresh
Kalshi KXATPGRANDSLAMtennis_kalshi.sqlite2026-06-30T17:39:47.939994+00:003m14fresh
Kalshi KXUSOPENtennis_kalshi.sqlite2026-06-30T17:39:47.939994+00:003m0fresh
Kalshi KXATPSETWINNERtennis_kalshi.sqlite2026-06-30T17:39:47.939994+00:003m4318fresh
Kalshi KXATPTOTALSETStennis_kalshi.sqlite2026-06-30T17:39:47.939994+00:003m0fresh
Kalshi KXATPSETSWEEPtennis_kalshi.sqlite2026-06-30T17:39:47.939994+00:003m2fresh
Kalshi KXATPGAMESPREADtennis_kalshi.sqlite2026-06-30T17:39:47.939994+00:003m0fresh
Kalshi KXATPEXACTMATCHtennis_kalshi.sqlite2026-06-30T17:39:47.939994+00:003m3892fresh
Kalshi KXWTADOUBLEStennis_kalshi.sqlite2026-06-30T17:39:47.939994+00:003m198fresh
Kalshi KXATP1RANKtennis_kalshi.sqlite2026-06-30T17:39:47.939994+00:003m16fresh
elo last computedtennis.sqlite2026-06-21T17:36:52+00:00216.10h20430stale
rankings last pulledtennis.sqlite2026-06-15T17:40:18+00:00360.05h11348stale
rankings atp latest datetennis.sqlite2026-06-08545.72h&mdash;stale
rankings wta latest datetennis.sqlite2026-06-08545.72h&mdash;stale
mirror atp scheduletennis.sqlite2026-06-30T17:41:51.311657+00:001m156fresh
h2h last computedtennis.sqlite2026-05-17T10:11:57.514615+00:001063.52h&mdash;stale
h2h n pairstennis.sqlite190184missing&mdash;missing
last player db runtennis.sqlite1782841333missing&mdash;missing
results last_runtennis_results.sqlite[2026-06-30T17:41:53.680777+00:00] 2026-06-30T17:41:51.661770+00:00; dates=['20260629']; rows=650; resolved=634missing&mdash;missing
pp_edges CSVpp_edges_tennis_2026-06-30.csv2026-06-30T17:42:29.189924+00:000m&mdash;fresh
kalshi edges JSONtennis_kalshi_edges_2026-06-30.json2026-06-30T17:42:23.839069+00:000m&mdash;fresh
paper trades PPpaper_trades_pp_tennis_2026-06-30.json2026-06-30T17:42:40.731298+00:000m&mdash;fresh
paper trades Kalshipaper_trades_kalshi_tennis_2026-06-30.json2026-06-30T17:42:41.216285+00:000m&mdash;fresh
daily payloaddaily_tennis_2026-06-30.json2026-06-30T17:42:44.919210+00:000m&mdash;fresh
PP movementpp_line_movement_tennis_2026-06-30.csv2026-06-30T17:42:44.368972+00:000m&mdash;fresh
PP calibrationpp_calibration_tennis.json2026-06-30T17:42:44.246393+00:000m&mdash;fresh