T
Tennis EdgeBoard
ATP + WTA daily edges - Kalshi + PrizePicks - auto-refresh 2m
Generated
2026-07-06 17:40 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 · 1918rKalshi KXWTAMATCH 3m · 1948rKalshi KXFRENCHOPEN 3mKalshi KXFOPENMENSINGLE 3mKalshi KXATPGRANDSLAM 3m · 14rKalshi KXUSOPEN 3mKalshi KXATPSETWINNER 3m · 4410rKalshi KXATPTOTALSETS 3mKalshi KXATPSETSWEEP 3m · 2rKalshi KXATPGAMESPREAD 3mKalshi KXATPEXACTMATCH 3m · 4096rKalshi KXWTADOUBLES 3m · 258rKalshi KXATP1RANK 3m · 16relo last computed 15d · 20430rrankings last pulled 21d · 11348rrankings atp latest date 28drankings wta latest date 28dmirror atp schedule 1m · 77rh2h last computed 50dh2h 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
9
scheduled
ELITE edges
0
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:40
2026-07-06 UTC
🏆 Best Bet (main-draw)
No main-draw Kalshi pick survived qualifying filter today.
🎯 Safest (P ≥ 65%)
No main-draw favorite at ≥65% model probability today.
💎 Biggest Payout (ELITE)
No ELITE main-draw longshot today.
#MatchTournamentRoundSurfaceStartELO AELO BELO diffKalshi event
1Grigor Dimitrov vs Arthur FeryWimbledonRound 4grassJul 06 15:2015691521+49KXATPSETWINNER-26JUL06DIMFER-3
2Grigor Dimitrov vs Arthur FeryWimbledonRound 4grassJul 06 15:2015691521+49KXATPSETWINNER-26JUL06DIMFER-3
3Taylor Fritz vs Alexander BublikWimbledonRound 4grassJul 06 17:1017221569+153KXATPSETWINNER-26JUL06FRIBUB-1
4Taylor Fritz vs Alexander BublikWimbledonRound 4grassJul 06 17:1017221569+153KXATPSETWINNER-26JUL06FRIBUB-1
5Jiri Lehecka vs Alexander ZverevWimbledonRound 4grassJul 06 18:0015741594-21KXATPSETWINNER-26JUL06LEHZVE-3
6Jiri Lehecka vs Alexander ZverevWimbledonRound 4grassJul 06 18:0015741594-21KXATPSETWINNER-26JUL06LEHZVE-3
7Sayaka Ishii vs Kayla CrossCerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret FundRound 1grassJul 06 19:0015011412+88
8Olivia Lincer vs Tatjana MariaCerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret FundRound 1grassJul 06 19:0014831598-116
9Kylie Collins vs Alana SmithCerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret FundRound 1grassJul 06 20:3015781490+88
#MatchOur pickOur PMkt PAskEdgeTierDecisionVol 24hSurfaceRoundEV/$
1Grigor Dimitrov vs Arthur FeryArthur Fery51.1%10.0%10¢+41.1ppLOWPAPER1738908hardRound Of 16+0.411
2Taylor Fritz vs Alexander BublikAlexander Bublik50.3%33.0%33¢+17.3ppLOWPAPER614545hardRound Of 16+0.173
3Jannik Sinner vs Jan-Lennard StruffJan-Lennard Struff16.7%6.0%+10.7ppLOWPAPER96311hardQuarterfinal+0.107
4Marta Kostyuk vs Jasmine PaoliniJasmine Paolini46.1%37.0%37¢+9.1ppLOWPAPER422grassQuarterfinal+0.091
5Alexander Zverev vs Jiri LeheckaJiri Lehecka35.6%27.0%27¢+8.6ppLOWPAPER77255hardRound Of 16+0.086
6Novak Djokovic vs Felix Auger-AliassimeFelix Auger-Aliassime44.2%39.0%39¢+5.2ppLOWPAPER30354hardQuarterfinal+0.052
7Elise Mertens vs Linda NoskovaElise Mertens43.9%41.0%41¢+2.9ppLOWPAPER7grassQuarterfinal+0.029
8Coco Gauff vs Jessica PegulaCoco Gauff44.7%42.0%42¢+2.7ppLOWPAPER9256grassQuarterfinal+0.027
9Karolina Muchova vs Naomi OsakaKarolina Muchova48.6%47.0%47¢+1.6ppLOWSKIP26733grassQuarterfinal+0.016
#PlayerStatPP lineOur projEdge %SideTierOppSurfaceDemonPayout
1Novak Djokovic⏳ RTRNDouble Faults2.50.00+100.0%LESSLOWFelix Auger-Aliassimeclay0.5x
2Karolina Muchova⏳ RTRNBreak Points Won2.54.65+85.9%MORELOWNaomi Osakaclay1.0x
3Felix Auger-Aliassime🟨 WARMAces21.56.39+70.3%LESSLOWNovak Djokovicclay0.5x
4Jannik Sinner🟨 WARMAces17.55.70+67.5%LESSLOWJan-Lennard Struffclay0.5x
5Felix Auger-Aliassime🟨 WARMTotal Games Won19.59.90+49.2%LESSLOWNovak Djokovicclay0.5x
6Jan-Lennard Struff🧊 COLDAces10.55.39+48.7%LESSLOWJannik Sinnerclay0.5x
7Novak Djokovic⏳ RTRNTotal Games Won21.511.10+48.4%LESSLOWFelix Auger-Aliassimeclay0.5x
8Naomi Osaka🟨 WARMAces5.52.90+47.2%LESSLOWKarolina Muchovaclay0.5x
9Carolyn AnsariTotal Games Won6.59.05+39.2%MORELOWDarja Vidmanovaclay1.0x
10Novak Djokovic⏳ RTRNAces10.56.39+39.1%LESSLOWFelix Auger-Aliassimeclay0.5x
11Novak Djokovic⏳ RTRNTotal Games40.525.02+38.2%LESSLOWFelix Auger-Aliassimeclay0.5x
12Jan-Lennard Struff🧊 COLDTotal Games Won11.57.26+36.9%LESSLOWJannik Sinnerclay0.5x
13Katie VolynetsTotal Games17.523.93+36.8%MORELOWAriana Arseneaultclay0.5x
14Coco Gauff🟨 WARMAces4.52.87+36.1%LESSLOWJessica Pegulaclay0.5x
15Karolina Muchova⏳ RTRNAces4.52.91+35.3%LESSLOWNaomi Osakaclay0.5x
16Mei Yamaguchi🧊 COLDTotal Games Won6.58.65+33.1%MORELOWGreet Minnenclay1.0x
17Mary Stoiana🟨 WARMTotal Games18.524.32+31.5%MORELOWKatrina Scottclay1.0x
18Greet Minnen🧊 COLDTotal Games18.524.32+31.4%MORELOWMei Yamaguchiclay1.0x
19Yufei Ren🟨 WARMTotal Games Won7.59.70+29.3%MORELOWAlice Tubelloclay1.0x
20Jessica Pegula🟨 WARMBreak Points Won3.54.47+27.7%MORELOWCoco Gauffclay1.0x
21Jannik Sinner🟨 WARMTotal Games30.522.22+27.1%LESSLOWJan-Lennard Struffclay0.5x
22Linea Bajraliu⏳ RTRNTotal Games Won7.59.48+26.4%MORELOWTamara Korpatschclay1.0x
23Katrina Scott🧊 COLDTotal Games Won7.59.42+25.6%MORELOWMary Stoianaclay1.0x
24Lucrezia Stefanini🧊 COLDTotal Games19.524.26+24.4%MORELOWCarol Zhaoclay1.0x
25Darja Vidmanova🧊 COLDTotal Games18.522.79+23.2%MORELOWCarolyn Ansariclay1.0x
26Francesca JonesTotal Games19.524.01+23.1%MORELOWAlice Rameclay1.0x
27Jasmine Paolini🧊 COLDTotal Games Won11.59.01+21.7%LESSLOWMarta Kostyukclay0.5x
28Alice Rame🟨 WARMTotal Games Won7.59.08+21.1%MORELOWFrancesca Jonesclay1.0x
29Dalma GalfiTotal Games20.524.49+19.4%MORELOWKajsa Rinaldo Perssonclay1.0x
30Mananchaya Sawangkaew🟨 WARMTotal Games20.524.34+18.7%MORELOWCaroline Dolehideclay1.0x
31Karolina Muchova⏳ RTRNTotal Games Won12.510.20+18.4%LESSLOWNaomi Osakaclay0.5x
32Jessica Pegula🟨 WARMTotal Games Won12.510.21+18.4%LESSLOWCoco Gauffclay0.5x
33Cadence BraceTotal Games20.524.24+18.2%MORELOWKatherine Sebovclay1.0x
34Jannik Sinner🟨 WARMBreak Points Won4.53.71+17.5%LESSLOWJan-Lennard Struffclay1.0x
35Elsa Jacquemot🧊 COLDTotal Games20.523.92+16.7%MORELOWAurora Zantedeschiclay1.0x
36Reese Brantmeier⏳ RTRNTotal Games20.523.83+16.3%MORELOWSachia Vickeryclay1.0x
37Alice Tubello🟨 WARMTotal Games19.522.66+16.2%MORELOWYufei Renclay0.5x
38Lea MaTotal Games Won11.59.70+15.7%LESSLOWClervie Ngounoueclay0.5x
39Iryna ShymanovichTotal Games20.523.58+15.1%MORELOWHayu Kinoshitaclay1.0x
40Hayu Kinoshita🟨 WARMTotal Games Won11.59.80+14.8%LESSLOWIryna Shymanovichclay1.0x
41Jessica Pegula🟨 WARMAces2.52.86+14.4%MORELOWCoco Gauffclay0.5x
42Elizabeth MandlikTotal Games20.523.36+13.9%MORELOWMomoko Koboriclay1.0x
43Naomi Osaka🟨 WARMTotal Games Won12.510.80+13.6%LESSLOWKarolina Muchovaclay0.5x
44Clervie Ngounoue⏳ RTRNTotal Games21.524.36+13.3%MORELOWLea Maclay0.5x
45Momoko Kobori⏳ RTRNTotal Games Won10.59.13+13.0%LESSLOWElizabeth Mandlikclay1.0x
46Varvara LepchenkoTotal Games21.524.29+13.0%MORELOWLisa Zaarclay1.0x
47Alana Smith🧊 COLDTotal Games21.524.27+12.9%MORELOWKylie Collinsclay1.0x
48Marta Kostyuk🟨 WARMTotal Games21.523.99+11.6%MORELOWJasmine Paoliniclay0.5x
49Claire Liu🟨 WARMTotal Games21.523.87+11.0%MORELOWSinja Krausclay0.5x
50Petra MarcinkoTotal Games20.522.63+10.4%MORELOWClara Burelclay0.5x
51Lola Radivojevic🧊 COLDTotal Games21.523.64+10.0%MORELOWMona Barthelclay1.0x
52Clara Burel🧊 COLDTotal Games Won9.58.63+9.1%LESSLOWPetra Marcinkoclay1.0x
53Angela Fita Boluda🟨 WARMTotal Games Won10.59.59+8.6%LESSLOWLisa Pigatoclay1.0x
54Kajsa Rinaldo Persson⏳ RTRNTotal Games Won10.59.65+8.1%LESSLOWDalma Galficlay1.0x
55Marta Kostyuk🟨 WARMTotal Games Won12.511.52+7.8%LESSLOWJasmine Paoliniclay0.5x
56Mona Barthel🧊 COLDTotal Games Won10.59.78+6.9%LESSLOWLola Radivojevicclay1.0x
57Jessica Pegula🟨 WARMTotal Games22.523.85+6.0%MORELOWCoco Gauffclay0.5x
58Naomi Osaka🟨 WARMTotal Games23.024.16+5.0%MORELOWKarolina Muchovaclay0.5x
59Aurora ZantedeschiTotal Games Won9.59.16+3.6%LESSLOWElsa Jacquemotclay1.0x
60Caroline Dolehide⏳ RTRNTotal Games Won10.510.65+1.5%MORELOWMananchaya Sawangkaewclay1.0x
61Sachia Vickery⏳ RTRNTotal Games Won9.59.49+0.1%LESSLOWReese Brantmeierclay1.0x
Kalshi tennis — 0 picks · $0.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-07-06T13:14:42.488350+00:00
#MatchPickOur PAskEdgeTierSurfaceStakeStatusP&L
PrizePicks tennis — 0 picks · $0.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-07-06T13:14:42.427862+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-07-06T10:40:15 Β· flagged threshold = Β±3.0pp Β· 7 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 Β· exact24.5%2.7%-21.8pp Β· SHARP HIGHERWim 3%
Alex de Minaur Β· exact19.0%0.0%-19.0pp Β· SHARP HIGHERWim 0%
Lorenzo Musetti Β· exact12.5%1.0%-11.5pp Β· SHARP HIGHERUS 1%
Jannik Sinner Β· exact67.5%77.7%+10.2pp Β· PUBLIC HIGHERWim 60%, US 44%
Novak Djokovic Β· exact23.0%18.4%-4.6pp Β· SHARP HIGHERWim 13%, US 6%
Daniil Medvedev Β· exact6.5%2.5%-4.0pp Β· SHARP HIGHERUS 2%
Jack Draper Β· exact4.5%1.0%-3.5pp Β· SHARP HIGHERUS 1%
Taylor Fritz Β· exact7.0%9.0%+2.0pp Β· PUBLIC HIGHERWim 7%, US 3%
Frances Tiafoe Β· exact2.5%0.9%-1.6pp Β· SHARP HIGHERUS 1%
Ben Shelton Β· exact3.0%2.2%-0.8pp Β· SHARP HIGHERUS 2%
Alexander Bublik Β· exact3.5%3.2%-0.3pp Β· SHARP HIGHERWim 2%, US 2%
Karen Khachanov Β· no-match1.0%no Poly match
Casper Ruud Β· no-match4.5%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
1Tamara KorpatschTotal GamesLinea Bajraliu19.518.5-1.001.00DOWN
2Aurora ZantedeschiTotal Games WonElsa Jacquemot10.59.5-1.001.00DOWN
3Lola RadivojevicTotal GamesMona Barthel20.521.5+1.001.00UP
4Mona BarthelTotal Games WonLola Radivojevic9.510.5+1.001.00UP
5Angela Fita BoludaTotal Games WonLisa Pigato9.510.5+1.001.00UP
6Kajsa Rinaldo PerssonTotal Games WonDalma Galfi9.510.5+1.001.00UP
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)
No combos surfaced.
Kalshi same-match (correlated)
No combos surfaced.
PrizePicks slips
LabelVarianceLegsJoint PPayoutEV/$
2-pick MED-varianceMEDAlex de Minaur LESS 37.5 Total Games, Noma Noha Akugue MORE 18.5 Total Games0.4425.00x1.211
2-pick HIGH-varianceHIGHFlavio Cobolli LESS 9.5 Aces, Taylor Fritz MORE 2.5 Break Points Won0.42010.00x3.201
3-pick MED-varianceMEDAlex de Minaur LESS 37.5 Total Games, Noma Noha Akugue MORE 18.5 Total Games, Marina Bassols Ribera MORE 7.5 Total Games Won0.29010.00x1.905
3-pick HIGH-varianceHIGHFlavio Cobolli LESS 9.5 Aces, Taylor Fritz MORE 2.5 Break Points Won, Alex de Minaur MORE 5.5 Aces0.24325.00x5.074
4-pick MED-varianceMEDAlex de Minaur LESS 37.5 Total Games, Noma Noha Akugue MORE 18.5 Total Games, Marina Bassols Ribera MORE 7.5 Total Games Won, Jannik Sinner LESS 30.5 Total Games0.18518.00x2.325
4-pick HIGH-varianceHIGHFlavio Cobolli LESS 9.5 Aces, Taylor Fritz MORE 2.5 Break Points Won, Alex de Minaur MORE 5.5 Aces, Alexandra Eala MORE 2.5 Aces0.13450.00x5.699
⚠ 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-07-06T17:36:37.356093+00:003m1918fresh
Kalshi KXWTAMATCHtennis_kalshi.sqlite2026-07-06T17:36:37.356093+00:003m1948fresh
Kalshi KXFRENCHOPENtennis_kalshi.sqlite2026-07-06T17:36:37.356093+00:003m0fresh
Kalshi KXFOPENMENSINGLEtennis_kalshi.sqlite2026-07-06T17:36:37.356093+00:003m0fresh
Kalshi KXATPGRANDSLAMtennis_kalshi.sqlite2026-07-06T17:36:37.356093+00:003m14fresh
Kalshi KXUSOPENtennis_kalshi.sqlite2026-07-06T17:36:37.356093+00:003m0fresh
Kalshi KXATPSETWINNERtennis_kalshi.sqlite2026-07-06T17:36:37.356093+00:003m4410fresh
Kalshi KXATPTOTALSETStennis_kalshi.sqlite2026-07-06T17:36:37.356093+00:003m0fresh
Kalshi KXATPSETSWEEPtennis_kalshi.sqlite2026-07-06T17:36:37.356093+00:003m2fresh
Kalshi KXATPGAMESPREADtennis_kalshi.sqlite2026-07-06T17:36:37.356093+00:003m0fresh
Kalshi KXATPEXACTMATCHtennis_kalshi.sqlite2026-07-06T17:36:37.356093+00:003m4096fresh
Kalshi KXWTADOUBLEStennis_kalshi.sqlite2026-07-06T17:36:37.356093+00:003m258fresh
Kalshi KXATP1RANKtennis_kalshi.sqlite2026-07-06T17:36:37.356093+00:003m16fresh
elo last computedtennis.sqlite2026-06-21T17:36:52+00:00360.06h20430stale
rankings last pulledtennis.sqlite2026-06-15T17:40:18+00:00504.00h11348stale
rankings atp latest datetennis.sqlite2026-06-08689.67h&mdash;stale
rankings wta latest datetennis.sqlite2026-06-08689.67h&mdash;stale
mirror atp scheduletennis.sqlite2026-07-06T17:38:41.373556+00:001m77fresh
h2h last computedtennis.sqlite2026-05-17T10:11:57.514615+00:001207.47h&mdash;stale
h2h n pairstennis.sqlite190184missing&mdash;missing
last player db runtennis.sqlite1783359584missing&mdash;missing
results last_runtennis_results.sqlite[2026-07-06T17:38:44.467757+00:00] 2026-07-06T17:38:42.051074+00:00; dates=['20260705']; rows=929; resolved=913missing&mdash;missing
pp_edges CSVpp_edges_tennis_2026-07-06.csv2026-07-06T17:39:49.864817+00:000m&mdash;fresh
kalshi edges JSONtennis_kalshi_edges_2026-07-06.json2026-07-06T17:39:46.506058+00:000m&mdash;fresh
paper trades PPpaper_trades_pp_tennis_2026-07-06.json2026-07-06T17:40:02.100788+00:000m&mdash;fresh
paper trades Kalshipaper_trades_kalshi_tennis_2026-07-06.json2026-07-06T17:40:02.657222+00:000m&mdash;fresh
daily payloaddaily_tennis_2026-07-06.json2026-07-06T17:40:05.342485+00:000m&mdash;fresh
PP movementpp_line_movement_tennis_2026-07-06.csv2026-07-06T17:40:04.649855+00:000m&mdash;fresh
PP calibrationpp_calibration_tennis.json2026-07-06T17:40:04.521425+00:000m&mdash;fresh