Emil Ruusuvuori vs Otto VirtanenPrediction, Head-to-Head Results, and Stats
Emil Ruusuvuori and Otto Virtanen have met 2 times since 2019; they are level 1–1. Their first meeting came at Helsinki in 2019 on hard. On hard courts they are level 1–1. Across all meetings Ruusuvuori has taken 2 sets to Virtanen's 2. Their most recent meeting: Otto Virtanen won at Helsinki Challenger (2025).
Spread & Straight-Sets Form
Completed best-of-3 matches · Last 12 months
| Indicator | Ruusuvuori | Virtanen | ||
|---|---|---|---|---|
| Indicator | Emil Ruusuvuori | Otto Virtanen | ||
| Wins in straight sets | 100% | 2/2 | 75% | 27/36 |
| Wins a set when losing | 67% | 2/3 | 64% | 16/25 |
| Goes to a deciding set | 40% | 2/5 | 41% | 25/61 |
| Covers −1.5 sets as favorite | 50% | 2/4 | 51% | 23/45 |
| Covers +1.5 sets as underdog | 0% | 0/1 | 85% | 11/13 |
| Tiebreak sets won | 40% | 2/5 | 42% | 16/38 |
| Wins after taking set 1 | 100% | 2/2 | 74% | 32/43 |
| Wins 2-0 after taking set 1 | 100% | 2/2 | 63% | 27/43 |
Colored rows are higher-is-better: green above 50%, red below. Favorite/underdog set by book odds; cover rows count only matches with odds on record. Small sample — read with care. Head-to-head: 2 of 2 completed meetings ended in straight sets (Ruusuvuori 1, Virtanen 1).
Style Matchup
Playing styles and historical archetype record
Ruusuvuori
🤖 Servebot
Virtanen
🤖 Servebot
Matchup analysis
Both Emil Ruusuvuori and Otto Virtanen are 🤖 Servebot types. Mirror matchups usually come down to execution, fitness, and surface fit, across 6,464 matches in our dataset the historical split is about even.
Previous meetings
2 career meetings, newest first
Nov 6, 2025
Helsinki Challenger
H Hard · 2nd Round
Nov 9, 2019
Helsinki
H Hard · Round of 16
Player ROI
Hypothetical if you put 1u on each player to win every one of their matches · Last 90 days
| Metric | Ruusuvuori | Virtanen |
|---|---|---|
| W-L | - | 8–6 |
| Avg odds | - | 1.71 |
| ROI % | - | -23.6% |
| Units P/L | - | -3.31u |
Travel
Last 30 days
| Metric | Ruusuvuori | Virtanen |
|---|---|---|
| Countries | — | 1 |
| Events | — | 1 |
| Matches | — | 1 |
| Distance | — | 0 mi · 0 km |
| Route | — | POR |
Host country from each tournament in the last 30 days, including the current event even when a player arrived on a bye. Route is the order of countries visited; consecutive stops in the same country are shown once. Distance is the great-circle total between host cities, shown only when every stop in the window is geocoded. A rough fatigue signal, not a headline stat.
Recent Form
Last five matches per player
Francesco Maestrelli
Bergamo Challenger · 1st Round
Nov 18
Otto Virtanen
Helsinki Challenger · 2nd Round
Nov 6
Lukas Neumayer
Helsinki Challenger · 1st Round
Nov 4
Francesco Passaro
Brest Challenger · 2nd Round
Oct 22
Vitaliy Sachko
Brest Challenger · 1st Round
Oct 20
Giovanni Mpetshi Perricard
European Open - Brussels · 1st Round
Oct 14
Patrick Kypson
Mouilleron-Le-Captif Challenger · Quarterfinals
Oct 3
Alexander Blockx
Mouilleron-Le-Captif Challenger · 2nd Round
Oct 1
Tiago Pereira
Porto Challenger · 1st Round
Sep 30
Valentin Vacherot
Davis Cup, Group I, 1R, FIN-MON 1-3 · Rubber 4
Sep 19
Lucas Catarina
Davis Cup, Group I, 1R, FIN-MON 1-3 · Rubber 1
Sep 18
Andrey Rublev
U.S. Open - New York · 1st Round
Aug 31
Jack Pinnington Jones
U.S. Open - New York · 2nd Round Qualifying
Aug 26
Ugo Blanchet
U.S. Open - New York · 1st Round Qualifying
Aug 25
Moez Echargui
Cancun Challenger · 1st Round
Aug 19
Chak Pong Marco Lam
Cincinnati Open - Cincinnati · 3rd Round Qualifying
Aug 12
Rivalry momentum
Cumulative head-to-head lead over time
Win rate
Matches, sets and games won · Last 12 months · 5–65 matches
| Metric | Ruusuvuori | Virtanen |
|---|---|---|
| Matches won | 40% | 58% |
| Sets won | 50% | 59% |
| Games won | 50% | 52% |
Record by tier
Head-to-head record by tournament tier
| Stage | Ruusuvuori | Virtanen |
|---|---|---|
| ATP Challenger Tour | 1 | 1 |
By surface
Head-to-head record per surface
| Surface | Ruusuvuori | Virtanen |
|---|---|---|
| Hard | 1 | 1 |
Share this matchup
Copy the link to paste in Discord or group chats.

