Kalshi KXATPMATCH 3m · 1918rKalshi KXWTAMATCH 3m · 1944rKalshi KXFRENCHOPEN 3mKalshi KXFOPENMENSINGLE 3mKalshi KXATPGRANDSLAM 3m · 14rKalshi KXUSOPEN 3mKalshi KXATPSETWINNER 3m · 4408rKalshi KXATPTOTALSETS 3mKalshi KXATPSETSWEEP 3m · 2rKalshi KXATPGAMESPREAD 3mKalshi KXATPEXACTMATCH 3m · 4096rKalshi KXWTADOUBLES 3m · 254rKalshi KXATP1RANK 3m · 16relo last computed 14d · 20430rrankings last pulled 20d · 11348rrankings atp latest date 28drankings wta latest date 28dmirror atp schedule 1m · 86rh2h 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
36
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
13:15
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.
| # | Match | Tournament | Round | Surface | Start | ELO A | ELO B | ELO diff | Kalshi event |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Leyre Romero Gormaz vs Darja Semenistaja | Nordea Open | Round 1 | hard | Jul 06 10:45 | 1575 | 1598 | -23 | |
| 2 | Leyre Romero Gormaz vs Darja Semenistaja | Nordea Open | Round 1 | hard | Jul 06 10:45 | 1575 | 1598 | -23 | |
| 3 | Julia Grabher vs Rebeka Masarova | Grand Est Open 88 | Round 1 | hard | Jul 06 11:25 | 1459 | 1615 | -156 | |
| 4 | Martha Matoula vs Yulia Putintseva | Nordea Open | Round 1 | hard | Jul 06 11:35 | 1551 | 1664 | -113 | |
| 5 | Martha Matoula vs Yulia Putintseva | Nordea Open | Round 1 | hard | Jul 06 11:35 | 1551 | 1664 | -113 | |
| 6 | Marie Bouzkova vs Elise Mertens | Wimbledon | Round 4 | grass | Jul 06 11:50 | 1476 | 1581 | -105 | KXWTAMATCH-26JUL06BOUMER |
| 7 | Marie Bouzkova vs Elise Mertens | Wimbledon | Round 4 | grass | Jul 06 11:50 | 1476 | 1581 | -105 | KXWTAMATCH-26JUL06BOUMER |
| 8 | Emiliana Arango vs Lea Nilsson | Nordea Open | Round 1 | hard | Jul 06 12:05 | 1548 | 1553 | -4 | |
| 9 | Emiliana Arango vs Lea Nilsson | Nordea Open | Round 1 | hard | Jul 06 12:05 | 1548 | 1553 | -4 | |
| 10 | Alex De Minaur vs Flavio Cobolli | Wimbledon | Round 4 | grass | Jul 06 12:10 | 1590 | 1557 | +34 | KXATPMATCH-26JUL06DECOB |
| 11 | Alex De Minaur vs Flavio Cobolli | Wimbledon | Round 4 | grass | Jul 06 12:10 | 1590 | 1557 | +34 | KXATPMATCH-26JUL06DECOB |
| 12 | Jasmine Paolini vs Alexandra Eala | Wimbledon | Round 4 | grass | Jul 06 12:35 | 1585 | 1665 | -80 | KXWTAMATCH-26JUL06PAOEAL |
| 13 | Jasmine Paolini vs Alexandra Eala | Wimbledon | Round 4 | grass | Jul 06 12:35 | 1585 | 1665 | -80 | KXWTAMATCH-26JUL06PAOEAL |
| 14 | Anna Blinkova vs Erika Andreeva | Grand Est Open 88 | Round 1 | hard | Jul 06 12:35 | 1577 | 1616 | -39 | |
| 15 | Simona Waltert vs Katarzyna Kawa | Nordea Open | Round 1 | hard | Jul 06 13:30 | 1642 | 1455 | +186 | |
| 16 | Marina Bassols Ribera vs Paula Badosa | Nordea Open | Round 1 | hard | Jul 06 13:30 | 1627 | 1683 | -56 | |
| 17 | ? vs Dominika Salkova | Grand Est Open 88 | Round 1 | hard | Jul 06 13:30 | — | 1701 | — | |
| 18 | Simona Waltert vs Katarzyna Kawa | Nordea Open | Round 1 | hard | Jul 06 13:30 | 1642 | 1455 | +186 | |
| 19 | Marina Bassols Ribera vs Paula Badosa | Nordea Open | Round 1 | hard | Jul 06 13:30 | 1627 | 1683 | -56 | |
| 20 | Grigor Dimitrov vs Arthur Fery | Wimbledon | Round 4 | grass | Jul 06 14:00 | 1569 | 1521 | +49 | KXATPMATCH-26JUL06DIMFER |
| 21 | Madison Keys vs Linda Noskova | Wimbledon | Round 4 | grass | Jul 06 14:00 | 1558 | 1583 | -25 | KXWTAMATCH-26JUL06KEYNOS |
| 22 | Grigor Dimitrov vs Arthur Fery | Wimbledon | Round 4 | grass | Jul 06 14:00 | 1569 | 1521 | +49 | KXATPMATCH-26JUL06DIMFER |
| 23 | Madison Keys vs Linda Noskova | Wimbledon | Round 4 | grass | Jul 06 14:00 | 1558 | 1583 | -25 | KXWTAMATCH-26JUL06KEYNOS |
| 24 | Tiana Tian Deng vs Kaitlin Quevedo | Nordea Open | Round 1 | hard | Jul 06 14:30 | 1533 | 1717 | -184 | |
| 25 | Tiana Tian Deng vs Kaitlin Quevedo | Nordea Open | Round 1 | hard | Jul 06 14:30 | 1533 | 1717 | -184 | |
| 26 | Taylor Fritz vs Alexander Bublik | Wimbledon | Round 4 | grass | Jul 06 15:30 | 1722 | 1569 | +153 | KXATPMATCH-26JUL06FRIBUB |
| 27 | Taylor Fritz vs Alexander Bublik | Wimbledon | Round 4 | grass | Jul 06 15:30 | 1722 | 1569 | +153 | KXATPMATCH-26JUL06FRIBUB |
| 28 | Francesca Curmi vs Oceane Dodin | Grand Est Open 88 | Round 1 | hard | Jul 06 15:30 | 1643 | 1597 | +45 | |
| 29 | Jiri Lehecka vs Alexander Zverev | Wimbledon | Round 4 | grass | Jul 06 16:00 | 1574 | 1594 | -21 | KXATPSETWINNER-26JUL06LEHZVE-3 |
| 30 | Jiri Lehecka vs Alexander Zverev | Wimbledon | Round 4 | grass | Jul 06 16:00 | 1574 | 1594 | -21 | KXATPSETWINNER-26JUL06LEHZVE-3 |
| 31 | Sayaka Ishii vs Kayla Cross | Cerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret Fund | Round 1 | grass | Jul 06 17:00 | 1501 | 1412 | +88 | |
| 32 | Olivia Lincer vs Tatjana Maria | Cerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret Fund | Round 1 | grass | Jul 06 17:00 | 1483 | 1598 | -116 | |
| 33 | Kylie Collins vs Alana Smith | Cerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret Fund | Round 1 | grass | Jul 06 18:30 | 1578 | 1490 | +88 | |
| 34 | Madison Brengle vs Ana Sofia Sanchez | Cerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret Fund | Round 1 | grass | Jul 06 18:30 | 1734 | 1657 | +77 | |
| 35 | Katie Volynets vs Ariana Arseneault | Cerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret Fund | Round 1 | grass | Jul 06 20:00 | 1519 | 1611 | -92 | |
| 36 | Lea Ma vs Clervie Ngounoue | Cerity Partners Hall of Fame Open for the Van Alen Cup Presented by the Margaret Fund | Round 1 | grass | Jul 06 20:00 | 1485 | 1483 | +1 |
| # | Match | Our pick | Our P | Mkt P | Ask | Edge | Tier | Decision | Vol 24h | Surface | Round | EV/$ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Marie Bouzkova vs Elise Mertens | Marie Bouzkova | 49.7% | 14.0% | 14¢ | +35.7pp | LOW | PAPER | 691710 | grass | Round 4 | +0.357 |
| 2 | Jasmine Paolini vs Alexandra Eala | Alexandra Eala | 52.9% | 33.0% | 33¢ | +19.9pp | LOW | PAPER | 227072 | grass | Round 4 | +0.199 |
| 3 | Grigor Dimitrov vs Arthur Fery | Arthur Fery | 50.3% | 33.0% | 33¢ | +17.3pp | LOW | PAPER | 88569 | grass | Round 4 | +0.173 |
| 4 | Taylor Fritz vs Alexander Bublik | Alexander Bublik | 46.6% | 34.0% | 34¢ | +12.6pp | LOW | PAPER | 69384 | grass | Round 4 | +0.126 |
| 5 | Jannik Sinner vs Jan-Lennard Struff | Jan-Lennard Struff | 16.7% | 6.0% | 6¢ | +10.7pp | LOW | PAPER | 56722 | hard | Quarterfinal | +0.107 |
| 6 | Alexander Zverev vs Jiri Lehecka | Jiri Lehecka | 35.6% | 27.0% | 27¢ | +8.6pp | LOW | PAPER | 36250 | hard | Round Of 16 | +0.086 |
| 7 | Madison Keys vs Linda Noskova | Linda Noskova | 50.0% | 42.0% | 42¢ | +8.0pp | LOW | PAPER | 27468 | grass | Round 4 | +0.080 |
| 8 | Novak Djokovic vs Felix Auger-Aliassime | Felix Auger-Aliassime | 44.2% | 39.0% | 39¢ | +5.2pp | LOW | PAPER | 25504 | hard | Quarterfinal | +0.052 |
| 9 | Flavio Cobolli vs Alex de Minaur | Alex de Minaur | 54.0% | 52.0% | 52¢ | +2.0pp | LOW | PAPER | 676478 | grass | Round 4 | +0.020 |
| 10 | Coco Gauff vs Jessica Pegula | Coco Gauff | 44.7% | 43.0% | 43¢ | +1.7pp | LOW | SKIP | 4508 | grass | Quarterfinal | +0.017 |
| 11 | Karolina Muchova vs Naomi Osaka | Karolina Muchova | 48.6% | 47.0% | 47¢ | +1.6pp | LOW | SKIP | 24103 | grass | Quarterfinal | +0.016 |
| # | Player | Stat | PP line | Our proj | Edge % | Side | Tier | Opp | Surface | Demon | Payout |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Alexander Bublik🧊 COLD | Double Faults | 5.5 | 0.00 | +100.0% | LESS | LOW | Taylor Fritz | clay | — | 0.5x |
| 2 | Felix Auger-Aliassime🟨 WARM | Double Faults | 4.5 | 0.00 | +100.0% | LESS | LOW | Novak Djokovic | clay | — | 0.5x |
| 3 | Novak Djokovic⏳ RTRN | Double Faults | 2.5 | 0.00 | +100.0% | LESS | LOW | Felix Auger-Aliassime | clay | — | 0.5x |
| 4 | Karolina Muchova⏳ RTRN | Break Points Won | 2.5 | 4.65 | +85.9% | MORE | LOW | Naomi Osaka | clay | — | 1.0x |
| 5 | Linda Noskova🟨 WARM | Break Points Won | 2.5 | 4.43 | +77.2% | MORE | LOW | Madison Keys | clay | — | 1.0x |
| 6 | Taylor Fritz⏳ RTRN | Aces | 23.5 | 6.26 | +73.4% | LESS | LOW | Alexander Bublik | clay | — | 0.5x |
| 7 | Alexander Bublik🧊 COLD | Aces | 21.5 | 6.02 | +72.0% | LESS | LOW | Taylor Fritz | clay | — | 0.5x |
| 8 | Felix Auger-Aliassime🟨 WARM | Aces | 21.5 | 6.39 | +70.3% | LESS | LOW | Novak Djokovic | clay | — | 0.5x |
| 9 | Jannik Sinner🟨 WARM | Aces | 17.5 | 5.70 | +67.5% | LESS | LOW | Jan-Lennard Struff | clay | — | 0.5x |
| 10 | Alexander Zverev🟨 WARM | Aces | 16.0 | 6.08 | +62.0% | LESS | LOW | Jiri Lehecka | clay | — | 0.5x |
| 11 | Madison Keys⏳ RTRN | Aces | 7.0 | 2.87 | +59.1% | LESS | LOW | Linda Noskova | clay | — | 0.5x |
| 12 | Jiri Lehecka🟨 WARM | Aces | 14.5 | 6.02 | +58.5% | LESS | LOW | Alexander Zverev | clay | — | 0.5x |
| 13 | Taylor Fritz⏳ RTRN | Total Games Won | 22.5 | 10.34 | +54.0% | LESS | LOW | Alexander Bublik | clay | — | 0.5x |
| 14 | Grigor Dimitrov🧊 COLD | Aces | 13.0 | 6.12 | +53.0% | LESS | LOW | Arthur Fery | clay | — | 0.5x |
| 15 | Alexander Bublik🧊 COLD | Total Games Won | 20.5 | 10.13 | +50.6% | LESS | LOW | Taylor Fritz | clay | — | 0.5x |
| 16 | Jiri Lehecka🟨 WARM | Total Games Won | 18.5 | 9.29 | +49.8% | LESS | LOW | Alexander Zverev | clay | — | 0.5x |
| 17 | Grigor Dimitrov🧊 COLD | Total Games Won | 20.5 | 10.35 | +49.5% | LESS | LOW | Arthur Fery | clay | — | 0.5x |
| 18 | Felix Auger-Aliassime🟨 WARM | Total Games Won | 19.5 | 9.90 | +49.2% | LESS | LOW | Novak Djokovic | clay | — | 0.5x |
| 19 | Jan-Lennard Struff🧊 COLD | Aces | 10.5 | 5.39 | +48.7% | LESS | LOW | Jannik Sinner | clay | — | 0.5x |
| 20 | Novak Djokovic⏳ RTRN | Total Games Won | 21.5 | 11.10 | +48.4% | LESS | LOW | Felix Auger-Aliassime | clay | — | 0.5x |
| 21 | Arthur Fery🧊 COLD | Total Games Won | 18.5 | 9.60 | +48.1% | LESS | LOW | Grigor Dimitrov | clay | — | 0.5x |
| 22 | Alexander Zverev🟨 WARM | Total Games Won | 21.5 | 11.71 | +45.5% | LESS | LOW | Jiri Lehecka | clay | — | 0.5x |
| 23 | Tatjana Maria | Total Games | 17.0 | 24.50 | +44.1% | MORE | LOW | Olivia Lincer | clay | — | 0.5x |
| 24 | Novak Djokovic⏳ RTRN | Break Points Won | 2.5 | 3.55 | +42.1% | MORE | LOW | Felix Auger-Aliassime | clay | — | 1.0x |
| 25 | Taylor Fritz⏳ RTRN | Total Games | 42.0 | 24.57 | +41.5% | LESS | LOW | Alexander Bublik | clay | — | 0.5x |
| 26 | Alexander Zverev🟨 WARM | Total Games | 39.5 | 23.74 | +39.9% | LESS | LOW | Jiri Lehecka | clay | — | 0.5x |
| 27 | Novak Djokovic⏳ RTRN | Aces | 10.5 | 6.39 | +39.1% | LESS | LOW | Felix Auger-Aliassime | clay | — | 0.5x |
| 28 | Novak Djokovic⏳ RTRN | Total Games | 40.5 | 25.02 | +38.2% | LESS | LOW | Felix Auger-Aliassime | clay | — | 0.5x |
| 29 | Jan-Lennard Struff🧊 COLD | Total Games Won | 11.5 | 7.26 | +36.9% | LESS | LOW | Jannik Sinner | clay | — | 0.5x |
| 30 | Katie Volynets | Total Games | 17.5 | 23.93 | +36.8% | MORE | LOW | Ariana Arseneault | clay | — | 0.5x |
| 31 | Grigor Dimitrov🧊 COLD | Total Games | 39.5 | 25.24 | +36.1% | LESS | LOW | Arthur Fery | clay | — | 0.5x |
| 32 | Mary Stoiana🟨 WARM | Total Games | 18.5 | 24.32 | +31.5% | MORE | LOW | Katrina Scott | clay | — | 1.0x |
| 33 | Greet Minnen🧊 COLD | Total Games | 18.5 | 24.32 | +31.4% | MORE | LOW | Mei Yamaguchi | clay | — | 1.0x |
| 34 | Yufei Ren🟨 WARM | Total Games Won | 7.5 | 9.70 | +29.3% | MORE | LOW | Alice Tubello | clay | — | 1.0x |
| 35 | Jessica Pegula🟨 WARM | Break Points Won | 3.5 | 4.47 | +27.7% | MORE | LOW | Coco Gauff | clay | — | 1.0x |
| 36 | Jannik Sinner🟨 WARM | Total Games | 30.5 | 22.22 | +27.1% | LESS | LOW | Jan-Lennard Struff | clay | — | 0.5x |
| 37 | Taylor Fritz⏳ RTRN | Break Points Won | 2.5 | 3.17 | +26.9% | MORE | LOW | Alexander Bublik | clay | — | 1.0x |
| 38 | Linea Bajraliu⏳ RTRN | Total Games Won | 7.5 | 9.48 | +26.4% | MORE | LOW | Tamara Korpatsch | clay | — | 1.0x |
| 39 | Lucrezia Stefanini🧊 COLD | Total Games | 19.5 | 24.26 | +24.4% | MORE | LOW | Carol Zhao | clay | — | 1.0x |
| 40 | Darja Vidmanova🧊 COLD | Total Games | 18.5 | 22.79 | +23.2% | MORE | LOW | Carolyn Ansari | clay | — | 1.0x |
| 41 | Francesca Jones | Total Games | 19.5 | 24.01 | +23.1% | MORE | LOW | Alice Rame | clay | — | 1.0x |
| 42 | Tamara Korpatsch🟨 WARM | Total Games | 19.5 | 23.32 | +19.6% | MORE | LOW | Linea Bajraliu | clay | — | 1.0x |
| 43 | Dalma Galfi | Total Games | 20.5 | 24.49 | +19.4% | MORE | LOW | Kajsa Rinaldo Persson | clay | — | 1.0x |
| 44 | Paula Badosa🧊 COLD | Total Games | 20.0 | 23.76 | +18.8% | MORE | LOW | Marina Bassols Ribera | clay | — | 1.0x |
| 45 | Mananchaya Sawangkaew🟨 WARM | Total Games | 20.5 | 24.34 | +18.7% | MORE | LOW | Caroline Dolehide | clay | — | 1.0x |
| 46 | Karolina Muchova⏳ RTRN | Total Games Won | 12.5 | 10.20 | +18.4% | LESS | LOW | Naomi Osaka | clay | — | 0.5x |
| 47 | Jessica Pegula🟨 WARM | Total Games Won | 12.5 | 10.21 | +18.4% | LESS | LOW | Coco Gauff | clay | — | 0.5x |
| 48 | Cadence Brace | Total Games | 20.5 | 24.24 | +18.2% | MORE | LOW | Katherine Sebov | clay | — | 1.0x |
| 49 | Jannik Sinner🟨 WARM | Break Points Won | 4.5 | 3.71 | +17.5% | LESS | LOW | Jan-Lennard Struff | clay | — | 1.0x |
| 50 | Elsa Jacquemot🧊 COLD | Total Games | 20.5 | 23.92 | +16.7% | MORE | LOW | Aurora Zantedeschi | clay | — | 1.0x |
| 51 | Reese Brantmeier⏳ RTRN | Total Games | 20.5 | 23.83 | +16.3% | MORE | LOW | Sachia Vickery | clay | — | 1.0x |
| 52 | Alice Tubello🟨 WARM | Total Games | 19.5 | 22.66 | +16.2% | MORE | LOW | Yufei Ren | clay | — | 1.0x |
| 53 | Lola Radivojevic🧊 COLD | Total Games | 20.5 | 23.64 | +15.3% | MORE | LOW | Mona Barthel | clay | — | 1.0x |
| 54 | Iryna Shymanovich | Total Games | 20.5 | 23.58 | +15.1% | MORE | LOW | Hayu Kinoshita | clay | — | 1.0x |
| 55 | Elizabeth Mandlik | Total Games | 20.5 | 23.36 | +13.9% | MORE | LOW | Momoko Kobori | clay | — | 1.0x |
| 56 | Naomi Osaka🟨 WARM | Total Games Won | 12.5 | 10.80 | +13.6% | LESS | LOW | Karolina Muchova | clay | — | 0.5x |
| 57 | Madison Keys⏳ RTRN | Total Games Won | 12.5 | 10.81 | +13.6% | LESS | LOW | Linda Noskova | clay | — | 0.5x |
| 58 | Clervie Ngounoue⏳ RTRN | Total Games | 21.5 | 24.36 | +13.3% | MORE | LOW | Lea Ma | clay | — | 0.5x |
| 59 | Kayla Cross🟨 WARM | Total Games | 21.5 | 24.29 | +13.0% | MORE | LOW | Sayaka Ishii | clay | — | 1.0x |
| 60 | Varvara Lepchenko | Total Games | 21.5 | 24.29 | +13.0% | MORE | LOW | Lisa Zaar | clay | — | 1.0x |
| 61 | Alana Smith🧊 COLD | Total Games | 21.5 | 24.27 | +12.9% | MORE | LOW | Kylie Collins | clay | — | 1.0x |
| 62 | Aurora Zantedeschi | Total Games Won | 10.5 | 9.16 | +12.8% | LESS | LOW | Elsa Jacquemot | clay | — | 1.0x |
| 63 | Claire Liu🟨 WARM | Total Games | 21.5 | 23.87 | +11.0% | MORE | LOW | Sinja Kraus | clay | — | 1.0x |
| 64 | Petra Marcinko | Total Games | 20.5 | 22.63 | +10.4% | MORE | LOW | Clara Burel | clay | — | 1.0x |
| 65 | Clara Burel🧊 COLD | Total Games Won | 9.5 | 8.63 | +9.1% | LESS | LOW | Petra Marcinko | clay | — | 1.0x |
| 66 | Grigor Dimitrov🧊 COLD | Break Points Won | 3.5 | 3.23 | +7.7% | LESS | LOW | Arthur Fery | clay | — | 1.0x |
| 67 | Arthur Fery🧊 COLD | Aces | 6.5 | 6.10 | +6.1% | LESS | LOW | Grigor Dimitrov | clay | — | 0.5x |
| 68 | Madison Keys⏳ RTRN | Total Games | 22.5 | 23.85 | +6.0% | MORE | LOW | Linda Noskova | clay | — | 0.5x |
| 69 | Jessica Pegula🟨 WARM | Total Games | 22.5 | 23.85 | +6.0% | MORE | LOW | Coco Gauff | clay | — | 0.5x |
| 70 | Naomi Osaka🟨 WARM | Total Games | 23.0 | 24.16 | +5.0% | MORE | LOW | Karolina Muchova | clay | — | 0.5x |
| 71 | Mona Barthel🧊 COLD | Total Games Won | 9.5 | 9.78 | +2.9% | MORE | LOW | Lola Radivojevic | clay | — | 1.0x |
| 72 | Kajsa Rinaldo Persson⏳ RTRN | Total Games Won | 9.5 | 9.65 | +1.6% | MORE | LOW | Dalma Galfi | clay | — | 1.0x |
| 73 | Angela Fita Boluda🟨 WARM | Total Games Won | 9.5 | 9.59 | +1.0% | MORE | LOW | Lisa Pigato | clay | — | 1.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
| # | Match | Pick | Our P | Ask | Edge | Tier | Surface | Stake | Status | P&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
| # | Player | Stat | Line | Our proj | Side | Edge | Tier | Surface | Stake | Status | P&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-06T06:14:57 Β· 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|.| Player | Sharp (Kalshi) | Public (Poly) | Ξ | Poly per-slam |
|---|---|---|---|---|
| Felix Auger-Aliassime Β· exact | 24.5% | 3.4% | -21.1pp Β· SHARP HIGHER | Wim 3% |
| Alex de Minaur Β· exact | 19.0% | 2.4% | -16.6pp Β· SHARP HIGHER | Wim 2% |
| Lorenzo Musetti Β· exact | 14.5% | 1.0% | -13.5pp Β· SHARP HIGHER | US 1% |
| Jannik Sinner Β· exact | 68.0% | 77.7% | +9.7pp Β· PUBLIC HIGHER | Wim 60%, US 44% |
| Novak Djokovic Β· exact | 23.0% | 17.6% | -5.4pp Β· SHARP HIGHER | Wim 12%, US 6% |
| Daniil Medvedev Β· exact | 6.5% | 2.5% | -4.0pp Β· SHARP HIGHER | US 3% |
| Jack Draper Β· exact | 4.5% | 1.0% | -3.5pp Β· SHARP HIGHER | US 1% |
| Taylor Fritz Β· exact | 7.0% | 9.3% | +2.3pp Β· PUBLIC HIGHER | Wim 7%, US 3% |
| Frances Tiafoe Β· exact | 2.5% | 0.9% | -1.6pp Β· SHARP HIGHER | US 1% |
| Ben Shelton Β· exact | 3.0% | 2.2% | -0.8pp Β· SHARP HIGHER | US 2% |
| Alexander Bublik Β· exact | 3.5% | 2.8% | -0.7pp Β· SHARP HIGHER | Wim 1%, US 2% |
| Karen Khachanov Β· no-match | 1.0% | — | no Poly match | — |
| Casper Ruud Β· no-match | 4.5% | — | no Poly match | — |
Per-match overlaps
No active per-match overlaps right now (Polymarket tennis volume concentrates in Grand Slam futures).
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
PP 3.25
INSUFFICIENT_N
Total Games Won
n=13
Ours
PP
Us 5.11
PP 4.96
NULL
PP 4.96
NULL
Total Tie Breaks
n=1
Ours
PP
Us 0.25
PP 0.50
INSUFFICIENT_N
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
PP 3.75
NULL
MED
n=0
Ours
PP
Us —
PP —
INSUFFICIENT_N
PP —
INSUFFICIENT_N
STRONG
n=2
Ours
PP
Us 6.75
PP 9.00
INSUFFICIENT_N
PP 9.00
INSUFFICIENT_N
No AAR available yet.
Expected:
Expected:
~/.claude/projects/.../memory/aar_tennis_<date>.mdNo actionable PP line movement yet.
Expected:
Expected:
pp_line_movement_tennis_2026-07-06.csv. Needs at least 2 PP snapshots in pp_snapshots_tennis/.ATP top 50
| Rk | Player | Country | Pts | ELO overall | ELO clay | ELO grass | ELO hard |
|---|---|---|---|---|---|---|---|
| 1 | Jannik Sinner | ITA | 13500 | 2167 | 1879 | 1695 | 2062 |
| 2 | Carlos Alcaraz | ESP | 9960 | 2070 | 1867 | 1717 | 1956 |
| 3 | Alexander Zverev | GER | 7305 | 1994 | 1865 | 1594 | 1863 |
| 4 | Felix Auger Aliassime | CAN | 4440 | 1854 | 1642 | 1517 | 1803 |
| 5 | Ben Shelton | USA | 3920 | 1816 | 1665 | 1561 | 1765 |
| 6 | Alex De Minaur | AUS | 3905 | 1851 | 1677 | 1590 | 1806 |
| 7 | Novak Djokovic | SRB | 3760 | 1929 | 1729 | 1636 | 1846 |
| 8 | Daniil Medvedev | RUS | 3760 | 1884 | 1659 | 1585 | 1845 |
| 9 | Taylor Fritz | USA | 3720 | 1793 | 1551 | 1722 | 1749 |
| 10 | Flavio Cobolli | ITA | 3540 | 1833 | 1754 | 1557 | 1655 |
| 11 | Alexander Bublik | KAZ | 2930 | 1785 | 1681 | 1569 | 1703 |
| 12 | Jiri Lehecka | CZE | 2575 | 1814 | 1632 | 1574 | 1754 |
| 13 | Andrey Rublev | RUS | 2460 | 1804 | 1705 | 1516 | 1683 |
| 14 | Casper Ruud | NOR | 2425 | 1866 | 1805 | 1502 | 1685 |
| 15 | Karen Khachanov | RUS | 2320 | 1723 | 1622 | 1567 | 1639 |
| 16 | Lorenzo Musetti | ITA | 2315 | 1832 | 1764 | 1607 | 1723 |
| 17 | Jakub Mensik | CZE | 2300 | 1825 | 1661 | 1497 | 1747 |
| 18 | Luciano Darderi | ITA | 2300 | 1772 | 1790 | 1466 | 1466 |
| 19 | Learner Tien | USA | 2270 | 1847 | 1622 | 1506 | 1789 |
| 20 | Valentin Vacherot | MON | 2145 | 1800 | 1695 | 1467 | 1738 |
| 21 | Arthur Fils | FRA | 1940 | 1892 | 1746 | 1546 | 1771 |
| 22 | Alejandro Davidovich Fokina | ESP | 1860 | 1749 | 1593 | 1545 | 1703 |
| 23 | Rafael Jodar | ESP | 1849 | 1893 | 1755 | — | 1765 |
| 24 | Arthur Rinderknech | FRA | 1776 | 1713 | 1576 | 1530 | 1631 |
| 25 | Joao Fonseca | BRA | 1735 | 1837 | 1673 | 1495 | 1795 |
| 26 | Frances Tiafoe | USA | 1705 | 1775 | 1640 | 1488 | 1719 |
| 27 | Francisco Cerundolo | ARG | 1660 | 1790 | 1700 | 1426 | 1698 |
| 28 | Tommy Paul | USA | 1645 | 1851 | 1758 | 1587 | 1743 |
| 29 | Cameron Norrie | GBR | 1595 | 1738 | 1631 | 1529 | 1682 |
| 30 | Tomas Martin Etcheverry | ARG | 1510 | 1751 | 1656 | 1456 | 1636 |
| 31 | Alejandro Tabilo | CHI | 1428 | 1798 | 1705 | 1575 | 1637 |
| 32 | Brandon Nakashima | USA | 1385 | 1713 | 1582 | 1590 | 1660 |
| 33 | Ugo Humbert | FRA | 1370 | 1715 | 1498 | 1517 | 1697 |
| 34 | Matteo Arnaldi | ITA | 1336 | 1719 | 1676 | 1455 | 1558 |
| 35 | Ignacio Buse | PER | 1316 | 1773 | 1732 | 1482 | 1562 |
| 36 | Corentin Moutet | FRA | 1283 | 1673 | 1567 | 1574 | 1640 |
| 37 | Alexander Blockx | BEL | 1280 | 1820 | 1688 | 1508 | 1713 |
| 38 | Alex Michelsen | USA | 1205 | 1727 | 1522 | 1538 | 1702 |
| 39 | Mariano Navone | ARG | 1165 | 1767 | 1722 | 1460 | 1507 |
| 40 | Zizou Bergs | BEL | 1150 | 1681 | 1547 | 1521 | 1631 |
| 41 | Tallon Griekspoor | NED | 1150 | 1680 | 1576 | 1564 | 1645 |
| 42 | Denis Shapovalov | CAN | 1130 | 1668 | 1483 | 1472 | 1698 |
| 43 | Tomas Machac | CZE | 1120 | 1745 | 1602 | 1500 | 1682 |
| 44 | Jaume Munar | ESP | 1105 | 1695 | 1589 | 1508 | 1635 |
| 45 | Juan Manuel Cerundolo | ARG | 1055 | 1756 | 1753 | 1469 | 1532 |
| 46 | Adrian Mannarino | FRA | 1031 | 1565 | 1369 | 1584 | 1569 |
| 47 | Marin Cilic | CRO | 994 | 1684 | 1513 | 1611 | 1635 |
| 48 | Matteo Berrettini | ITA | 985 | 1749 | 1689 | 1524 | 1694 |
| 49 | Miomir Kecmanovic | SRB | 980 | 1688 | 1584 | 1500 | 1595 |
| 50 | Nuno Borges | POR | 970 | 1656 | 1596 | 1493 | 1596 |
WTA top 50
| Rk | Player | Country | Pts | ELO overall | ELO clay | ELO grass | ELO hard |
|---|---|---|---|---|---|---|---|
| 1 | Aryna Sabalenka | BLR | 9090 | 2089 | 1801 | 1588 | 2045 |
| 2 | Elena Rybakina | KAZ | 8143 | 2040 | 1766 | 1580 | 1972 |
| 3 | Iga Swiatek | POL | 6733 | 1957 | 1809 | 1658 | 1852 |
| 4 | Jessica Pegula | USA | 6056 | 1979 | 1701 | 1583 | 1901 |
| 5 | Amanda Anisimova | USA | 5848 | 1906 | 1580 | 1638 | 1822 |
| 6 | Mirra Andreeva | RUS | 5751 | 1995 | 1867 | 1513 | 1797 |
| 7 | Coco Gauff | USA | 4879 | 1980 | 1824 | 1519 | 1871 |
| 8 | Elina Svitolina | UKR | 4315 | 1996 | 1824 | 1550 | 1824 |
| 9 | Victoria Mboko | CAN | 3670 | 1937 | 1726 | 1515 | 1891 |
| 10 | Karolina Muchova | CZE | 3438 | 1927 | 1602 | 1494 | 1869 |
| 11 | Belinda Bencic | SUI | 3385 | 1904 | 1636 | 1561 | 1831 |
| 12 | Marta Kostyuk | UKR | 3157 | 1959 | 1801 | 1449 | 1755 |
| 13 | Linda Noskova | CZE | 3054 | 1869 | 1599 | 1583 | 1763 |
| 14 | Jasmine Paolini | ITA | 2617 | 1809 | 1701 | 1585 | 1741 |
| 15 | Naomi Osaka | JPN | 2571 | 1855 | 1688 | 1514 | 1734 |
| 16 | Diana Shnaider | RUS | 2506 | 1841 | 1701 | 1565 | 1686 |
| 17 | Ekaterina Alexandrova | RUS | 2449 | 1711 | 1556 | 1584 | 1662 |
| 18 | Sorana Cirstea | ROU | 2415 | 1919 | 1714 | 1429 | 1797 |
| 19 | Iva Jovic | USA | 2366 | 1833 | 1667 | 1601 | 1759 |
| 20 | Anna Kalinskaya | RUS | 2212 | 1834 | 1631 | 1546 | 1721 |
| 21 | Maja Chwalinska | POL | 1996 | 1860 | 1795 | 1483 | 1693 |
| 22 | Elise Mertens | BEL | 1918 | 1811 | 1619 | 1581 | 1714 |
| 23 | Leylah Fernandez | CAN | 1844 | 1760 | 1569 | 1546 | 1679 |
| 24 | Clara Tauson | DEN | 1800 | 1719 | 1527 | 1520 | 1679 |
| 25 | Emma Navarro | USA | 1779 | 1759 | 1653 | 1590 | 1613 |
| 26 | Madison Keys | USA | 1772 | 1864 | 1732 | 1558 | 1766 |
| 27 | Anastasia Potapova | RUS | 1640 | 1855 | 1743 | 1484 | 1640 |
| 28 | Marie Bouzkova | CZE | 1631 | 1787 | 1702 | 1476 | 1648 |
| 29 | Ann Li | USA | 1601 | 1759 | 1646 | 1478 | 1647 |
| 30 | Hailey Baptiste | USA | 1513 | 1790 | 1667 | 1488 | 1667 |
| 31 | Xin Yu Wang | CHN | 1431 | 1719 | 1537 | 1591 | 1616 |
| 32 | Katerina Siniakova | CZE | 1422 | 1771 | 1559 | 1578 | 1693 |
| 33 | Alexandra Eala | PHI | 1416 | 1837 | 1495 | 1665 | 1748 |
| 34 | Cristina Bucsa | ESP | 1406 | 1705 | 1443 | 1514 | 1684 |
| 35 | Liudmila Samsonova | RUS | 1405 | 1680 | 1593 | 1619 | 1566 |
| 36 | Jelena Ostapenko | LAT | 1404 | 1762 | 1660 | 1534 | 1621 |
| 37 | Maria Sakkari | GRE | 1328 | 1729 | 1589 | 1486 | 1658 |
| 38 | Jaqueline Cristian | ROU | 1294 | 1767 | 1631 | 1432 | 1698 |
| 39 | Mccartney Kessler | USA | 1289 | 1751 | 1547 | 1583 | 1688 |
| 40 | Janice Tjen | INA | 1267 | 1780 | 1634 | 1503 | 1785 |
| 41 | Elisabetta Cocciaretto | ITA | 1260 | 1800 | 1586 | 1577 | 1689 |
| 42 | Emma Raducanu | GBR | 1241 | 1727 | 1548 | 1577 | 1658 |
| 43 | Magdalena Frech | POL | 1238 | 1655 | 1530 | 1434 | 1613 |
| 44 | Laura Siegemund | GER | 1230 | 1691 | 1553 | 1541 | 1592 |
| 45 | Barbora Krejcikova | CZE | 1211 | 1743 | 1550 | 1606 | 1647 |
| 46 | Sara Bejlek | CZE | 1205 | 1783 | 1736 | 1486 | 1653 |
| 47 | Tereza Valentova | CZE | 1165 | 1829 | 1727 | 1517 | 1788 |
| 48 | Marketa Vondrousova | CZE | 1133 | 1728 | 1606 | 1578 | 1609 |
| 49 | Dayana Yastremska | UKR | 1126 | 1743 | 1640 | 1575 | 1594 |
| 50 | Petra Marcinko | CRO | 1123 | 1771 | 1743 | 1467 | 1633 |
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
| Surface | Matches | % strong fav | Lean |
|---|---|---|---|
| hard | 5 | 0.0% | pick'em slate |
| grass | 154 | 3.9% | pick'em slate |
ATP (current surface: grass, top 50 by composite)
| Rk | Player | Country | Composite | ELO overall | ELO grass | Form | Off. rank |
|---|---|---|---|---|---|---|---|
| 1 | Jannik Sinner | ITA | 2051.6 | 2167 | 1695 | WARM | 1 |
| 2 | Carlos Alcaraz | ESP | 1923.6 | 2070 | 1717 | RETURNING | 2 |
| 3 | Rafael Jodar | ESP | 1913.0 | 1893 | 1893 | WARM | 23 |
| 4 | Alexander Zverev | GER | 1898.3 | 1994 | 1594 | WARM | 3 |
| 5 | Daniil Medvedev | RUS | 1808.0 | 1884 | 1585 | WARM | 8 |
| 6 | Arthur Fils | FRA | 1791.0 | 1892 | 1546 | WARM | 21 |
| 7 | Novak Djokovic | SRB | 1788.6 | 1929 | 1636 | RETURNING | 7 |
| 8 | Tommy Paul | USA | 1778.5 | 1851 | 1587 | WARM | 28 |
| 9 | Felix Auger Aliassime | CAN | 1777.3 | 1854 | 1517 | WARM | 4 |
| 10 | Adolfo Daniel Vallejo | PAR | 1775.3 | 1755 | 1755 | WARM | 72 |
| 11 | Alex De Minaur | AUS | 1775.0 | 1851 | 1590 | NEUTRAL | 6 |
| 12 | Daniel Merida Aguilar | ESP | 1767.7 | 1748 | 1748 | WARM | 82 |
| 13 | Yibing Wu | CHN | 1766.8 | 1747 | 1747 | WARM | 101 |
| 14 | Ben Shelton | USA | 1764.8 | 1816 | 1561 | WARM | 5 |
| 15 | Flavio Cobolli | ITA | 1759.5 | 1833 | 1557 | WARM | 10 |
| 16 | Casper Ruud | NOR | 1758.5 | 1866 | 1502 | WARM | 14 |
| 17 | Lorenzo Musetti | ITA | 1753.5 | 1832 | 1607 | NEUTRAL | 16 |
| 18 | Dino Prizmic | CRO | 1753.2 | 1813 | 1499 | HOT | 70 |
| 19 | Jiri Lehecka | CZE | 1750.1 | 1814 | 1574 | WARM | 12 |
| 20 | Alejandro Tabilo | CHI | 1739.8 | 1798 | 1575 | WARM | 31 |
| 21 | Joao Fonseca | BRA | 1737.3 | 1837 | 1495 | WARM | 25 |
| 22 | Alexander Blockx | BEL | 1730.5 | 1820 | 1508 | WARM | 37 |
| 23 | Jakub Mensik | CZE | 1730.1 | 1825 | 1497 | WARM | 17 |
| 24 | Toby Samuel | GBR | 1728.8 | 1709 | 1709 | WARM | 150 |
| 25 | Learner Tien | USA | 1727.2 | 1847 | 1506 | NEUTRAL | 19 |
| 26 | Taylor Fritz | USA | 1724.0 | 1793 | 1722 | RETURNING | 9 |
| 27 | Stefanos Sakellaridis | GRE | 1711.7 | 1692 | 1692 | WARM | 155 |
| 28 | Alexander Bublik | KAZ | 1709.5 | 1785 | 1569 | NEUTRAL | 11 |
| 29 | Rei Sakamoto | JPN | 1706.3 | 1686 | 1686 | WARM | 149 |
| 30 | Valentin Vacherot | MON | 1703.4 | 1800 | 1467 | WARM | 20 |
| 31 | Andrey Rublev | RUS | 1703.1 | 1804 | 1516 | NEUTRAL | 13 |
| 32 | Zachary Svajda | USA | 1696.9 | 1722 | 1650 | NEUTRAL | 62 |
| 33 | Michael Mmoh | USA | 1695.3 | 1675 | 1675 | WARM | 195 |
| 34 | Alex Molcan | SVK | 1694.0 | 1744 | 1744 | RETURNING | 102 |
| 35 | Nikolas Sanchez Izquierdo | ESP | 1691.4 | 1641 | 1641 | HOT | 226 |
| 36 | Kilian Feldbausch | SUI | 1688.9 | 1669 | 1669 | WARM | 287 |
| 37 | Pablo Carreno Busta | ESP | 1684.3 | 1761 | 1484 | WARM | 71 |
| 38 | Buvaysar Gadamauri | BEL | 1684.1 | 1664 | 1664 | WARM | 261 |
| 39 | Francisco Cerundolo | ARG | 1682.9 | 1790 | 1426 | WARM | 27 |
| 40 | Jack Draper | GBR | 1682.2 | 1806 | 1594 | RETURNING | 112 |
| 41 | Mariano Navone | ARG | 1679.8 | 1767 | 1460 | WARM | 39 |
| 42 | Franco Roncadelli | URU | 1679.0 | 1659 | 1659 | WARM | 227 |
| 43 | Alejandro Davidovich Fokina | ESP | 1677.3 | 1749 | 1545 | NEUTRAL | 22 |
| 44 | Roman Andres Burruchaga | ARG | 1676.8 | 1733 | 1514 | WARM | 63 |
| 45 | Juan Manuel Cerundolo | ARG | 1675.7 | 1756 | 1469 | WARM | 45 |
| 46 | Hubert Hurkacz | POL | 1675.6 | 1714 | 1547 | WARM | 96 |
| 47 | Ignacio Buse | PER | 1671.0 | 1773 | 1482 | NEUTRAL | 35 |
| 48 | Matteo Berrettini | ITA | 1670.6 | 1749 | 1524 | NEUTRAL | 48 |
| 49 | Brandon Nakashima | USA | 1670.4 | 1713 | 1590 | NEUTRAL | 32 |
| 50 | Bu Yunchaokete | CHN | 1668.7 | 1709 | 1536 | WARM | 131 |
WTA (current surface: grass, top 50 by composite)
| Rk | Player | Country | Composite | ELO overall | ELO grass | Form | Off. rank |
|---|---|---|---|---|---|---|---|
| 1 | Aryna Sabalenka | BLR | 1963.9 | 2089 | 1588 | WARM | 1 |
| 2 | Elena Rybakina | KAZ | 1925.9 | 2040 | 1580 | WARM | 2 |
| 3 | Alexandra Shubladze | RUS | 1898.6 | 1879 | 1879 | WARM | 184 |
| 4 | Jeline Vandromme | BEL | 1883.0 | 1863 | 1863 | WARM | 176 |
| 5 | Jessica Pegula | USA | 1881.7 | 1979 | 1583 | WARM | 4 |
| 6 | Iga Swiatek | POL | 1876.4 | 1957 | 1658 | NEUTRAL | 3 |
| 7 | Elina Svitolina | UKR | 1869.3 | 1996 | 1550 | WARM | 8 |
| 8 | Lisa Pigato | ITA | 1866.5 | 1846 | 1846 | WARM | 132 |
| 9 | Mirra Andreeva | RUS | 1861.0 | 1995 | 1513 | WARM | 6 |
| 10 | Coco Gauff | USA | 1850.8 | 1980 | 1519 | WARM | 7 |
| 11 | Akasha Urhobo | USA | 1843.4 | 1823 | 1823 | WARM | 180 |
| 12 | Tyra Caterina Grant | USA | 1840.5 | 1820 | 1820 | WARM | 157 |
| 13 | Dayeon Back | KOR | 1825.7 | 1806 | 1806 | WARM | 279 |
| 14 | Kaitlin Quevedo | USA | 1824.7 | 1825 | 1825 | NEUTRAL | 107 |
| 15 | Victoria Mboko | CAN | 1815.1 | 1937 | 1515 | WARM | 9 |
| 16 | Laura Samson | CZE | 1810.3 | 1810 | 1810 | NEUTRAL | 137 |
| 17 | Alice Tubello | FRA | 1810.1 | 1790 | 1790 | WARM | 222 |
| 18 | Belinda Bencic | SUI | 1804.3 | 1904 | 1561 | WARM | 11 |
| 19 | Carol Young Suh Lee | POC | 1801.3 | 1781 | 1781 | WARM | 192 |
| 20 | Jennifer Ruggeri | ITA | 1801.1 | 1781 | 1781 | WARM | 213 |
| 21 | Marta Kostyuk | UKR | 1800.2 | 1959 | 1449 | WARM | 12 |
| 22 | Anastasia Zolotareva | RUS | 1798.0 | 1778 | 1778 | WARM | 233 |
| 23 | Kristina Liutova | RUS | 1796.5 | 1777 | 1777 | WARM | 229 |
| 24 | Luisina Giovannini | ARG | 1793.4 | 1843 | 1843 | RETURNING | 173 |
| 25 | Angela Fita Boluda | ESP | 1793.2 | 1773 | 1773 | WARM | 195 |
| 26 | Eva Guerrero Alvarez | ESP | 1791.5 | 1772 | 1772 | WARM | 274 |
| 27 | Linda Noskova | CZE | 1788.9 | 1869 | 1583 | WARM | 13 |
| 28 | Hayu Kinoshita | JPN | 1787.3 | 1767 | 1767 | WARM | 217 |
| 29 | Martyna Kubka | POL | 1784.6 | 1765 | 1765 | WARM | 243 |
| 30 | Darya Astakhova | RUS | 1782.7 | 1763 | 1763 | WARM | 236 |
| 31 | Amanda Anisimova | USA | 1780.3 | 1906 | 1638 | RETURNING | 5 |
| 32 | Samira De Stefano | ITA | 1779.4 | 1759 | 1759 | WARM | 263 |
| 33 | Alexandra Eala | PHI | 1776.5 | 1837 | 1665 | NEUTRAL | 33 |
| 34 | Caijsa Wilda Hennemann | SWE | 1773.6 | 1774 | 1774 | NEUTRAL | 276 |
| 35 | Lilli Tagger | AUT | 1770.9 | 1771 | 1771 | NEUTRAL | 86 |
| 36 | Claire Liu | USA | 1770.0 | 1750 | 1750 | WARM | 148 |
| 37 | Sorana Cirstea | ROU | 1767.4 | 1919 | 1429 | WARM | 18 |
| 38 | Lanlana Tararudee | THA | 1766.5 | 1860 | 1536 | WARM | 94 |
| 39 | Daria Snigur | UKR | 1765.8 | 1863 | 1528 | WARM | 84 |
| 40 | Veronika Podrez | UKR | 1764.2 | 1814 | 1814 | RETURNING | 145 |
| 41 | Lucie Havlickova | CZE | 1758.1 | 1738 | 1738 | WARM | 212 |
| 42 | Sohyun Park | KOR | 1756.7 | 1737 | 1737 | WARM | 270 |
| 43 | Julie Struplova | CZE | 1755.7 | 1786 | 1786 | COLD | 272 |
| 44 | Tatiana Prozorova | RUS | 1755.6 | 1806 | 1806 | RETURNING | 172 |
| 45 | Elizara Yaneva | BUL | 1752.5 | 1752 | 1752 | NEUTRAL | 225 |
| 46 | Iva Jovic | USA | 1751.9 | 1833 | 1601 | NEUTRAL | 19 |
| 47 | Oleksandra Oliynykova | CRO | 1748.0 | 1859 | 1485 | WARM | 51 |
| 48 | Hanyu Guo | CHN | 1747.7 | 1728 | 1728 | WARM | 156 |
| 49 | Anhelina Kalinina | UKR | 1746.9 | 1842 | 1513 | WARM | 69 |
| 50 | Rebeka Masarova | ESP | 1746.2 | 1813 | 1623 | NEUTRAL | 140 |
ATP on CLAY (top 15 by surface tilt)
| Player | Ξ ELO | ELO clay | ELO overall | Form | Off. rank |
|---|---|---|---|---|---|
| Zdenek Kolar | +27.9 | 1617 | 1589 | NEUTRAL | 162 |
| Gustavo Heide | +25.1 | 1725 | 1700 | RETURNING | 182 |
| Jan Choinski | +19.6 | 1688 | 1668 | COLD | 105 |
| Juan Carlos Prado Angelo | +19.3 | 1648 | 1628 | RETURNING | 161 |
| Gonzalo Bueno | +17.6 | 1637 | 1619 | RETURNING | 180 |
| Luciano Darderi | +17.2 | 1790 | 1772 | WARM | 18 |
| Valentin Royer | +16.5 | 1654 | 1638 | WARM | 74 |
| Alex Barrena | +13.9 | 1571 | 1557 | NEUTRAL | 197 |
| Jesper De Jong | +12.7 | 1672 | 1659 | NEUTRAL | 83 |
| Hugo Dellien | +11.2 | 1688 | 1677 | RETURNING | 165 |
| Timofey Skatov | +11.0 | 1631 | 1620 | NEUTRAL | 175 |
| Tomas Barrios Vera | +9.1 | 1686 | 1677 | COLD | 138 |
| Lukas Neumayer | +8.9 | 1693 | 1684 | WARM | 168 |
| Marco Trungelliti | +8.6 | 1684 | 1675 | NEUTRAL | 80 |
| Facundo Diaz Acosta | +4.7 | 1703 | 1698 | RETURNING | 128 |
WTA on CLAY (top 15 by surface tilt)
| Player | Ξ ELO | ELO clay | ELO overall | Form | Off. rank |
|---|---|---|---|---|---|
| Katarzyna Kawa | +26.3 | 1730 | 1704 | HOT | 143 |
| Despina Papamichail | +7.5 | 1686 | 1679 | NEUTRAL | 168 |
| Teodora Kostovic | +4.7 | 1735 | 1730 | NEUTRAL | 182 |
| Anna Bondar | +4.5 | 1779 | 1775 | WARM | 75 |
| Simona Waltert | -2.9 | 1764 | 1767 | WARM | 90 |
| Carole Monnet | -3.1 | 1662 | 1665 | NEUTRAL | 191 |
| Julia Grabher | -4.8 | 1715 | 1720 | NEUTRAL | 116 |
| Andrea Lazaro Garcia | -7.6 | 1791 | 1799 | WARM | 153 |
| Luisina Giovannini | -10.7 | 1833 | 1843 | RETURNING | 173 |
| Veronika Erjavec | -12.4 | 1739 | 1752 | WARM | 89 |
| Darja Semenistaja | -13.5 | 1778 | 1792 | WARM | 102 |
| Mayar Sherif | -13.8 | 1707 | 1720 | RETURNING | 118 |
| Whitney Osuigwe | -13.8 | 1668 | 1682 | WARM | 183 |
| Nuria Brancaccio | -14.1 | 1658 | 1672 | COLD | 177 |
| Tamara Zidansek | -15.2 | 1761 | 1777 | RETURNING | 134 |
ATP on GRASS (top 15 by surface tilt)
| Player | Ξ ELO | ELO grass | ELO overall | Form | Off. rank |
|---|---|---|---|---|---|
| Shintaro Mochizuki | +54.6 | 1565 | 1511 | RETURNING | 129 |
| Nicolas Jarry | +29.4 | 1564 | 1535 | RETURNING | 189 |
| Billy Harris | +25.6 | 1541 | 1515 | COLD | 144 |
| Adrian Mannarino | +19.4 | 1584 | 1565 | COLD | 46 |
| Roberto Bautista Agut | -25.0 | 1551 | 1576 | COLD | 116 |
| Aleksandar Vukic | -31.8 | 1537 | 1569 | COLD | 100 |
| Otto Virtanen | -49.0 | 1631 | 1680 | NEUTRAL | 158 |
| Tristan Schoolkate | -50.4 | 1550 | 1600 | WARM | 123 |
| Alex Bolt | -56.1 | 1592 | 1648 | WARM | 157 |
| August Holmgren | -56.7 | 1548 | 1605 | WARM | 148 |
| Gabriel Diallo | -63.2 | 1576 | 1639 | COLD | 54 |
| Marcos Giron | -71.3 | 1570 | 1641 | WARM | 88 |
| Zachary Svajda | -72.3 | 1650 | 1722 | NEUTRAL | 62 |
| Marin Cilic | -73.2 | 1611 | 1684 | NEUTRAL | 47 |
| Ugo Blanchet | -74.7 | 1459 | 1534 | COLD | 173 |
WTA on GRASS (top 15 by surface tilt)
| Player | Ξ ELO | ELO grass | ELO overall | Form | Off. rank |
|---|---|---|---|---|---|
| Tatjana Maria | -18.0 | 1598 | 1616 | NEUTRAL | 52 |
| Beatriz Haddad Maia | -64.5 | 1514 | 1578 | COLD | 108 |
| Viktoriya Tomova | -107.0 | 1500 | 1607 | NEUTRAL | 167 |
| Ajla Tomljanovic | -111.2 | 1536 | 1647 | NEUTRAL | 109 |
| Xin Yu Wang | -127.1 | 1591 | 1719 | NEUTRAL | 31 |
| Kamilla Rakhimova | -128.2 | 1576 | 1705 | NEUTRAL | 78 |
| Linda Fruhvirtova | -133.9 | 1543 | 1677 | NEUTRAL | 164 |
| Suzan Lamens | -135.0 | 1489 | 1624 | COLD | 125 |
| Lulu Sun | -136.6 | 1519 | 1655 | NEUTRAL | 110 |
| Victoria Jimenez Kasintseva | -136.9 | 1499 | 1636 | NEUTRAL | 124 |
| Rebecca Sramkova | -137.3 | 1509 | 1646 | NEUTRAL | 120 |
| Dalma Galfi | -138.3 | 1576 | 1714 | NEUTRAL | 117 |
| Ashlyn Krueger | -149.2 | 1563 | 1712 | NEUTRAL | 113 |
| Elena Gabriela Ruse | -159.4 | 1570 | 1730 | NEUTRAL | 88 |
| Bianca Andreescu | -161.6 | 1539 | 1700 | NEUTRAL | 158 |
ATP on HARD (top 15 by surface tilt)
| Player | Ξ ELO | ELO hard | ELO overall | Form | Off. rank |
|---|---|---|---|---|---|
| Hugo Gaston | +45.5 | 1666 | 1620 | WARM | 119 |
| Luca Van Assche | +35.7 | 1704 | 1668 | WARM | 98 |
| Toby Samuel | +29.5 | 1738 | 1709 | WARM | 150 |
| Gauthier Onclin | +6.0 | 1613 | 1607 | HOT | 186 |
| Clement Chidekh | +5.5 | 1629 | 1624 | NEUTRAL | 200 |
| Rinky Hijikata | +3.2 | 1683 | 1680 | WARM | 106 |
| Alexis Galarneau | +2.9 | 1613 | 1610 | WARM | 187 |
| Coleman Wong | -1.9 | 1641 | 1643 | WARM | 108 |
| Benjamin Bonzi | -3.0 | 1678 | 1680 | WARM | 99 |
| Michael Mmoh | -10.9 | 1664 | 1675 | WARM | 195 |
| Borna Gojo | -11.2 | 1698 | 1709 | WARM | 178 |
| Ethan Quinn | -13.2 | 1683 | 1696 | WARM | 67 |
| Marcos Giron | -13.6 | 1628 | 1641 | WARM | 88 |
| Sho Shimabukuro | -14.6 | 1643 | 1657 | NEUTRAL | 104 |
| Terence Atmane | -14.7 | 1627 | 1641 | NEUTRAL | 53 |
WTA on HARD (top 15 by surface tilt)
| Player | Ξ ELO | ELO hard | ELO overall | Form | Off. rank |
|---|---|---|---|---|---|
| Talia Gibson | +53.5 | 1832 | 1779 | HOT | 63 |
| Hanne Vandewinkel | +51.2 | 1848 | 1796 | HOT | 97 |
| Xiaodi You | +1.4 | 1730 | 1729 | WARM | 170 |
| Kimberly Birrell | -6.3 | 1751 | 1757 | WARM | 74 |
| Victoria Jimenez Kasintseva | -6.9 | 1629 | 1636 | WARM | 124 |
| Ye Xin Ma | -9.4 | 1684 | 1693 | WARM | 189 |
| Sofia Costoulas | -11.2 | 1729 | 1740 | WARM | 150 |
| Taylah Preston | -15.5 | 1796 | 1811 | WARM | 126 |
| Polina Iatcenko | -17.5 | 1721 | 1738 | NEUTRAL | 163 |
| Himeno Sakatsume | -18.4 | 1742 | 1761 | NEUTRAL | 127 |
| Vendula Valdmannova | -18.6 | 1785 | 1804 | WARM | 199 |
| Priscilla Hon | -19.1 | 1646 | 1665 | NEUTRAL | 146 |
| Harriet Dart | -23.5 | 1740 | 1763 | WARM | 160 |
| Francisca Jorge | -27.2 | 1699 | 1727 | RETURNING | 196 |
| Hanyu Guo | -27.7 | 1700 | 1728 | WARM | 156 |
WTA on INDOOR (top 15 by surface tilt)
| Player | Ξ ELO | ELO indoor | ELO overall | Form | Off. rank |
|---|---|---|---|---|---|
| Linda Klimovicova | -124.1 | 1616 | 1740 | NEUTRAL | 165 |
| Kimberly Birrell | -177.1 | 1580 | 1757 | NEUTRAL | 74 |
| Ye Xin Ma | -177.9 | 1515 | 1693 | WARM | 189 |
| Carole Monnet | -194.2 | 1471 | 1665 | NEUTRAL | 191 |
| Elvina Kalieva | -209.7 | 1521 | 1731 | WARM | 135 |
| Himeno Sakatsume | -218.0 | 1543 | 1761 | NEUTRAL | 127 |
| Emerson Jones | -222.0 | 1584 | 1806 | WARM | 133 |
| Dalma Galfi | -228.3 | 1486 | 1714 | NEUTRAL | 117 |
| Marina Bassols Ribera | -229.2 | 1503 | 1732 | WARM | 144 |
| Tamara Korpatsch | -240.1 | 1534 | 1774 | WARM | 79 |
| Mona Barthel | -254.2 | 1500 | 1754 | WARM | 193 |
| Polina Iatcenko | -254.5 | 1484 | 1738 | NEUTRAL | 163 |
| Sofia Costoulas | -256.1 | 1484 | 1740 | WARM | 150 |
| Vendula Valdmannova | -269.7 | 1534 | 1804 | WARM | 199 |
| Daria Snigur | -273.9 | 1589 | 1863 | WARM | 84 |
β 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
| Label | Variance | Legs | Joint P | Payout | EV/$ |
|---|---|---|---|---|---|
| 2-pick MED-variance | MED | Alex de Minaur LESS 37.5 Total Games, Noma Noha Akugue MORE 18.5 Total Games | 0.442 | 5.00x | 1.211 |
| 2-pick HIGH-variance | HIGH | Flavio Cobolli LESS 9.5 Aces, Taylor Fritz MORE 2.5 Break Points Won | 0.420 | 10.00x | 3.201 |
| 3-pick MED-variance | MED | Alex de Minaur LESS 37.5 Total Games, Noma Noha Akugue MORE 18.5 Total Games, Marina Bassols Ribera MORE 7.5 Total Games Won | 0.290 | 10.00x | 1.905 |
| 3-pick HIGH-variance | HIGH | Flavio Cobolli LESS 9.5 Aces, Taylor Fritz MORE 2.5 Break Points Won, Alex de Minaur MORE 5.5 Aces | 0.243 | 25.00x | 5.074 |
| 4-pick MED-variance | MED | Alex 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 Games | 0.185 | 18.00x | 2.325 |
| 4-pick HIGH-variance | HIGH | Flavio 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 Aces | 0.134 | 50.00x | 5.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 total | 1802 |
| matched Pinnacle | 370 (20.5%) |
| mean CLV (pp) | 16.16 |
| median CLV (pp) | 15.824 |
| win rate at +CLV | 0.429 |
| win rate at -CLV | 0.6562 |
CLV by market price bucket (FLB signal)
| Bucket | n | Mean CLV (pp) |
|---|---|---|
| <10% | 30 | 32.535 |
| 10-30% | 146 | 21.473 |
| 30-50% | 129 | 11.786 |
| 50-70% | 49 | 6.21 |
| 70-90% | 8 | 3.478 |
| >90% | 8 | 1.915 |
Calibration buckets
| n_total | 1321 |
| ECE (pp) | 4.355 |
| Brier Score | 0.2417 |
| Log Loss | 0.6762 |
Predicted vs actual (10pp buckets)
| Bucket | n | Predicted | Actual | Gap (pp) |
|---|---|---|---|---|
| 0.2-0.30 | 20 | 0.2832 | 0.35 | +6.68 |
| 0.3-0.40 | 154 | 0.3585 | 0.2792 | -7.93 |
| 0.4-0.50 | 521 | 0.4513 | 0.4319 | -1.95 |
| 0.5-0.60 | 487 | 0.5448 | 0.4949 | -4.99 |
| 0.6-0.70 | 124 | 0.6405 | 0.5806 | -5.98 |
| 0.7-0.80 | 14 | 0.7179 | 0.8571 | +13.93 |
| 0.8-0.90 | 1 | 0.8232 | 1.0 | +17.68 |
| Source | DB / file | Last pulled | Age | Rows | Status |
|---|---|---|---|---|---|
| Kalshi KXATPMATCH | tennis_kalshi.sqlite | 2026-07-06T13:12:01.019820+00:00 | 3m | 1918 | fresh |
| Kalshi KXWTAMATCH | tennis_kalshi.sqlite | 2026-07-06T13:12:01.019820+00:00 | 3m | 1944 | fresh |
| Kalshi KXFRENCHOPEN | tennis_kalshi.sqlite | 2026-07-06T13:12:01.019820+00:00 | 3m | 0 | fresh |
| Kalshi KXFOPENMENSINGLE | tennis_kalshi.sqlite | 2026-07-06T13:12:01.019820+00:00 | 3m | 0 | fresh |
| Kalshi KXATPGRANDSLAM | tennis_kalshi.sqlite | 2026-07-06T13:12:01.019820+00:00 | 3m | 14 | fresh |
| Kalshi KXUSOPEN | tennis_kalshi.sqlite | 2026-07-06T13:12:01.019820+00:00 | 3m | 0 | fresh |
| Kalshi KXATPSETWINNER | tennis_kalshi.sqlite | 2026-07-06T13:12:01.019820+00:00 | 3m | 4408 | fresh |
| Kalshi KXATPTOTALSETS | tennis_kalshi.sqlite | 2026-07-06T13:12:01.019820+00:00 | 3m | 0 | fresh |
| Kalshi KXATPSETSWEEP | tennis_kalshi.sqlite | 2026-07-06T13:12:01.019820+00:00 | 3m | 2 | fresh |
| Kalshi KXATPGAMESPREAD | tennis_kalshi.sqlite | 2026-07-06T13:12:01.019820+00:00 | 3m | 0 | fresh |
| Kalshi KXATPEXACTMATCH | tennis_kalshi.sqlite | 2026-07-06T13:12:01.019820+00:00 | 3m | 4096 | fresh |
| Kalshi KXWTADOUBLES | tennis_kalshi.sqlite | 2026-07-06T13:12:01.019820+00:00 | 3m | 254 | fresh |
| Kalshi KXATP1RANK | tennis_kalshi.sqlite | 2026-07-06T13:12:01.019820+00:00 | 3m | 16 | fresh |
| elo last computed | tennis.sqlite | 2026-06-21T17:36:52+00:00 | 355.64h | 20430 | stale |
| rankings last pulled | tennis.sqlite | 2026-06-15T17:40:18+00:00 | 499.58h | 11348 | stale |
| rankings atp latest date | tennis.sqlite | 2026-06-08 | 685.25h | — | stale |
| rankings wta latest date | tennis.sqlite | 2026-06-08 | 685.25h | — | stale |
| mirror atp schedule | tennis.sqlite | 2026-07-06T13:14:05.989985+00:00 | 1m | 86 | fresh |
| h2h last computed | tennis.sqlite | 2026-05-17T10:11:57.514615+00:00 | 1203.05h | — | stale |
| h2h n pairs | tennis.sqlite | 190184 | missing | — | missing |
| last player db run | tennis.sqlite | 1783343666 | missing | — | missing |
| results last_run | tennis_results.sqlite | [2026-07-06T13:14:08.537728+00:00] 2026-07-06T13:14:06.316304+00:00; dates=['20260705']; rows=917; resolved=901 | missing | — | missing |
| pp_edges CSV | pp_edges_tennis_2026-07-06.csv | 2026-07-06T13:14:32.014947+00:00 | 0m | — | fresh |
| kalshi edges JSON | tennis_kalshi_edges_2026-07-06.json | 2026-07-06T13:14:28.795064+00:00 | 0m | — | fresh |
| paper trades PP | paper_trades_pp_tennis_2026-07-06.json | 2026-07-06T13:14:43.000458+00:00 | 0m | — | fresh |
| paper trades Kalshi | paper_trades_kalshi_tennis_2026-07-06.json | 2026-07-06T13:14:43.467668+00:00 | 0m | — | fresh |
| daily payload | daily_tennis_2026-07-06.json | 2026-07-06T13:14:45.360203+00:00 | 0m | — | fresh |
| PP movement | pp_line_movement_tennis_2026-07-06.csv | 2026-07-06T13:14:44.852557+00:00 | 0m | — | fresh |
| PP calibration | pp_calibration_tennis.json | 2026-07-06T13:14:44.786577+00:00 | 0m | — | fresh |