Kalshi KXATPMATCH 3m · 1936rKalshi KXWTAMATCH 3m · 1960rKalshi KXFRENCHOPEN 3mKalshi KXFOPENMENSINGLE 3mKalshi KXATPGRANDSLAM 3m · 14rKalshi KXUSOPEN 3mKalshi KXATPSETWINNER 3m · 4470rKalshi KXATPTOTALSETS 3mKalshi KXATPSETSWEEP 3m · 2rKalshi KXATPGAMESPREAD 3mKalshi KXATPEXACTMATCH 3m · 4418rKalshi KXWTADOUBLES 3m · 266rKalshi KXATP1RANK 3m · 16relo last computed 33d · 20430rrankings last pulled 39d · 11348rrankings atp latest date 47drankings wta latest date 47dmirror atp schedule 1m · 93rh2h last computed 69dh2h 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
63
scheduled
ELITE edges
2
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
29
filtered out today
Last refresh
13:12
2026-07-25 UTC
🏆 Best Bet (main-draw)
No main-draw Kalshi pick survived qualifying filter today.
🎯 Safest (P ≥ 65%)
Alexander Blockx
56%
Heavy main-draw favorite · PAPER
Edge +19.1pp
Ask 37¢
Ask 37¢
💎 Biggest Payout (ELITE)
No ELITE main-draw longshot today.
| # | Match | Tournament | Round | Surface | Start | ELO A | ELO B | ELO diff | Kalshi event |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Tereza Valentova vs Daria Snigur | Livesport Prague Open | Semifinal | hard | Jul 25 11:40 | 1788 | 1822 | -34 | KXWTAMATCH-26JUL25VALSNI |
| 2 | Elina Avanesyan vs Anna Bondar | MSC Hamburg Ladies Open | Semifinal | clay | Jul 25 12:05 | 1653 | 1779 | -126 | KXWTAMATCH-26JUL25AVABON |
| 3 | Lilli Tagger vs Barbora Krejcikova | Livesport Prague Open | Semifinal | hard | Jul 25 13:20 | 1695 | 1647 | +48 | KXWTAMATCH-26JUL25TAGKRE |
| 4 | Mayar Sherif vs Tamara Korpatsch | MSC Hamburg Ladies Open | Semifinal | clay | Jul 25 13:30 | 1707 | 1723 | -16 | |
| 5 | Julieta Pareja vs Polina Iatcenko | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 14:00 | 1633 | 1721 | -88 | KXWTAMATCH-26JUL25PARIAT |
| 6 | Kamilla Rakhimova vs Heather Watson | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 14:00 | 1639 | 1608 | +31 | KXWTAMATCH-26JUL25RAKWAT |
| 7 | Aleksandar Vukic vs Aziz Dougaz | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 14:00 | 1558 | 1501 | +57 | KXATPMATCH-26JUL25VUKDOU |
| 8 | Martin Damm vs Kimmer Coppejans | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 14:00 | 1648 | 1570 | +78 | |
| 9 | James Mccabe vs Alex Bolt | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 14:00 | 1568 | 1609 | -41 | KXATPSETWINNER-26JUL25MCCBOL-1 |
| 10 | Julieta Pareja vs Polina Iatcenko | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 14:00 | 1633 | 1721 | -88 | KXWTAMATCH-26JUL25PARIAT |
| 11 | Kamilla Rakhimova vs Heather Watson | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 14:00 | 1639 | 1608 | +31 | KXWTAMATCH-26JUL25RAKWAT |
| 12 | Aleksandar Vukic vs Aziz Dougaz | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 14:00 | 1558 | 1501 | +57 | KXATPMATCH-26JUL25VUKDOU |
| 13 | Martin Damm vs Kimmer Coppejans | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 14:00 | 1648 | 1570 | +78 | |
| 14 | James Mccabe vs Alex Bolt | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 14:00 | 1568 | 1609 | -41 | KXATPSETWINNER-26JUL25MCCBOL-1 |
| 15 | Katherine Sebov vs Camila Soares | The Memphis Classic | Qualifying 1st Round | hard | Jul 25 15:00 | 1672 | — | — | KXWTAMATCH-26JUL25SEBSOA |
| 16 | Astra Sharma vs Aoi Ito | The Memphis Classic | Qualifying 1st Round | hard | Jul 25 15:00 | 1520 | 1669 | -149 | KXWTAMATCH-26JUL25SHAITO |
| 17 | Clervie Ngounoue vs Varvara Lepchenko | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 15:30 | 1652 | 1645 | +8 | KXWTAMATCH-26JUL25NGOLEP |
| 18 | Polina Kudermetova vs Mei Yamaguchi | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 15:30 | 1628 | 1604 | +24 | KXWTAMATCH-26JUL25KUDYAM |
| 19 | Zachary Svajda vs Stefan Kozlov | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 15:30 | 1683 | 1595 | +88 | KXATPMATCH-26JUL25SVAKOZ |
| 20 | Andre Ilagan vs Remy Bertola | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 15:30 | 1636 | 1601 | +35 | KXATPMATCH-26JUL25ILABER |
| 21 | ? vs Billy Harris | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 15:30 | — | 1514 | — | KXATPSETWINNER-26JUL25SHEHAR-2 |
| 22 | Clervie Ngounoue vs Varvara Lepchenko | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 15:30 | 1652 | 1645 | +8 | KXWTAMATCH-26JUL25NGOLEP |
| 23 | Polina Kudermetova vs Mei Yamaguchi | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 15:30 | 1628 | 1604 | +24 | KXWTAMATCH-26JUL25KUDYAM |
| 24 | Zachary Svajda vs Stefan Kozlov | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 15:30 | 1683 | 1595 | +88 | KXATPMATCH-26JUL25SVAKOZ |
| 25 | Andre Ilagan vs Remy Bertola | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 15:30 | 1636 | 1601 | +35 | KXATPMATCH-26JUL25ILABER |
| 26 | ? vs Billy Harris | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 15:30 | — | 1514 | — | KXATPSETWINNER-26JUL25SHEHAR-2 |
| 27 | Luca Van Assche vs Hugo Gaston | Millennium Estoril Open | Semifinal | clay | Jul 25 16:30 | 1547 | 1495 | +51 | KXATPSETWINNER-26JUL25VANGAS-2 |
| 28 | Anna Frey vs ? | The Memphis Classic | Qualifying 1st Round | hard | Jul 25 16:30 | 1516 | — | — | KXWTAMATCH-26JUL25FRETEI |
| 29 | Daria Kasatkina vs Mariam Bolkvadze | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 17:00 | 1598 | 1647 | -49 | KXWTAMATCH-26JUL25KASBOL |
| 30 | Carolyn Ansari vs Rebecca Sramkova | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 17:00 | 1687 | 1611 | +76 | KXWTAMATCH-26JUL25ANSSRA |
| 31 | Marcos Giron vs Aryan Shah | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 17:00 | 1628 | 1461 | +167 | KXATPSETWINNER-26JUL25GIRSHA-2 |
| 32 | Cruz Hewitt vs Dusan Lajovic | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 17:00 | 1453 | 1473 | -20 | KXATPSETWINNER-26JUL25HEWLAJ-2 |
| 33 | Jordan Lee vs Moez Echargui | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 17:00 | — | 1543 | — | KXATPSETWINNER-26JUL25LEEECH-2 |
| 34 | Francesca Jones vs Alevtina Ibragimova | Palermo Ladies Open | Semifinal | hard | Jul 25 17:00 | 1620 | 1630 | -10 | |
| 35 | Ellie Schoppe vs Ana Grubor | Odlum Brown VanOpen | Qualifying 1st Round | hard | Jul 25 17:00 | — | 1532 | — | |
| 36 | ? vs ? | Odlum Brown VanOpen | Qualifying 1st Round | hard | Jul 25 17:00 | — | — | — | |
| 37 | Katrina Scott vs Sabastiani Leon | Odlum Brown VanOpen | Qualifying 1st Round | hard | Jul 25 17:00 | 1606 | 1445 | +161 | |
| 38 | Daria Kasatkina vs Mariam Bolkvadze | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 17:00 | 1598 | 1647 | -49 | KXWTAMATCH-26JUL25KASBOL |
| 39 | Carolyn Ansari vs Rebecca Sramkova | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 17:00 | 1687 | 1611 | +76 | KXWTAMATCH-26JUL25ANSSRA |
| 40 | Marcos Giron vs Aryan Shah | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 17:00 | 1628 | 1461 | +167 | KXATPSETWINNER-26JUL25GIRSHA-2 |
| 41 | Cruz Hewitt vs Dusan Lajovic | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 17:00 | 1453 | 1473 | -20 | KXATPSETWINNER-26JUL25HEWLAJ-2 |
| 42 | Jordan Lee vs Moez Echargui | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 17:00 | — | 1543 | — | KXATPSETWINNER-26JUL25LEEECH-2 |
| 43 | Karman Thandi vs Sofia Johnson | The Memphis Classic | Qualifying 1st Round | hard | Jul 25 17:00 | 1443 | 1501 | -58 | KXWTAMATCH-26JUL25THAJOH |
| 44 | Eri Hozumi vs ? | The Memphis Classic | Qualifying 1st Round | hard | Jul 25 17:30 | 1494 | — | — | KXWTAMATCH-26JUL25HOZKOZ |
| 45 | Alexander Blockx vs Luciano Darderi | Millennium Estoril Open | Semifinal | clay | Jul 25 18:00 | 1688 | 1790 | -102 | KXATPSETWINNER-26JUL25BLODAR-1 |
| 46 | Ena Shibahara vs ? | Odlum Brown VanOpen | Qualifying 1st Round | hard | Jul 25 18:00 | 1580 | — | — | |
| 47 | Mia Kupres vs Valeria Savinykh | Odlum Brown VanOpen | Qualifying 1st Round | hard | Jul 25 18:00 | 1532 | 1501 | +32 | |
| 48 | ? vs Bella Payne | The Memphis Classic | Qualifying 1st Round | hard | Jul 25 18:00 | — | 1516 | — | KXWTAMATCH-26JUL25DREPAY |
| 49 | ? vs ? | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 18:30 | — | — | — | |
| 50 | Lea Ma vs Katie Swan | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 18:30 | 1640 | 1655 | -15 | KXWTAMATCH-26JUL25LEASWA |
| 51 | Trevor Svajda vs Elias Ymer | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 18:30 | 1537 | 1575 | -38 | KXATPMATCH-26JUL25SVAYME |
| 52 | Mackenzie Mcdonald vs Edas Butvilas | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 18:30 | 1620 | 1609 | +11 | KXATPSETWINNER-26JUL25MCDBUT-2 |
| 53 | Fiona Ferro vs Lucia Bronzetti | Palermo Ladies Open | Semifinal | hard | Jul 25 18:30 | 1674 | 1532 | +142 | |
| 54 | Avery Alexander vs Martina Okalova | Odlum Brown VanOpen | Qualifying 1st Round | hard | Jul 25 18:30 | 1433 | 1519 | -87 | |
| 55 | ? vs ? | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 18:30 | — | — | — | |
| 56 | Lea Ma vs Katie Swan | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 18:30 | 1640 | 1655 | -15 | KXWTAMATCH-26JUL25LEASWA |
| 57 | Trevor Svajda vs Elias Ymer | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 18:30 | 1537 | 1575 | -38 | KXATPMATCH-26JUL25SVAYME |
| 58 | Mackenzie Mcdonald vs Edas Butvilas | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 18:30 | 1620 | 1609 | +11 | KXATPSETWINNER-26JUL25MCDBUT-2 |
| 59 | Christopher Oconnell vs Andres Martin | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 19:00 | 1614 | 1513 | +101 | KXATPMATCH-26JUL25OCOMAR |
| 60 | Christopher Oconnell vs Andres Martin | Mubadala Citi DC Open | Qualifying 1st Round | hard | Jul 25 19:00 | 1614 | 1513 | +101 | KXATPMATCH-26JUL25OCOMAR |
| 61 | Ankita Raina vs Ekaterina Ovcharenko | The Memphis Classic | Qualifying 1st Round | hard | Jul 25 19:00 | 1506 | 1497 | +10 | KXWTAMATCH-26JUL25RAIOVC |
| 62 | Dasha Plekhanova vs Hong Yi Cody Wong | Odlum Brown VanOpen | Qualifying 1st Round | hard | Jul 25 19:30 | 1666 | 1570 | +96 | |
| 63 | Miho Kuramochi vs Hiroko Kuwata | Odlum Brown VanOpen | Qualifying 1st Round | hard | Jul 25 19:30 | 1591 | 1451 | +140 |
| # | Match | Our pick | Our P | Mkt P | Ask | Edge | Tier | Decision | Vol 24h | Surface | Round | EV/$ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Marcos Giron vs Aryan Shah Qual | Aryan Shah | 45.0% | 8.0% | 8¢ | +37.0pp | LOW | SKIP | 5568 | hard | Qualification Round 1 | +0.370 |
| 2 | Soonwoo Kwon vs Alan Fernando Rubio Fierros Qual | Alan Fernando Rubio Fierros | 45.0% | 9.0% | 9¢ | +36.0pp | LOW | SKIP | 1064 | hard | Qualifying 1st Round | +0.360 |
| 3 | Katherine Sebov vs Camila Soares Qual | Camila Soares | 45.0% | 10.0% | 10¢ | +35.0pp | LOW | SKIP | 6379 | hard | Qualifying 1st Round | +0.350 |
| 4 | Tristan Boyer vs Lorenzo Claverie | Lorenzo Claverie | 44.3% | 15.0% | 15¢ | +29.3pp | LOW | PAPER | 3111 | hard | Round Of 16 | +0.293 |
| 5 | Carolyn Ansari vs Rebecca Sramkova Qual | Carolyn Ansari | 49.4% | 21.0% | 21¢ | +28.4pp | LOW | PAPER | 1335 | hard | Qualifying 1st Round | +0.284 |
| 6 | Zachary Svajda vs Stefan Kozlov Qual | Stefan Kozlov | 45.0% | 18.0% | 18¢ | +27.0pp | LOW | PAPER | 9468 | hard | Qualifying 1st Round | +0.270 |
| 7 | Moez Echargui vs Jordan Lee Qual | Jordan Lee | 50.9% | 24.0% | 24¢ | +26.9pp | LOW | PAPER | 6316 | hard | Qualification Round 1 | +0.269 |
| 8 | Roger Pascual Ferra vs Colton Smith Qual | Roger Pascual Ferra | 49.4% | 23.0% | 23¢ | +26.4pp | LOW | PAPER | 2203 | hard | Qualifying 1st Round | +0.264 |
| 9 | Daria Kasatkina vs Mariam Bolkvadze Qual | Mariam Bolkvadze | 45.0% | 19.0% | 19¢ | +26.0pp | LOW | PAPER | 3243 | hard | Qualifying 1st Round | +0.260 |
| 10 | Tereza Valentova vs Daria Snigur | Tereza Valentova | 47.6% | 23.0% | 23¢ | +24.6pp | LOW | PAPER | 615596 | hard | Semifinal | +0.246 |
| 11 | Nicolas Mejia vs Alex Hernandez | Alex Hernandez | 44.8% | 21.0% | 21¢ | +23.8pp | LOW | PAPER | 2387 | hard | Round Of 16 | +0.238 |
| 12 | Cruz Hewitt vs Dusan Lajovic Qual | Cruz Hewitt | 45.0% | 23.0% | 23¢ | +22.0pp | LOW | PAPER | 4607 | hard | Qualification Round 1 | +0.220 |
| 13 | Kimmer Coppejans vs Martin Damm Jr Qual | Kimmer Coppejans | 49.4% | 30.0% | 30¢ | +19.4pp | LOW | PAPER | 7371 | hard | Qualification Round 1 | +0.194 |
| 14 | Polina Kudermetova vs Mei Yamaguchi Qual | Mei Yamaguchi | 41.4% | 22.0% | 22¢ | +19.4pp | LOW | PAPER | 898 | hard | Qualifying 1st Round | +0.194 |
| 15 | Luciano Darderi vs Alexander Blockx | Alexander Blockx | 56.1% | 37.0% | 37¢ | +19.1pp | LOW | PAPER | 81655 | hard | Semifinal | +0.191 |
| 16 | Barbora Krejcikova vs Lilli Tagger | Lilli Tagger | 36.0% | 17.0% | 17¢ | +19.0pp | LOW | PAPER | 77778 | hard | Semifinal | +0.190 |
| 17 | Lea Ma vs Katie Swan Qual | Lea Ma | 52.0% | 34.0% | 34¢ | +18.0pp | LOW | PAPER | 1493 | hard | Qualifying 1st Round | +0.180 |
| 18 | Sofia Johnson vs Karman Kaur Thandi Qual | Karman Kaur Thandi | 41.4% | 24.0% | 24¢ | +17.4pp | LOW | PAPER | 445 | hard | Qualifying 1st Round | +0.174 |
| 19 | Andres Martin vs Christopher O'Connell Qual | Andres Martin | 45.0% | 28.0% | 28¢ | +17.0pp | LOW | PAPER | 2778 | hard | Qualifying 1st Round | +0.170 |
| 20 | Borna Gojo vs Aidan Mayo Qual | Aidan Mayo | 41.4% | 29.0% | 29¢ | +12.4pp | LOW | PAPER | 568 | hard | Qualifying 1st Round | +0.124 |
| 21 | Kamilla Rakhimova vs Heather Watson Qual | Heather Watson | 41.4% | 30.0% | 30¢ | +11.4pp | LOW | PAPER | 5380 | hard | Qualifying 1st Round | +0.114 |
| 22 | Aleksandar Vukic vs Aziz Dougaz Qual | Aziz Dougaz | 45.0% | 34.0% | 34¢ | +11.0pp | LOW | PAPER | 15275 | hard | Qualifying 1st Round | +0.110 |
| 23 | Aoi Ito vs Astra Sharma Qual | Astra Sharma | 45.0% | 34.0% | 34¢ | +11.0pp | LOW | PAPER | 14799 | hard | Qualifying 1st Round | +0.110 |
| 24 | Kennedy Drenser-Hagmann vs Bella Payne Qual | Kennedy Drenser-Hagmann | 45.0% | 34.0% | 34¢ | +11.0pp | LOW | PAPER | 1400 | hard | Qualifying 1st Round | +0.110 |
| 25 | Andre Ilagan vs Remy Bertola Qual | Andre Ilagan | 48.8% | 38.0% | 38¢ | +10.8pp | LOW | PAPER | 2819 | hard | Qualifying 1st Round | +0.108 |
| 26 | Alex Bolt vs James McCabe Qual | Alex Bolt | 58.6% | 48.0% | 48¢ | +10.6pp | LOW | PAPER | 6230 | hard | Qualification Round 1 | +0.106 |
| 27 | Maria Kozyreva vs Eri Hozumi Qual | Eri Hozumi | 49.9% | 40.0% | 40¢ | +9.9pp | LOW | PAPER | 126 | hard | Qualifying 1st Round | +0.099 |
| 28 | Tamara Korpatsch vs Mayar Sherif Ahmed Abdelaziz | Tamara Korpatsch | 50.3% | 41.0% | 41¢ | +9.3pp | LOW | PAPER | 31644 | hard | Semifinal | +0.093 |
| 29 | Shuai Zhang vs Gabriela Knutson | Gabriela Knutson | 35.4% | 28.0% | 28¢ | +7.4pp | LOW | PAPER | 1045 | hard | Round Of 16 | +0.074 |
| 30 | Aran Teixido Garcia vs Anna Frey Qual | Aran Teixido Garcia | 55.0% | 48.0% | 48¢ | +7.0pp | LOW | PAPER | 27146 | hard | Qualifying 1st Round | +0.070 |
| 31 | Elias Ymer vs Trevor Svajda Qual | Elias Ymer | 55.0% | 48.0% | 48¢ | +7.0pp | LOW | PAPER | 3689 | hard | Qualifying 1st Round | +0.070 |
| 32 | Hugo Gaston vs Luca Van Assche | Hugo Gaston | 46.5% | 40.0% | 40¢ | +6.5pp | LOW | PAPER | 86293 | hard | Semifinal | +0.065 |
| 33 | Mackenzie McDonald vs Edas Butvilas Qual | Edas Butvilas | 45.0% | 39.0% | 39¢ | +6.0pp | LOW | PAPER | 1556 | hard | Qualification Round 1 | +0.060 |
| 34 | Abdullah Shelbayh vs Billy Harris Qual | Abdullah Shelbayh | 45.0% | 39.0% | 39¢ | +6.0pp | LOW | PAPER | 704 | hard | Qualification Round 1 | +0.060 |
| 35 | Garrett Johns vs Alan Magadan | Garrett Johns | 54.7% | 49.0% | 49¢ | +5.7pp | LOW | PAPER | 1463 | hard | Round Of 16 | +0.057 |
| 36 | Anna Bondar vs Elina Avanesyan | Anna Bondar | 54.6% | 49.0% | 49¢ | +5.6pp | LOW | PAPER | 385831 | clay | Semifinal | +0.056 |
| 37 | Bernard Tomic vs Miguel Tobon | Miguel Tobon | 35.9% | 32.0% | 32¢ | +3.9pp | LOW | SKIP | 5452 | hard | Round Of 16 | +0.039 |
| 38 | Luis Carlos Alvarez Valdes vs Edward Winter | Luis Carlos Alvarez Valdes | 48.2% | 46.0% | 46¢ | +2.2pp | LOW | SKIP | 1869 | hard | Round Of 16 | +0.022 |
| 39 | Polina Iatcenko vs Julieta Pareja Qual | Polina Iatcenko | 46.0% | 44.0% | 44¢ | +2.0pp | LOW | PAPER | 5152 | hard | Qualifying 1st Round | +0.020 |
| 40 | Clervie Ngounoue vs Varvara Lepchenko Qual | Varvara Lepchenko | 55.0% | 53.0% | 53¢ | +2.0pp | LOW | PAPER | 2467 | hard | Qualifying 1st Round | +0.020 |
| 41 | Ankita Raina vs Ekaterina Ovcharenko Qual | Ankita Raina | 48.7% | 48.0% | 48¢ | +0.7pp | LOW | SKIP | 2011 | hard | Qualifying 1st Round | +0.007 |
| # | Player | Stat | PP line | Our proj | Edge % | Side | Tier | Opp | Surface | Demon | Payout |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Hugo Gaston | Aces | 2.5 | 6.41 | +156.3% | MORE | LOW | Luca Van Assche | clay | — | 0.5x |
| 2 | Polina Iatcenko | Double Faults | 4.5 | 0.00 | +100.0% | LESS | LOW | Julieta Pareja | clay | — | 1.0x |
| 3 | Heather Watson🧊 COLD | Double Faults | 4.5 | 0.00 | +100.0% | LESS | LOW | Kamilla Rakhimova | clay | — | 1.0x |
| 4 | Kamilla Rakhimova🧊 COLD | Double Faults | 4.5 | 0.00 | +100.0% | LESS | LOW | Heather Watson | clay | — | 1.0x |
| 5 | Polina Kudermetova🟨 WARM | Double Faults | 5.5 | 0.00 | +100.0% | LESS | LOW | Mei Yamaguchi | clay | — | 1.0x |
| 6 | Clervie Ngounoue⏳ RTRN | Double Faults | 4.5 | 0.00 | +100.0% | LESS | LOW | Varvara Lepchenko | clay | — | 1.0x |
| 7 | Rebecca Sramkova | Double Faults | 2.5 | 0.00 | +100.0% | LESS | LOW | Carolyn Ansari | clay | — | 1.0x |
| 8 | Mei Yamaguchi🧊 COLD | Double Faults | 2.5 | 4.02 | +60.9% | MORE | LOW | Polina Kudermetova | clay | — | 1.0x |
| 9 | Shuai Zhang🧊 COLD | Double Faults | 2.5 | 4.02 | +60.9% | MORE | ELITE | Gabriela Knutson | clay | — | 1.0x |
| 10 | Shuai Zhang🧊 COLD | Break Points Won | 5.0 | 2.28 | +54.4% | LESS | ELITE | Gabriela Knutson | clay | — | 1.0x |
| 11 | Miho Kuramochi | Total Games | 17.5 | 24.31 | +38.9% | MORE | LOW | Hiroko Kuwata | clay | — | 0.5x |
| 12 | Marcos Giron | Total Games | 18.5 | 25.19 | +36.2% | MORE | LOW | Aryan Shah | clay | — | 0.5x |
| 13 | Alexander Blockx🟨 WARM | Break Points Won | 2.5 | 3.24 | +29.6% | MORE | LOW | Luciano Darderi | clay | — | 1.0x |
| 14 | Julieta Pareja🧊 COLD | Double Faults | 5.5 | 4.02 | +26.9% | LESS | LOW | Polina Iatcenko | clay | — | 1.0x |
| 15 | Rebecca Sramkova | Total Games | 19.5 | 24.44 | +25.3% | MORE | LOW | Carolyn Ansari | clay | — | 0.5x |
| 16 | Lilli Tagger | Total Games Won | 7.5 | 9.34 | +24.6% | MORE | LOW | Barbora Krejcikova | clay | — | 0.5x |
| 17 | Colton Smith🧊 COLD | Total Games | 20.5 | 25.29 | +23.4% | MORE | LOW | Roger Pascual Ferra | clay | — | 0.5x |
| 18 | Zachary Svajda🧊 COLD | Total Games | 20.5 | 25.18 | +22.8% | MORE | LOW | Stefan Kozlov | clay | — | 0.5x |
| 19 | Katrina Scott🧊 COLD | Total Games | 17.0 | 20.86 | +22.7% | MORE | LOW | Sabastiani Leon | clay | — | 0.5x |
| 20 | Tristan Boyer⏳ RTRN | Total Games | 20.5 | 25.08 | +22.4% | MORE | LOW | Lorenzo Claverie | clay | — | 0.5x |
| 21 | Barbora Krejcikova⏳ RTRN | Total Games | 19.5 | 23.72 | +21.6% | MORE | LOW | Lilli Tagger | clay | — | 0.5x |
| 22 | Sofia Johnson🟨 WARM | Total Games | 19.5 | 23.67 | +21.4% | MORE | LOW | Karman Kaur Thandi | clay | — | 0.5x |
| 23 | Eri Hozumi⏳ RTRN | Double Faults | 3.5 | 4.24 | +21.0% | MORE | LOW | Maria Kozyreva | clay | — | 1.0x |
| 24 | Daria Kasatkina🟨 WARM | Total Games | 19.5 | 23.34 | +19.7% | MORE | LOW | Mariam Bolkvadze | clay | — | 0.5x |
| 25 | Maria Kozyreva⏳ RTRN | Total Games | 20.5 | 24.49 | +19.4% | MORE | LOW | Eri Hozumi | clay | — | 0.5x |
| 26 | Martina Okalova🧊 COLD | Total Games | 20.5 | 24.48 | +19.4% | MORE | LOW | Avery Alexander | clay | — | 0.5x |
| 27 | Valeria Savinykh⏳ RTRN | Total Games | 20.5 | 24.46 | +19.3% | MORE | LOW | Mia Kupres | clay | — | 0.5x |
| 28 | Hong Yi Cody Wong | Total Games | 20.5 | 24.42 | +19.1% | MORE | LOW | Dasha Plekhanova | clay | — | 0.5x |
| 29 | Moez Echargui🧊 COLD | Total Games | 21.5 | 25.18 | +17.1% | MORE | LOW | Jordan Lee | clay | — | 0.5x |
| 30 | Luciano Darderi🟨 WARM | Total Games Won | 12.5 | 10.36 | +17.1% | LESS | LOW | Alexander Blockx | clay | — | 0.5x |
| 31 | Ena Shibahara⏳ RTRN | Total Games | 20.5 | 23.95 | +16.8% | MORE | LOW | Emma SI Yu Dong | clay | — | 1.0x |
| 32 | Francesca Jones | Total Games | 20.5 | 23.91 | +16.6% | MORE | LOW | Alevtina Ibragimova | clay | — | 0.5x |
| 33 | Ellie Schoppe | Total Games | 21.0 | 24.42 | +16.3% | MORE | LOW | Ana Grubor | clay | — | 0.5x |
| 34 | Bella Payne🟨 WARM | Total Games | 20.5 | 23.59 | +15.1% | MORE | LOW | Kennedy Drenser-Hagmann | clay | — | 0.5x |
| 35 | Alexander Blockx🟨 WARM | Aces | 5.5 | 6.33 | +15.1% | MORE | LOW | Luciano Darderi | clay | — | 0.5x |
| 36 | Borna Gojo🟨 WARM | Total Games | 22.0 | 25.18 | +14.5% | MORE | LOW | Aidan Mayo | clay | — | 0.5x |
| 37 | Varvara Lepchenko | Break Points Won | 4.5 | 5.14 | +14.2% | MORE | LOW | Clervie Ngounoue | clay | — | 1.0x |
| 38 | Dusan Lajovic | Total Games | 21.5 | 24.53 | +14.1% | MORE | LOW | Cruz Hewitt | clay | — | 1.0x |
| 39 | Luca Van Assche | Total Games Won | 12.5 | 10.74 | +14.1% | LESS | LOW | Hugo Gaston | clay | — | 0.5x |
| 40 | Fiona Ferro🟨 WARM | Total Games | 21.5 | 24.46 | +13.8% | MORE | LOW | Lucia Bronzetti | clay | — | 0.5x |
| 41 | Ekaterina Ovcharenko | Total Games | 21.5 | 24.45 | +13.7% | MORE | LOW | Ankita Raina | clay | — | 0.5x |
| 42 | Varvara Lepchenko | Total Games | 21.5 | 24.26 | +12.8% | MORE | LOW | Clervie Ngounoue | clay | — | 0.5x |
| 43 | Luca Van Assche | Total Games | 22.5 | 25.29 | +12.4% | MORE | LOW | Hugo Gaston | clay | — | 0.5x |
| 44 | Bernard Tomic | Total Games | 22.5 | 25.19 | +11.9% | MORE | LOW | Miguel Tobon | clay | — | 0.5x |
| 45 | Aleksandar Vukic🧊 COLD | Total Games | 22.5 | 25.16 | +11.8% | MORE | LOW | Aziz Dougaz | clay | — | 0.5x |
| 46 | Edward Winter⏳ RTRN | Total Games | 22.5 | 25.07 | +11.4% | MORE | LOW | Luis Carlos Alvarez Valdes | clay | — | 0.5x |
| 47 | Polina Kudermetova🟨 WARM | Total Games | 20.5 | 22.84 | +11.4% | MORE | LOW | Mei Yamaguchi | clay | — | 0.5x |
| 48 | Luciano Darderi🟨 WARM | Total Games | 22.5 | 25.04 | +11.3% | MORE | LOW | Alexander Blockx | clay | — | 0.5x |
| 49 | Elias Ymer⏳ RTRN | Total Games | 22.5 | 24.98 | +11.0% | MORE | LOW | Trevor Svajda | clay | — | 0.5x |
| 50 | Julieta Pareja🧊 COLD | Total Games | 21.5 | 23.83 | +10.8% | MORE | LOW | Polina Iatcenko | clay | — | 0.5x |
| 51 | Kamilla Rakhimova🧊 COLD | Total Games | 21.5 | 23.82 | +10.8% | MORE | LOW | Heather Watson | clay | — | 0.5x |
| 52 | Aoi Ito | Total Games | 21.5 | 23.63 | +9.9% | MORE | LOW | Astra Sharma | clay | — | 0.5x |
| 53 | Mackenzie McDonald🧊 COLD | Total Games | 22.5 | 24.63 | +9.5% | MORE | LOW | Edas Butvilas | clay | — | 0.5x |
| 54 | Julieta Pareja🧊 COLD | Break Points Won | 4.5 | 4.92 | +9.3% | MORE | LOW | Polina Iatcenko | clay | — | 1.0x |
| 55 | Remy Bertola | Total Games | 22.5 | 24.59 | +9.3% | MORE | LOW | Andre Ilagan | clay | — | 0.5x |
| 56 | Alevtina Ibragimova | Total Games Won | 10.5 | 9.74 | +7.2% | LESS | LOW | Francesca Jones | clay | — | 0.5x |
| 57 | Polina Kudermetova🟨 WARM | Break Points Won | 5.0 | 5.35 | +7.1% | MORE | LOW | Mei Yamaguchi | clay | — | 1.0x |
| 58 | Lucia Bronzetti | Break Points Won | 4.5 | 4.80 | +6.6% | MORE | LOW | Fiona Ferro | clay | — | 1.0x |
| 59 | Carolyn Ansari | Double Faults | 4.5 | 4.24 | +5.9% | LESS | LOW | Rebecca Sramkova | clay | — | 1.0x |
| 60 | Francesca Jones | Break Points Won | 5.0 | 5.25 | +4.9% | MORE | LOW | Alevtina Ibragimova | clay | — | 1.0x |
| 61 | Alex Bolt🟨 WARM | Total Games | 24.5 | 25.20 | +2.9% | MORE | LOW | James McCabe | clay | — | 0.5x |
| 62 | Daria Kasatkina🟨 WARM | Break Points Won | 5.5 | 5.35 | +2.7% | LESS | LOW | Mariam Bolkvadze | clay | — | 1.0x |
| 63 | Luciano Darderi🟨 WARM | Break Points Won | 3.5 | 3.58 | +2.4% | MORE | LOW | Alexander Blockx | clay | — | 1.0x |
Kalshi tennis — 0 picks · $0.00 staked
Day 1 - paper only, grade EOD before scaling · locked 2026-07-25T13:12:18.768435+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-25T13:12:18.704586+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-25T06:12:32 Β· 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|.| Player | Sharp (Kalshi) | Public (Poly) | Ξ | Poly per-slam |
|---|---|---|---|---|
| Novak Djokovic Β· exact | 5.5% | 3.7% | -1.8pp Β· SHARP HIGHER | US 4% |
| Taylor Fritz Β· exact | 3.0% | 1.4% | -1.6pp Β· SHARP HIGHER | US 1% |
| Daniil Medvedev Β· exact | 2.5% | 1.5% | -1.0pp Β· SHARP HIGHER | US 2% |
| Jack Draper Β· exact | 1.5% | 0.7% | -0.8pp Β· SHARP HIGHER | US 1% |
| Alexander Bublik Β· exact | 1.0% | 0.4% | -0.6pp Β· SHARP HIGHER | US 0% |
| Ben Shelton Β· exact | 2.0% | 1.4% | -0.6pp Β· SHARP HIGHER | US 1% |
| Lorenzo Musetti Β· exact | 1.0% | 0.5% | -0.5pp Β· SHARP HIGHER | US 0% |
| Frances Tiafoe Β· exact | 0.5% | 0.9% | +0.4pp Β· PUBLIC HIGHER | US 1% |
| Karen Khachanov Β· no-match | 1.0% | — | no Poly match | — |
| Felix Auger-Aliassime Β· no-match | 1.5% | — | no Poly match | — |
| Casper Ruud Β· no-match | 1.0% | — | no Poly match | — |
| Alex de Minaur Β· no-match | 1.0% | — | 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-25.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 | Quentin Halys LESS 12.5 Total Games Won, Fiona Ferro MORE 20.0 Total Games | 0.389 | 5.00x | 0.944 |
| 2-pick HIGH-variance | HIGH | Luciano Darderi MORE 5.5 Aces, Jaime Faria MORE 5.5 Aces | 0.336 | 10.00x | 2.356 |
| 3-pick MED-variance | MED | Quentin Halys LESS 12.5 Total Games Won, Fiona Ferro MORE 20.0 Total Games, Luca Van Assche LESS 12.5 Total Games Won | 0.222 | 10.00x | 1.218 |
| 4-pick MED-variance | MED | Quentin Halys LESS 12.5 Total Games Won, Fiona Ferro MORE 20.0 Total Games, Luca Van Assche LESS 12.5 Total Games Won, Luciano Darderi MORE 22.0 Total Games | 0.126 | 18.00x | 1.273 |
β 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-25T13:09:35.542763+00:00 | 3m | 1936 | fresh |
| Kalshi KXWTAMATCH | tennis_kalshi.sqlite | 2026-07-25T13:09:35.542763+00:00 | 3m | 1960 | fresh |
| Kalshi KXFRENCHOPEN | tennis_kalshi.sqlite | 2026-07-25T13:09:35.542763+00:00 | 3m | 0 | fresh |
| Kalshi KXFOPENMENSINGLE | tennis_kalshi.sqlite | 2026-07-25T13:09:35.542763+00:00 | 3m | 0 | fresh |
| Kalshi KXATPGRANDSLAM | tennis_kalshi.sqlite | 2026-07-25T13:09:35.542763+00:00 | 3m | 14 | fresh |
| Kalshi KXUSOPEN | tennis_kalshi.sqlite | 2026-07-25T13:09:35.542763+00:00 | 3m | 0 | fresh |
| Kalshi KXATPSETWINNER | tennis_kalshi.sqlite | 2026-07-25T13:09:35.542763+00:00 | 3m | 4470 | fresh |
| Kalshi KXATPTOTALSETS | tennis_kalshi.sqlite | 2026-07-25T13:09:35.542763+00:00 | 3m | 0 | fresh |
| Kalshi KXATPSETSWEEP | tennis_kalshi.sqlite | 2026-07-25T13:09:35.542763+00:00 | 3m | 2 | fresh |
| Kalshi KXATPGAMESPREAD | tennis_kalshi.sqlite | 2026-07-25T13:09:35.542763+00:00 | 3m | 0 | fresh |
| Kalshi KXATPEXACTMATCH | tennis_kalshi.sqlite | 2026-07-25T13:09:35.542763+00:00 | 3m | 4418 | fresh |
| Kalshi KXWTADOUBLES | tennis_kalshi.sqlite | 2026-07-25T13:09:35.542763+00:00 | 3m | 266 | fresh |
| Kalshi KXATP1RANK | tennis_kalshi.sqlite | 2026-07-25T13:09:35.542763+00:00 | 3m | 16 | fresh |
| elo last computed | tennis.sqlite | 2026-06-21T17:36:52+00:00 | 811.60h | 20430 | stale |
| rankings last pulled | tennis.sqlite | 2026-06-15T17:40:18+00:00 | 955.54h | 11348 | stale |
| rankings atp latest date | tennis.sqlite | 2026-06-08 | 1141.21h | — | stale |
| rankings wta latest date | tennis.sqlite | 2026-06-08 | 1141.21h | — | stale |
| mirror atp schedule | tennis.sqlite | 2026-07-25T13:11:34.350862+00:00 | 1m | 93 | fresh |
| h2h last computed | tennis.sqlite | 2026-05-17T10:11:57.514615+00:00 | 1659.01h | — | stale |
| h2h n pairs | tennis.sqlite | 190184 | missing | — | missing |
| last player db run | tennis.sqlite | 1784985114 | missing | — | missing |
| results last_run | tennis_results.sqlite | [2026-07-25T13:11:36.498851+00:00] 2026-07-25T13:11:34.704284+00:00; dates=['20260724']; rows=194; resolved=190 | missing | — | missing |
| pp_edges CSV | pp_edges_tennis_2026-07-25.csv | 2026-07-25T13:12:04.589360+00:00 | 0m | — | fresh |
| kalshi edges JSON | tennis_kalshi_edges_2026-07-25.json | 2026-07-25T13:12:00.979056+00:00 | 0m | — | fresh |
| paper trades PP | paper_trades_pp_tennis_2026-07-25.json | 2026-07-25T13:12:19.282570+00:00 | 0m | — | fresh |
| paper trades Kalshi | paper_trades_kalshi_tennis_2026-07-25.json | 2026-07-25T13:12:19.752677+00:00 | 0m | — | fresh |
| daily payload | daily_tennis_2026-07-25.json | 2026-07-25T13:12:21.379165+00:00 | 0m | — | fresh |
| PP movement | pp_line_movement_tennis_2026-07-25.csv | 2026-07-25T13:12:20.875419+00:00 | 0m | — | fresh |
| PP calibration | pp_calibration_tennis.json | 2026-07-25T13:12:20.810748+00:00 | 0m | — | fresh |