T
Tennis EdgeBoard
ATP + WTA daily edges - Kalshi + PrizePicks - auto-refresh 2m
Generated
2026-08-07 17:42 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 4m · 2000rKalshi KXWTAMATCH 4m · 2032rKalshi KXFRENCHOPEN 4mKalshi KXFOPENMENSINGLE 4mKalshi KXATPGRANDSLAM 4m · 14rKalshi KXUSOPEN 4mKalshi KXATPSETWINNER 4m · 4590rKalshi KXATPTOTALSETS 4mKalshi KXATPSETSWEEP 4m · 2rKalshi KXATPGAMESPREAD 4mKalshi KXATPEXACTMATCH 4m · 4496rKalshi KXWTADOUBLES 4m · 324rKalshi KXATP1RANK 4m · 16relo last computed 47d · 20430rrankings last pulled 53d · 11348rrankings atp latest date 60drankings wta latest date 60dmirror atp schedule 1mh2h last computed 82dh2h n pairs missinglast player db run missingresults last_run missingpp_edges CSV 1mkalshi edges JSON 1mpaper trades PP 0mpaper trades Kalshi 0mdaily payload 0mPP movement 0mPP calibration 0m
Matches today
0
scheduled
ELITE edges
1
across Kalshi + PP
STRONG edges
1
tier 2
MED edges
2
tier 3
Paper locks
1
Kalshi + PP
Real Money YTD
-$10.00
paper-gate restored
Qualifying skipped
0
filtered out today
Last refresh
17:42
2026-08-07 UTC
🏆 Best Bet (main-draw)
Luciano Darderi
Luciano Darderi vs Nuno Borges · Round Of 16 hard · ELITE
+9.0pp
Our P 49% · Mkt P 40%
Ask 40¢
Vol24 165
🎯 Safest (P ≥ 65%)
Iga Swiatek
Iga Swiatek vs Marta Kostyuk · Round Of 16 hard · LOW
68%
Heavy main-draw favorite · PAPER
Edge +9.7pp
Ask 58¢
💎 Biggest Payout (ELITE)
Luciano Darderi
Luciano Darderi vs Nuno Borges · Round Of 16 hard · ELITE
2.5x
Longest-priced ELITE main-draw · Our P 49%
Ask 40¢
Edge +9.0pp
[ ]
No matches loaded.
Run python mirror_atp_schedule.py to refresh.
#MatchOur pickOur PMkt PAskEdgeTierDecisionVol 24hSurfaceRoundEV/$
1Matteo Arnaldi vs Tallon GriekspoorTallon Griekspoor🔥 HOT56.0%26.0%26¢+30.0ppLOWPAPER969449hardRound Of 32+0.300
2Elena Rybakina vs Ann LiAnn Li🧊 COLD28.3%9.0%+19.3ppLOWPAPER828481hardRound Of 32+0.193
3Maya Joint vs Liudmila SamsonovaMaya Joint⏳ RTRN48.2%29.0%29¢+19.2ppLOWPAPER45268hardRound Of 32+0.192
4Ben Shelton vs Zizou BergsZizou Bergs43.6%27.0%27¢+16.6ppLOWPAPER217900hardRound Of 32+0.166
5Botic Van de Zandschulp vs Hubert HurkaczBotic Van de Zandschulp⏳ RTRN51.2%36.0%36¢+15.2ppLOWPAPER59691hardRound Of 32+0.152
6Elise Mertens vs Naomi OsakaElise Mertens44.8%32.0%32¢+12.8ppLOWPAPER35000hardRound Of 32+0.128
7Aryna Sabalenka vs Ekaterina AlexandrovaEkaterina Alexandrova⏳ RTRN29.0%17.0%17¢+12.1ppLOWPAPER11hardRound Of 16+0.120
8Alex Michelsen vs Daniel MeridaAlex Michelsen🟨 WARM58.0%46.0%46¢+12.0ppLOWPAPER773943hardRound Of 32+0.120
9Mirra Andreeva vs Leylah FernandezLeylah Fernandez🧊 COLD32.6%21.0%21¢+11.6ppLOWPAPER45157hardRound Of 32+0.116
10Taylor Townsend vs Belinda BencicTaylor Townsend🟨 WARM39.2%28.0%28¢+11.2ppLOWPAPER26539hardRound Of 32+0.112
11Tommy Paul vs Learner TienLearner Tien🟨 WARM49.1%38.0%38¢+11.1ppLOWPAPER32214hardRound Of 32+0.111
12Arthur Rinderknech vs Brandon NakashimaArthur Rinderknech43.8%33.0%33¢+10.8ppLOWPAPER94hardRound Of 16+0.107
13Maria Sakkari vs Coco GauffMaria Sakkari🧊 COLD32.0%22.0%22¢+10.0ppLOWPAPER7061hardRound Of 32+0.100
14Iga Swiatek vs Marta KostyukIga Swiatek🟨 WARM67.7%58.0%58¢+9.7ppLOWPAPER369hardRound Of 16+0.097
15Luciano Darderi vs Nuno BorgesLuciano Darderi49.0%40.0%40¢+9.0ppELITEPAPER165hardRound Of 16+0.090
16Thiago Agustin Tirante vs Alexei PopyrinThiago Agustin Tirante54.5%46.0%46¢+8.5ppLOWPAPER29694hardRound Of 32+0.085
17Alexandra Eala vs Caty McNallyCaty McNally37.8%30.0%30¢+7.8ppLOWPAPER48558hardRound Of 32+0.078
18Cameron Norrie vs Arthur FilsCameron Norrie38.9%32.0%32¢+6.9ppLOWPAPER8hardRound Of 16+0.069
19Diana Shnaider vs Jessica PegulaDiana Shnaider🧊 COLD33.4%30.0%30¢+3.4ppLOWPAPER246hardRound Of 16+0.034
20Terence Atmane vs Jakub MensikTerence Atmane36.7%34.0%34¢+2.7ppLOWPAPER38276hardRound Of 32+0.027
21Joao Fonseca vs Casper RuudCasper Ruud48.6%46.0%46¢+2.6ppLOWPAPER76908hardRound Of 32+0.026
22Jiri Lehecka vs Rafael JodarJiri Lehecka🟨 WARM46.2%45.0%45¢+1.2ppLOWSKIP122hardRound Of 16+0.012
23Amanda Anisimova vs Elina SvitolinaElina Svitolina🟨 WARM59.0%59.0%59¢-0.0ppLOWSKIP1338hardRound Of 16-0.000
#PlayerStatPP lineOur projEdge %SideTierOppSurfaceDemonPayout
1Cameron Norrie🟨 WARMBreak Points Won1.53.20+113.3%MORELOWArthur Filsclay1.0x
2Terence AtmaneDouble Faults2.50.00+100.0%LESSLOWJakub Mensikclay0.5x
3Belinda Bencic🟨 WARMDouble Faults3.50.00+100.0%LESSLOWTaylor Townsendclay1.0x
4Coco Gauff🟨 WARMDouble Faults6.50.00+100.0%LESSLOWMaria Sakkariclay0.5x
5Maria Sakkari🧊 COLDDouble Faults3.50.00+100.0%LESSLOWCoco Gauffclay0.5x
6Arthur RinderknechDouble Faults2.50.00+100.0%LESSLOWBrandon Nakashimaclay0.5x
7Cameron Norrie🟨 WARMDouble Faults3.50.00+100.0%LESSLOWArthur Filsclay0.5x
8Jakub Mensik🟨 WARMTotal Tie Breaks0.50.12+75.2%LESSLOWTerence Atmaneclay1.0x
9Aryna Sabalenka🟨 WARMAces6.52.71+58.3%LESSLOWEkaterina Alexandrovaclay0.5x
10Maria Sakkari🧊 COLDBreak Points Won2.53.79+51.7%MORELOWCoco Gauffclay1.0x
11Alexei PopyrinTotal Tie Breaks0.50.25+50.3%LESSLOWThiago Agustin Tiranteclay1.0x
12Arthur RinderknechAces12.56.42+48.6%LESSLOWBrandon Nakashimaclay0.5x
13Naomi Osaka🟨 WARMBreak Points Won3.55.14+47.0%MORELOWElise Mertensclay1.0x
14Maya Joint⏳ RTRNBreak Points Won3.55.06+44.5%MORELOWLiudmila Samsonovaclay1.0x
15Rafael Jodar🟨 WARMBreak Points Won2.53.60+44.1%MORELOWJiri Leheckaclay1.0x
16Jakub Mensik🟨 WARMAces10.56.31+39.9%LESSLOWTerence Atmaneclay0.5x
17Cameron Norrie🟨 WARMAces4.56.27+39.4%MORELOWArthur Filsclay0.5x
18Alexei PopyrinAces8.56.26+26.3%LESSLOWThiago Agustin Tiranteclay1.0x
19Jiri Lehecka🟨 WARMTotal Games Won12.59.81+21.6%LESSLOWRafael Jodarclay0.5x
20Joao Fonseca🟨 WARMTotal Games Won12.59.95+20.4%LESSLOWCasper Ruudclay0.5x
21Coco Gauff🟨 WARMBreak Points Won4.55.40+20.1%MORELOWMaria Sakkariclay1.0x
22Liudmila SamsonovaTotal Games20.524.49+19.4%MORELOWMaya Jointclay0.5x
23Diana ShnaiderTotal Games Won10.58.54+18.6%LESSLOWJessica Pegulaclay0.5x
24Cameron Norrie🟨 WARMTotal Games Won11.59.39+18.4%LESSLOWArthur Filsclay0.5x
25Arthur RinderknechTotal Games Won12.510.30+17.6%LESSLOWBrandon Nakashimaclay0.5x
26Marta Kostyuk🟨 WARMAces2.52.94+17.5%MORELOWIga Swiatekclay0.5x
27Belinda Bencic🟨 WARMTotal Games20.523.97+16.9%MORELOWTaylor Townsendclay0.5x
28Naomi Osaka🟨 WARMTotal Games21.024.35+15.9%MORELOWElise Mertensclay0.5x
29Aryna Sabalenka🟨 WARMTotal Games19.522.56+15.7%MORELOWEkaterina Alexandrovaclay0.5x
30Thiago Agustin Tirante🟨 WARMTotal Games Won12.510.60+15.2%LESSLOWAlexei Popyrinclay0.5x
31Ekaterina Alexandrova⏳ RTRNTotal Games Won7.58.60+14.7%MORELOWAryna Sabalenkaclay0.5x
32Coco Gauff🟨 WARMTotal Games20.022.77+13.8%MORELOWMaria Sakkariclay0.5x
33Brandon NakashimaAces7.56.47+13.7%LESSLOWArthur Rinderknechclay0.5x
34Jessica Pegula🟨 WARMTotal Games21.524.44+13.7%MORELOWDiana Shnaiderclay0.5x
35Alexandra EalaTotal Games20.523.20+13.2%MORELOWCaty McNallyclay0.5x
36Tommy Paul🟨 WARMTotal Games Won12.510.87+13.0%LESSLOWLearner Tienclay1.0x
37Iga SwiatekTotal Games21.524.25+12.8%MORELOWMarta Kostyukclay0.5x
38Luciano Darderi🟨 WARMAces5.56.19+12.5%MORESTRONGNuno Borgesclay0.5x
39Casper Ruud🟨 WARMTotal Games Won12.511.05+11.6%LESSLOWJoao Fonsecaclay0.5x
40Rafael Jodar🟨 WARMTotal Games22.524.87+10.5%MORELOWJiri Leheckaclay0.5x
41Rafael Jodar🟨 WARMTotal Games Won12.511.19+10.4%LESSLOWJiri Leheckaclay0.5x
42Arthur Fils🟨 WARMTotal Games22.524.85+10.4%MORELOWCameron Norrieclay0.5x
43Nuno Borges🧊 COLDAces6.55.85+10.0%LESSMEDLuciano Dardericlay1.0x
44Jessica Pegula🟨 WARMBreak Points Won4.54.94+9.7%MORELOWDiana Shnaiderclay1.0x
45Tommy Paul🟨 WARMTotal Games22.524.65+9.5%MORELOWLearner Tienclay0.5x
46Iga SwiatekBreak Points Won4.54.93+9.5%MORELOWMarta Kostyukclay1.0x
47Joao Fonseca🟨 WARMTotal Games22.524.61+9.4%MORELOWCasper Ruudclay0.5x
48Ben Shelton🟨 WARMTotal Games23.024.93+8.4%MORELOWZizou Bergsclay0.5x
49Brandon NakashimaTotal Games23.525.38+8.0%MORELOWArthur Rinderknechclay0.5x
50Nuno Borges🧊 COLDTotal Games22.524.23+7.7%MOREMEDLuciano Dardericlay0.5x
51Jakub Mensik🟨 WARMTotal Games23.024.69+7.4%MORELOWTerence Atmaneclay0.5x
52Maya Joint⏳ RTRNTotal Games Won10.59.74+7.2%LESSLOWLiudmila Samsonovaclay0.5x
53Arthur Fils🟨 WARMTotal Games Won12.511.61+7.1%LESSLOWCameron Norrieclay0.5x
54Alexandra EalaBreak Points Won4.54.18+7.1%LESSLOWCaty McNallyclay1.0x
55Luciano Darderi🟨 WARMTotal Games Won12.511.76+5.9%LESSPASSNuno Borgesclay0.5x
56Elina SvitolinaTotal Games Won12.511.83+5.4%LESSLOWAmanda Anisimovaclay0.5x
57Amanda Anisimova⏳ RTRNTotal Games21.522.57+5.0%MORELOWElina Svitolinaclay0.5x
58Alexei PopyrinTotal Games23.524.61+4.7%MORELOWThiago Agustin Tiranteclay0.5x
59Casper Ruud🟨 WARMAces6.56.31+2.9%LESSLOWJoao Fonsecaclay0.5x
60Taylor Townsend🟨 WARMTotal Games Won9.59.70+2.1%MORELOWBelinda Bencicclay0.5x
61Taylor Townsend🟨 WARMTotal Games Won9.59.70+2.1%MORELOWBelinda Bencicclay0.5x
62Elise MertensTotal Games Won10.510.72+2.0%MORELOWNaomi Osakaclay0.5x
63Ben Shelton🟨 WARMAces6.56.37+2.0%LESSLOWZizou Bergsclay0.5x
64Maria Sakkari🧊 COLDTotal Games Won8.58.65+1.7%MORELOWCoco Gauffclay0.5x
Kalshi tennis — 0 picks · $0.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-08-07T13:14:42.210524+00:00
#MatchPickOur PAskEdgeTierSurfaceStakeStatusP&L
PrizePicks tennis — 1 picks · $1.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-08-07T13:14:42.142137+00:00
#PlayerStatLineOur projSideEdgeTierSurfaceStakeStatusP&L
1Ann LiTotal Games Won8.08.92MORE11.5%STRONGclay$1.00OPEN+0.00
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-08-07T10:42:25 Β· flagged threshold = Β±3.0pp Β· 0 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
Taylor Fritz Β· exact3.5%2.7%-0.8pp Β· SHARP HIGHERUS 3%
Ben Shelton Β· exact2.5%1.7%-0.8pp Β· SHARP HIGHERUS 2%
Jack Draper Β· exact1.0%0.4%-0.6pp Β· SHARP HIGHERUS 0%
Daniil Medvedev Β· exact1.5%1.9%+0.4pp Β· PUBLIC HIGHERUS 2%
Novak Djokovic Β· exact4.5%4.9%+0.4pp Β· PUBLIC HIGHERUS 5%
Lorenzo Musetti Β· exact0.5%0.4%-0.1pp Β· SHARP HIGHERUS 0%
Alexander Bublik Β· exact0.5%0.4%-0.1pp Β· SHARP HIGHERUS 0%
Frances Tiafoe Β· exact0.5%0.5%+0.0pp Β· PUBLIC HIGHERUS 1%
Karen Khachanov Β· no-match0.5%no Poly match
Felix Auger-Aliassime Β· no-match1.5%no Poly match
Casper Ruud Β· no-match1.0%no Poly match
Alex de Minaur Β· no-match0.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
1Hubert HurkaczAcesBotic Van de Zandschulp12.511.5-1.001.00DOWN
2Ben SheltonAcesZizou Bergs8.57.5-1.001.00DOWN
3Alexei PopyrinAcesThiago Agustin Tirante9.58.5-1.001.00DOWN
4Tallon GriekspoorFantasy ScoreMatteo Arnaldi15.516.0+0.500.50UP
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-varianceMEDJessica Pegula MORE 18.5 Total Games, Kamilla Rakhimova MORE 6.5 Total Games Won0.4025.00x1.009
2-pick HIGH-varianceHIGHBrandon Nakashima MORE 2.5 Break Points Won, Joao Fonseca MORE 2.5 Break Points Won0.41610.00x3.157
3-pick MED-varianceMEDJessica Pegula MORE 18.5 Total Games, Kamilla Rakhimova MORE 6.5 Total Games Won, Alina Korneeva LESS 11.5 Total Games Won0.24610.00x1.459
3-pick HIGH-varianceHIGHBrandon Nakashima MORE 2.5 Break Points Won, Joao Fonseca MORE 2.5 Break Points Won, Tallon Griekspoor MORE 2.5 Break Points Won0.25725.00x5.425
4-pick MED-varianceMEDJessica Pegula MORE 18.5 Total Games, Kamilla Rakhimova MORE 6.5 Total Games Won, Alina Korneeva LESS 11.5 Total Games Won, Arthur Rinderknech LESS 12.5 Total Games Won0.15018.00x1.693
4-pick HIGH-varianceHIGHBrandon Nakashima MORE 2.5 Break Points Won, Joao Fonseca MORE 2.5 Break Points Won, Tallon Griekspoor MORE 2.5 Break Points Won, Coco Gauff MORE 4.5 Break Points Won0.15450.00x6.715
⚠ 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-08-07T17:38:31.411818+00:004m2000fresh
Kalshi KXWTAMATCHtennis_kalshi.sqlite2026-08-07T17:38:31.411818+00:004m2032fresh
Kalshi KXFRENCHOPENtennis_kalshi.sqlite2026-08-07T17:38:31.411818+00:004m0fresh
Kalshi KXFOPENMENSINGLEtennis_kalshi.sqlite2026-08-07T17:38:31.411818+00:004m0fresh
Kalshi KXATPGRANDSLAMtennis_kalshi.sqlite2026-08-07T17:38:31.411818+00:004m14fresh
Kalshi KXUSOPENtennis_kalshi.sqlite2026-08-07T17:38:31.411818+00:004m0fresh
Kalshi KXATPSETWINNERtennis_kalshi.sqlite2026-08-07T17:38:31.411818+00:004m4590fresh
Kalshi KXATPTOTALSETStennis_kalshi.sqlite2026-08-07T17:38:31.411818+00:004m0fresh
Kalshi KXATPSETSWEEPtennis_kalshi.sqlite2026-08-07T17:38:31.411818+00:004m2fresh
Kalshi KXATPGAMESPREADtennis_kalshi.sqlite2026-08-07T17:38:31.411818+00:004m0fresh
Kalshi KXATPEXACTMATCHtennis_kalshi.sqlite2026-08-07T17:38:31.411818+00:004m4496fresh
Kalshi KXWTADOUBLEStennis_kalshi.sqlite2026-08-07T17:38:31.411818+00:004m324fresh
Kalshi KXATP1RANKtennis_kalshi.sqlite2026-08-07T17:38:31.411818+00:004m16fresh
elo last computedtennis.sqlite2026-06-21T17:36:52+00:001128.09h20430stale
rankings last pulledtennis.sqlite2026-06-15T17:40:18+00:001272.04h11348stale
rankings atp latest datetennis.sqlite2026-06-081457.71h&mdash;stale
rankings wta latest datetennis.sqlite2026-06-081457.71h&mdash;stale
mirror atp scheduletennis.sqlite2026-08-07T17:40:33.813284+00:001m0fresh
h2h last computedtennis.sqlite2026-05-17T10:11:57.514615+00:001975.51h&mdash;stale
h2h n pairstennis.sqlite190184missing&mdash;missing
last player db runtennis.sqlite1786124453missing&mdash;missing
results last_runtennis_results.sqlite[2026-08-07T17:40:35.042449+00:00] 2026-08-07T17:40:34.184683+00:00; dates=['20260806']; rows=0; resolved=0missing&mdash;missing
pp_edges CSVpp_edges_tennis_2026-08-07.csv2026-08-07T17:40:59.036818+00:001m&mdash;fresh
kalshi edges JSONtennis_kalshi_edges_2026-08-07.json2026-08-07T17:40:56.946531+00:001m&mdash;fresh
paper trades PPpaper_trades_pp_tennis_2026-08-07.json2026-08-07T17:42:13.352783+00:000m&mdash;fresh
paper trades Kalshipaper_trades_kalshi_tennis_2026-08-07.json2026-08-07T17:42:13.831296+00:000m&mdash;fresh
daily payloaddaily_tennis_2026-08-07.json2026-08-07T17:42:16.232486+00:000m&mdash;fresh
PP movementpp_line_movement_tennis_2026-08-07.csv2026-08-07T17:42:15.406125+00:000m&mdash;fresh
PP calibrationpp_calibration_tennis.json2026-08-07T17:42:15.305364+00:000m&mdash;fresh