T
Tennis EdgeBoard
ATP + WTA daily edges - Kalshi + PrizePicks - auto-refresh 2m
Generated
2026-07-07 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 · 1918rKalshi KXWTAMATCH 3m · 1950rKalshi KXFRENCHOPEN 3mKalshi KXFOPENMENSINGLE 3mKalshi KXATPGRANDSLAM 3m · 14rKalshi KXUSOPEN 3mKalshi KXATPSETWINNER 3m · 4416rKalshi KXATPTOTALSETS 3mKalshi KXATPSETSWEEP 3m · 2rKalshi KXATPGAMESPREAD 3mKalshi KXATPEXACTMATCH 3m · 4108rKalshi KXWTADOUBLES 3m · 262rKalshi KXATP1RANK 3m · 16relo last computed 16d · 20430rrankings last pulled 22d · 11348rrankings atp latest date 29drankings wta latest date 29dmirror atp schedule 0m · 58rh2h last computed 51dh2h 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
17
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:43
2026-07-07 UTC
🏆 Best Bet (main-draw)
No main-draw Kalshi pick survived qualifying filter today.
🎯 Safest (P ≥ 65%)
Coco Gauff
Coco Gauff vs Karolina Muchova · Semifinal grass · LOW
61%
Heavy main-draw favorite · PAPER
Edge +4.0pp
Ask 57¢
💎 Biggest Payout (ELITE)
No ELITE main-draw longshot today.
#MatchTournamentRoundSurfaceStartELO AELO BELO diffKalshi event
1Petra Marcinko vs Clara BurelGrand Est Open 88Round 1hardJul 07 15:3516331508+125
2Angela Fita Boluda vs Lisa PigatoGrand Est Open 88Round 1hardJul 07 15:4514811628-147
3? vs Novak DjokovicWimbledonQuarterfinalgrassJul 07 16:351636KXATPSETWINNER-26JUL07AUGDJO-1
4Lisa Zaar vs Varvara LepchenkoNordea OpenRound 1hardJul 07 16:3515271645-118
5? vs Novak DjokovicWimbledonQuarterfinalgrassJul 07 16:351636KXATPSETWINNER-26JUL07AUGDJO-1
6Lisa Zaar vs Varvara LepchenkoNordea OpenRound 1hardJul 07 16:3515271645-118
7Madison Brengle vs Ana Sofia SanchezCerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret FundRound 1grassJul 07 20:0017341657+77
8Sayaka Ishii vs Kayla CrossCerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret FundRound 1grassJul 07 20:0015011412+88
9Kylie Collins vs Alana SmithCerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret FundRound 1grassJul 07 20:0015781490+88
10Katrina Scott vs Mary StoianaCerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret FundRound 1grassJul 07 20:0016921524+168
11Katherine Sebov vs Cadence BraceCerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret FundRound 1grassJul 07 20:0014841680-196
12Olivia Lincer vs Tatjana MariaCerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret FundRound 1grassJul 07 20:0014831598-116
13Mananchaya Sawangkaew vs Caroline DolehideCerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret FundRound 1grassJul 07 21:3015421480+63
14Momoko Kobori vs Elizabeth MandlikCerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret FundRound 1grassJul 07 21:3016841516+168
15Sachia Vickery vs Reese BrantmeierCerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret FundRound 1grassJul 07 21:3014851634-149
16Katie Volynets vs Ariana ArseneaultCerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret FundRound 1grassJul 07 21:3015191611-92
17Iryna Shymanovich vs Hayu KinoshitaCerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret FundRound 1grassJul 07 21:3014831767-284
#MatchOur pickOur PMkt PAskEdgeTierDecisionVol 24hSurfaceRoundEV/$
1Jasmine Paolini vs Marta KostyukJasmine Paolini46.1%30.0%30¢+16.1ppLOWPAPER13977grassQuarterfinal+0.161
2Felix Auger-Aliassime vs Novak DjokovicNovak Djokovic55.8%40.0%40¢+15.8ppLOWPAPER1712635hardQuarterfinal+0.158
3Flavio Cobolli vs Arthur FeryArthur Fery39.1%29.0%29¢+10.1ppLOWPAPER48362hardQuarterfinal+0.101
4Alexander Zverev vs Taylor FritzAlexander Zverev57.1%49.0%49¢+8.1ppLOWPAPER2225grassQuarterfinal+0.081
5Coco Gauff vs Karolina MuchovaCoco Gauff61.0%57.0%57¢+4.0ppLOWPAPER169grassSemifinal+0.040
6Linda Noskova vs Elise MertensElise Mertens43.9%40.0%40¢+3.9ppLOWPAPER7451grassQuarterfinal+0.039
#PlayerStatPP lineOur projEdge %SideTierOppSurfaceDemonPayout
1Alexander Zverev🟨 WARMBreak Points Won1.53.72+148.1%MORELOWTaylor Fritzclay1.0x
2Jasmine Paolini🧊 COLDDouble Faults1.50.00+100.0%LESSLOWMarta Kostyukclay1.0x
3Taylor Fritz⏳ RTRNBreak Points Won1.52.81+87.0%MORELOWAlexander Zverevclay1.0x
4Ariana Arseneault🟨 WARMTotal Games Won5.58.56+55.6%MORELOWKatie Volynetsclay1.0x
5Arthur Fery🧊 COLDTotal Games Won18.58.47+54.2%LESSLOWFlavio Cobolliclay0.5x
6Elise MertensAces5.52.92+46.9%LESSLOWLinda Noskovaclay0.5x
7Linda Noskova🟨 WARMAces5.52.94+46.6%LESSLOWElise Mertensclay0.5x
8Flavio Cobolli🟨 WARMTotal Games Won20.512.08+41.1%LESSLOWArthur Feryclay0.5x
9Linda Noskova🟨 WARMBreak Points Won3.54.88+39.5%MORELOWElise Mertensclay1.0x
10Carolyn AnsariTotal Games Won6.59.05+39.2%MORELOWDarja Vidmanovaclay1.0x
11Flavio Cobolli🟨 WARMTotal Games38.023.84+37.3%LESSLOWArthur Feryclay0.5x
12Katie VolynetsTotal Games17.523.93+36.8%MORELOWAriana Arseneaultclay0.5x
13Madison BrengleTotal Games18.024.30+35.0%MORELOWAna Sofia Sanchezclay0.5x
14Mei Yamaguchi🧊 COLDTotal Games Won6.58.65+33.1%MORELOWGreet Minnenclay1.0x
15Greet Minnen🧊 COLDTotal Games18.524.32+31.4%MORELOWMei Yamaguchiclay1.0x
16Flavio Cobolli🟨 WARMAces8.56.11+28.2%LESSLOWArthur Feryclay0.5x
17Darja Vidmanova🧊 COLDTotal Games18.022.79+26.6%MORELOWCarolyn Ansariclay0.5x
18Katrina Scott🧊 COLDTotal Games Won7.59.42+25.6%MORELOWMary Stoianaclay1.0x
19Moyuka Uchijima🟨 WARMTotal Games19.524.46+25.4%MORELOWIrene Burillo Escorihuelaclay0.5x
20Jasmine Paolini🧊 COLDBreak Points Won3.54.38+25.1%MORELOWMarta Kostyukclay1.0x
21Mary Stoiana🟨 WARMTotal Games19.524.32+24.7%MORELOWKatrina Scottclay0.5x
22Lucrezia Stefanini🧊 COLDTotal Games19.524.26+24.4%MORELOWCarol Zhaoclay1.0x
23Simona Waltert🟨 WARMTotal Games18.522.94+24.0%MORELOWAneta Laboutkovaclay0.5x
24Leyre Romero Gormaz🟨 WARMTotal Games19.523.81+22.1%MORELOWMiriam Bianca Bulgaruclay1.0x
25Carol Zhao🧊 COLDTotal Games Won7.59.01+20.1%MORELOWLucrezia Stefaniniclay1.0x
26Flavio Cobolli🟨 WARMBreak Points Won4.53.65+18.8%LESSLOWArthur Feryclay1.0x
27Rebeka MasarovaTotal Games20.524.34+18.7%MORELOWFrancesca Curmiclay1.0x
28Paula Badosa🧊 COLDTotal Games20.524.32+18.6%MORELOWEmiliana Arangoclay0.5x
29Reese Brantmeier⏳ RTRNTotal Games20.523.83+16.3%MORELOWSachia Vickeryclay0.5x
30Lea MaTotal Games Won11.59.70+15.7%LESSLOWClervie Ngounoueclay0.5x
31Emiliana ArangoTotal Games Won8.59.83+15.6%MORELOWPaula Badosaclay1.0x
32Cadence BraceTotal Games21.024.24+15.4%MORELOWKatherine Sebovclay1.0x
33Marta Kostyuk🟨 WARMBreak Points Won4.55.18+15.2%MORELOWJasmine Paoliniclay1.0x
34Linda Noskova🟨 WARMTotal Games Won12.510.65+14.8%LESSLOWElise Mertensclay2.0x
35Jasmine Paolini🧊 COLDTotal Games Won10.59.01+14.2%LESSLOWMarta Kostyukclay0.5x
36Elizabeth MandlikTotal Games20.523.36+13.9%MORELOWMomoko Koboriclay0.5x
37Clervie Ngounoue⏳ RTRNTotal Games21.524.36+13.3%MORELOWLea Maclay0.5x
38Mananchaya Sawangkaew🟨 WARMTotal Games21.524.34+13.2%MORELOWCaroline Dolehideclay1.0x
39Francesca JonesTotal Games21.524.30+13.0%MORELOWLeolia Jeanjeanclay1.0x
40Marta Kostyuk🟨 WARMTotal Games21.523.99+11.6%MORELOWJasmine Paoliniclay0.5x
41Yulia PutintsevaTotal Games21.523.77+10.6%MORELOWLola Radivojevicclay1.0x
42Linda Noskova🟨 WARMTotal Games22.524.49+8.9%MORELOWElise Mertensclay0.5x
43Marta Kostyuk🟨 WARMTotal Games Won12.511.52+7.8%LESSLOWJasmine Paoliniclay0.5x
44Caroline Dolehide⏳ RTRNTotal Games Won11.510.65+7.4%LESSLOWMananchaya Sawangkaewclay1.0x
45Arthur Fery🧊 COLDAces5.55.78+5.1%MORELOWFlavio Cobolliclay0.5x
46Irene Burillo EscorihuelaTotal Games Won8.58.93+5.1%MORELOWMoyuka Uchijimaclay1.0x
47Marta Kostyuk🟨 WARMAces3.02.88+4.0%LESSLOWJasmine Paoliniclay1.0x
48Momoko Kobori⏳ RTRNTotal Games Won9.59.13+3.9%LESSLOWElizabeth Mandlikclay1.0x
49Francesca Curmi🟨 WARMTotal Games Won9.59.65+1.6%MORELOWRebeka Masarovaclay1.0x
50Sachia 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-07T13:17:48.955133+00:00
#MatchPickOur PAskEdgeTierSurfaceStakeStatusP&L
PrizePicks tennis — 0 picks · $0.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-07-07T13:17:48.894279+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-07T10:43:00 Β· 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 Β· exact21.5%3.6%-17.9pp Β· SHARP HIGHERWim 4%
Taylor Fritz Β· exact25.5%12.1%-13.4pp Β· SHARP HIGHERWim 9%, US 3%
Jannik Sinner Β· exact67.5%80.5%+13.0pp Β· PUBLIC HIGHERWim 66%, US 44%
Novak Djokovic Β· exact23.5%14.4%-9.1pp Β· SHARP HIGHERWim 9%, US 6%
Daniil Medvedev Β· exact6.5%2.5%-4.0pp Β· SHARP HIGHERUS 2%
Lorenzo Musetti Β· exact5.0%1.0%-4.0pp Β· SHARP HIGHERUS 1%
Jack Draper Β· exact4.5%1.0%-3.5pp Β· SHARP HIGHERUS 1%
Alexander Bublik Β· exact3.5%0.9%-2.6pp Β· SHARP HIGHERUS 1%
Frances Tiafoe Β· exact2.5%0.8%-1.7pp Β· SHARP HIGHERUS 1%
Ben Shelton Β· exact3.0%2.4%-0.6pp Β· SHARP HIGHERUS 2%
Karen Khachanov Β· no-match1.0%no Poly match
Casper Ruud Β· no-match4.5%no Poly match
Alex de Minaur Β· no-match16.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
1Moyuka UchijimaTotal GamesIrene Burillo Escorihuela20.519.5-1.001.00DOWN
2Alice TubelloTotal GamesCaroline Werner20.521.5+1.001.00UP
3Marta KostyukAcesJasmine Paolini3.53.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)
No combos surfaced.
Kalshi same-match (correlated)
No combos surfaced.
PrizePicks slips
LabelVarianceLegsJoint PPayoutEV/$
2-pick MED-varianceMEDMei Yamaguchi MORE 6.5 Total Games Won, Mary Stoiana MORE 18.5 Total Games0.4375.00x1.187
2-pick HIGH-varianceHIGHJessica Pegula MORE 3.5 Break Points Won, Jannik Sinner LESS 4.5 Break Points Won0.37510.00x2.753
3-pick MED-varianceMEDMei Yamaguchi MORE 6.5 Total Games Won, Mary Stoiana MORE 18.5 Total Games, Greet Minnen MORE 18.5 Total Games0.28710.00x1.875
3-pick HIGH-varianceHIGHJessica Pegula MORE 3.5 Break Points Won, Jannik Sinner LESS 4.5 Break Points Won, Jessica Pegula MORE 2.5 Aces0.21525.00x4.367
4-pick MED-varianceMEDMei Yamaguchi MORE 6.5 Total Games Won, Mary Stoiana MORE 18.5 Total Games, Greet Minnen MORE 18.5 Total Games, Yufei Ren MORE 7.5 Total Games Won0.18618.00x2.346
⚠ 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-07T17:39:47.235468+00:003m1918fresh
Kalshi KXWTAMATCHtennis_kalshi.sqlite2026-07-07T17:39:47.235468+00:003m1950fresh
Kalshi KXFRENCHOPENtennis_kalshi.sqlite2026-07-07T17:39:47.235468+00:003m0fresh
Kalshi KXFOPENMENSINGLEtennis_kalshi.sqlite2026-07-07T17:39:47.235468+00:003m0fresh
Kalshi KXATPGRANDSLAMtennis_kalshi.sqlite2026-07-07T17:39:47.235468+00:003m14fresh
Kalshi KXUSOPENtennis_kalshi.sqlite2026-07-07T17:39:47.235468+00:003m0fresh
Kalshi KXATPSETWINNERtennis_kalshi.sqlite2026-07-07T17:39:47.235468+00:003m4416fresh
Kalshi KXATPTOTALSETStennis_kalshi.sqlite2026-07-07T17:39:47.235468+00:003m0fresh
Kalshi KXATPSETSWEEPtennis_kalshi.sqlite2026-07-07T17:39:47.235468+00:003m2fresh
Kalshi KXATPGAMESPREADtennis_kalshi.sqlite2026-07-07T17:39:47.235468+00:003m0fresh
Kalshi KXATPEXACTMATCHtennis_kalshi.sqlite2026-07-07T17:39:47.235468+00:003m4108fresh
Kalshi KXWTADOUBLEStennis_kalshi.sqlite2026-07-07T17:39:47.235468+00:003m262fresh
Kalshi KXATP1RANKtennis_kalshi.sqlite2026-07-07T17:39:47.235468+00:003m16fresh
elo last computedtennis.sqlite2026-06-21T17:36:52+00:00384.10h20430stale
rankings last pulledtennis.sqlite2026-06-15T17:40:18+00:00528.05h11348stale
rankings atp latest datetennis.sqlite2026-06-08713.72h&mdash;stale
rankings wta latest datetennis.sqlite2026-06-08713.72h&mdash;stale
mirror atp scheduletennis.sqlite2026-07-07T17:42:16.126979+00:000m58fresh
h2h last computedtennis.sqlite2026-05-17T10:11:57.514615+00:001231.52h&mdash;stale
h2h n pairstennis.sqlite190184missing&mdash;missing
last player db runtennis.sqlite1783446157missing&mdash;missing
results last_runtennis_results.sqlite[2026-07-07T17:42:18.280243+00:00] 2026-07-07T17:42:16.446558+00:00; dates=['20260706']; rows=980; resolved=963missing&mdash;missing
pp_edges CSVpp_edges_tennis_2026-07-07.csv2026-07-07T17:42:40.783396+00:000m&mdash;fresh
kalshi edges JSONtennis_kalshi_edges_2026-07-07.json2026-07-07T17:42:38.287022+00:000m&mdash;fresh
paper trades PPpaper_trades_pp_tennis_2026-07-07.json2026-07-07T17:42:48.646510+00:000m&mdash;fresh
paper trades Kalshipaper_trades_kalshi_tennis_2026-07-07.json2026-07-07T17:42:49.115232+00:000m&mdash;fresh
daily payloaddaily_tennis_2026-07-07.json2026-07-07T17:42:50.726159+00:000m&mdash;fresh
PP movementpp_line_movement_tennis_2026-07-07.csv2026-07-07T17:42:50.232888+00:000m&mdash;fresh
PP calibrationpp_calibration_tennis.json2026-07-07T17:42:50.160844+00:000m&mdash;fresh