Game plan
Hamad Medjedovic v Otto Virtanen
Every number combines what Hamad Medjedovic does well with what Otto Virtanen allows, each measured against the tour average and shrunk toward it when the sample is thin. Flip perspective
Forecast
Each player's serve and return strength is fitted against every opponent they were charted against, so a record built on weak opponents counts for less. Both were charted enough in the last three seasons, so those carry the most weight. The result is then nudged by Hamad Medjedovic's record against Otto Virtanen's tactical lookalikes and in their charted head-to-heads. A game-by-game Markov chain turns point odds into match odds; the 90% range covers the uncertainty in the two strengths, not the nudges. Charted matches lean toward big events, so treat this as a scouting estimate, not a betting line.
Head to head, per 100 shots
| Career | Hamad | Otto |
|---|---|---|
| Direction choice | +0.03 ±0.10 better than 65% | −0.01 ±0.08 better than 53% |
| Shot selection | −0.06 ±0.26 better than 46% | +0.30 ±0.21 better than 80% |
| Execution | −1.65 ±0.69 better than 7% | −1.35 ±0.59 better than 14% |
| Points left on the table | 2.40 ±0.19 lower than 73% | 2.48 ±0.15 lower than 65% |
Each player's career against an average tour player in the same position, adjusted for opponent strength, with a 90% margin (shots clustered by match). Points left on the table is the gap to the best-value direction for the same stroke, so lower is better. Percentiles are within each player's own tour. A side is highlighted only when the gap is larger than the margin on the difference.
Serve plan
The share of points the server wins when a first serve lands in that direction (hover a rate for its 90% interval; ± is the 90% margin). "Matchup" combines the server's rate with how this returner handles that serve. "Optimal" is the mix that wins most against this returner once they start reading a habit, at the response measured across the tour, and only within the range servers' habits actually vary. The gain over the current mix is how exploitable that mix is.
Hamad Medjedovic serving
Deuce court
| 1st serve | Now | Hamad wins | v Otto | Matchup | Optimal |
|---|---|---|---|---|---|
| Wide | 44% | 73% | 73% | 73.4%±7.9 | 40% ▼ |
| Body | 9% | 68% | 68% | 72.7%±12.4 | 0% ▼ |
| T | 47% | 79% | 71% | 76.2%±7.3 | 60% ▲ |
Optimal v Otto Virtanen: +0.6±0.8 per 100 first serves (faults included) over the current mix, inside the 90% margin. Serving T every time would read +1.5 per 100 first serves in before the returner adjusts.
Ad court
| 1st serve | Now | Hamad wins | v Otto | Matchup | Optimal |
|---|---|---|---|---|---|
| Wide | 33% | 73% | 74% | 73.5%±8.4 | 46% ▲ |
| Body | 6% | 62% | 69% | 68.2%±14.7 | 0% ▼ |
| T | 61% | 71% | 73% | 72.9%±7.8 | 54% ▼ |
Optimal v Otto Virtanen: +0.3±0.8 per 100 first serves (faults included) over the current mix, inside the 90% margin. Serving wide every time would read +0.7 per 100 first serves in before the returner adjusts.
Otto Virtanen serving
Deuce court
| 1st serve | Now | Otto wins | v Hamad | Matchup | Optimal |
|---|---|---|---|---|---|
| Wide | 48% | 72% | 80% | 78.7%±7.0 | 61% ▲ |
| Body | 7% | 58% | 73% | 68.1%±14.6 | 0% ▼ |
| T | 45% | 79% | 82% | 85.0%±5.8 | 39% ▼ |
Optimal v Hamad Medjedovic: +0.4±0.8 per 100 first serves (faults included) over the current mix, inside the 90% margin. Serving T every time would read +4.2 per 100 first serves in before the returner adjusts.
Ad court
| 1st serve | Now | Otto wins | v Hamad | Matchup | Optimal |
|---|---|---|---|---|---|
| Wide | 45% | 78% | 75% | 80.2%±6.9 | 58% ▲ |
| Body | 9% | 62% | 68% | 67.3%±14.4 | 0% ▼ |
| T | 47% | 70% | 78% | 76.6%±7.6 | 42% ▼ |
Optimal v Hamad Medjedovic: +0.9±0.9 per 100 first serves (faults included) over the current mix. Serving wide every time would read +2.8 per 100 first serves in before the returner adjusts.
Return plan
Value of each return, in points per 100 returns against an average return of the same serve (direction, court, surface): the tour's result with that return, the returner's own edge with it, and what this server gives up when it comes back to that side. Returns with no charted direction are left out, so values compare with each other rather than with zero. Depth isn't a choice here: missed returns have no depth. Serve quality isn't charted, so a block through the middle partly reflects the serve that forced it.
Hamad Medjedovic returning
1st serve to the forehand
| Return | Now | Tour | Own | v Otto | Value |
|---|---|---|---|---|---|
| FH through the middle | 51% | +4.3 | −2.0 | +0.6 | +2.8±2.9 |
| FH crosscourt | 23% | +5.5 | −1.5 | ±0.0 | +4.0±4.4 |
| FH down the line | 23% | +1.7 | +0.2 | +2.1 | +4.0±4.5 |
| FH slice through the middle | 3% | −4.2 | +0.4 | −0.4 | −4.2±1.9 |
Lean FH down the line: +0.9±3.9 per 100 returns v the current mix (158 returns charted, inside the 90% margin)
1st serve to the backhand
| Return | Now | Tour | Own | v Otto | Value |
|---|---|---|---|---|---|
| BH through the middle | 40% | +6.4 | ±0.0 | +0.2 | +6.6±2.8 |
| BH crosscourt | 28% | +8.8 | +0.1 | +0.1 | +8.9±3.6 |
| BH down the line | 20% | +4.2 | +0.2 | −1.8 | +2.6±4.6 |
| BH slice through the middle | 8% | −4.2 | −1.2 | ±0.0 | −5.4±2.1 |
| BH slice down the line | 4% | −8.4 | −0.4 | +0.5 | −8.3±2.3 |
Lean BH crosscourt: +4.0±3.0 per 100 returns v the current mix (167 returns charted)
2nd serve to the forehand
| Return | Now | Tour | Own | v Otto | Value |
|---|---|---|---|---|---|
| FH through the middle | 48% | −3.5 | +1.4 | +1.4 | −0.8±2.7 |
| FH crosscourt | 30% | −0.2 | +0.9 | −1.9 | −1.3±3.8 |
| FH down the line | 23% | −1.8 | +0.6 | −0.6 | −1.8±4.1 |
Lean FH through the middle: +0.4±2.0 per 100 returns v the current mix (40 returns charted, inside the 90% margin)
2nd serve to the backhand
| Return | Now | Tour | Own | v Otto | Value |
|---|---|---|---|---|---|
| BH through the middle | 47% | −2.9 | +0.8 | +0.2 | −1.9±2.5 |
| BH crosscourt | 29% | +1.0 | −0.7 | −2.5 | −2.1±3.2 |
| BH down the line | 20% | −0.2 | −0.1 | −4.3 | −4.6±4.6 |
| FH inside-in | 5% | +0.6 | +0.5 | −1.9 | −0.9±3.4 |
Lean BH through the middle: +0.6±1.9 per 100 returns v the current mix (101 returns charted, inside the 90% margin)
Otto Virtanen returning
1st serve to the forehand
| Return | Now | Tour | Own | v Hamad | Value |
|---|---|---|---|---|---|
| FH through the middle | 45% | +4.3 | +1.3 | −1.4 | +4.1±2.9 |
| FH down the line | 25% | +1.7 | +3.1 | −1.2 | +3.6±4.5 |
| FH crosscourt | 15% | +5.5 | −2.0 | −2.2 | +1.3±4.3 |
| FH slice through the middle | 11% | −4.2 | −0.2 | +0.5 | −3.8±2.2 |
| FH slice down the line | 4% | −4.3 | −0.2 | +0.2 | −4.3±2.3 |
Lean FH through the middle: +1.7±2.1 per 100 returns v the current mix (199 returns charted, inside the 90% margin)
1st serve to the backhand
| Return | Now | Tour | Own | v Hamad | Value |
|---|---|---|---|---|---|
| BH through the middle | 44% | +6.4 | +2.3 | −1.8 | +6.8±2.8 |
| BH crosscourt | 27% | +8.8 | +1.8 | +0.9 | +11.5±3.6 |
| BH down the line | 12% | +4.2 | +2.9 | −0.6 | +6.5±4.4 |
| BH slice through the middle | 9% | −4.2 | −1.4 | −0.6 | −6.2±2.4 |
| BH slice crosscourt | 9% | +0.5 | +0.3 | +0.5 | +1.3±2.7 |
Lean BH crosscourt: +5.1±2.9 per 100 returns v the current mix (255 returns charted)
2nd serve to the forehand
| Return | Now | Tour | Own | v Hamad | Value |
|---|---|---|---|---|---|
| FH through the middle | 38% | −3.5 | −2.8 | −0.7 | −6.9±2.8 |
| FH crosscourt | 35% | −0.2 | +1.3 | +2.7 | +3.8±4.1 |
| FH down the line | 27% | −1.8 | +2.1 | −3.3 | −3.0±4.3 |
Lean FH crosscourt: +5.9±3.1 per 100 returns v the current mix (52 returns charted)
2nd serve to the backhand
| Return | Now | Tour | Own | v Hamad | Value |
|---|---|---|---|---|---|
| BH through the middle | 41% | −2.9 | +0.8 | −1.1 | −3.2±2.6 |
| BH crosscourt | 32% | +1.0 | −2.6 | +3.2 | +1.6±3.3 |
| BH down the line | 20% | −0.2 | −0.9 | −1.1 | −2.2±4.8 |
| FH through the middle | 7% | −2.9 | −0.6 | −0.7 | −4.2±2.2 |
Lean BH crosscourt: +3.1±2.7 per 100 returns v the current mix (161 returns charted)
Rally plan
Edge, in points per 100 shots: the hitter's skill with the shot (own) plus how much the receiver usually gives up against it (theirs), both measured against the tour average.
Hamad Medjedovic
Favour
| Shot | Edge | Own | Theirs |
|---|---|---|---|
| FH to their forehand · return +1 | +7.3±4.4 | +3.2 | +4.1 |
| BH to their backhand · return +1 | +1.9±3.5 | −0.6 | +2.5 |
| BH to their backhand · rally | +0.3±2.5 | −0.8 | +1.1 |
| BH to the middle · rally | +0.1±2.2 | −0.4 | +0.5 |
| FH to the middle · rally | ±0.0±2.5 | −0.7 | +0.7 |
| BH to the middle · return | −0.6±2.3 | +0.2 | −0.8 |
Avoid
| Shot | Edge | Own | Theirs |
|---|---|---|---|
| BH to their forehand · rally | −9.1±4.5 | −7.0 | −2.0 |
| BH to their backhand · return | −4.8±3.3 | −2.2 | −2.6 |
| FH to their backhand · serve +1 | −3.4±3.5 | −2.1 | −1.3 |
| FH to their backhand · rally | −2.9±3.1 | −4.3 | +1.5 |
| FH to their forehand · serve +1 | −2.8±3.8 | −2.1 | −0.7 |
Otto Virtanen
Favour
| Shot | Edge | Own | Theirs |
|---|---|---|---|
| BH to their backhand · return | +2.8±3.3 | ±0.0 | +2.8 |
| BH to the middle · rally | +2.4±2.1 | +1.9 | +0.6 |
| FH to their forehand · serve +1 | +2.4±4.0 | −1.8 | +4.2 |
| FH to the middle · rally | +1.3±2.4 | +1.4 | −0.1 |
| FH to their backhand · return | +0.9±4.1 | +3.6 | −2.7 |
| BH to their backhand · rally | +0.9±2.5 | +0.6 | +0.2 |
Avoid
| Shot | Edge | Own | Theirs |
|---|---|---|---|
| FH to their backhand · rally | −2.2±3.2 | −2.1 | ±0.0 |
| FH to the middle · return | −2.1±2.6 | −0.8 | −1.3 |
| BH to the middle · return | −0.9±2.3 | +1.3 | −2.1 |
| FH to their forehand · rally | −0.7±3.2 | −0.6 | ±0.0 |
| FH to their backhand · serve +1 | +0.2±3.6 | −0.2 | +0.3 |
Against Otto Virtanen-like opponents
| Hamad Medjedovic v | Matches | Serve pts won | Return pts won |
|---|---|---|---|
| All charted opponents | – | 63.3% | 28.7% |
Similar by tactical fingerprint: Frances Tiafoe, Zhizhen Zhang, Alexander Shevchenko, Zizou Bergs, Alexandre Muller, Roman Safiullin, Fabio Fognini, Matteo Arnaldi, Lucas Pouille, Gregoire Barrere. When two players have rarely met, their records against these lookalikes fill the gap.