------------------------------------------------~++x~-~++~---------~------------------------------------------ ------------------------------------------~==x%x**=%%++~~%x=+=xx#*==x~---------------------------------------- -------------------------------------;-~+**=x-::,,;.-;, .=-xx===~;: -&+;-------------------------------------- ------------------------------------+%@%++~;;....,,.;;:;::;--;-;,-:, -#*-------------------------------------- --------------------------------~~*#@█*:-::... ,. .. ,...,:,,.,,;~-,;@+~~~~+-------------------------------- ------------------------------~xx=**~: ,:, . . . . .,,,:,**%%*%#*;------------------------------ ----------------------------~+~-;;;;. ,, . ..,.;--*@@x@~------------------------------ --------------------------~x-,.::., . .,,,,-+=&x;----------------------------- -------------------------~*~ .,. . .... :&=----------------------------- -------------------------+= .... ,+x█#~--------------------------- -------------------------~+ .. .,. ..,. .... -+&█~--------------------------- -------------------------~=, ...:-:,,:,:,. . ,,:;:::::;;;:::. ;█+;--------------------------- -------------------------%=... .,;;--~~++~~--~~~~-;;---~~~~~++=*=~-;: ~#---------------------------- -------------------------x~. ... .:-~~=*****xxxx%%%#%x*=**====***x%x*=+~-. **;-------------------------- ------------------------##~, ,,,;;~+=*xxxxx%%%%%%######%%%xx%%%%%%%%x*==+~, .*--------------------------- -----------------------=&~:,:;,;++==**xxxx%%xx%%%%%#&#####%%%%%%x%%%x****=+-,. +--------------------------- -----------------------==:,,,,:~===**xxxxxxxxx%%%xx%#%%%%%%%%xxxxxxxxxx*====-, *--------------------------- -----------------------x~,, ,-+++=****xxxxx%%%%%%%%%%%%%%%%xxxxxxxxxxx*=+++~:. x~-------------------------- ----------------------~*-.. ;~+++==**xxxxx%%%%%#%%#########%%%%%xxxxxx*=+++-;, ,x--------------------------- -----------------------x; .:;-~+==***xxx%%##&&&&&&&&&&&@@@&&###%%%%%x*=+++~:,.. x~-------------------------- -----------------------=: .,,:-~+===**x%%##&@@███@@@██████@@@@@&&&&&##%x*=+~:,.. %+-------------------------- ------------------------- ,.,:-~+=**xxx%%####&&@@@@@███@@@@&&&&&&##&&###%*=+-.. %+-------------------------- ------------------------=, . .:~+=xxx%xxxx%%%%%####&#&&##&####%%%x*****==*x*=~,..;&--------------------------- ------------------------+~ . .-~+xx*****==++==**xx%%%%x%%%xx*+-:,....,,,:;-+=+, ,:%~-------------------------- ------------------------+x.. .~~**~;::,. .,;~+=********=+-;:,,,,::;--~~++**;,, %=-------------------------- -----------------------;*&. :~+=-:,,:::::,,,,::;~++=++++++~-;;:,,,,:;-~++=*xx~;..%+-------------------------- ------------------------~%, .;+==~--~~-:;:,....,,:;-~++++~-;::. ...,;~=*%=;,=*;-------------------------- -------------------------+= ,-=*+~~-:. ,, .,,;+*x**+-;;..:; .+, .:-+=xx;,=x--------------------------- -------------------------++.,-==~-;. .:. .-;,.:;;;=#&#x+~~~;;:;:::;--++++=*x%~;+=~-------------------------- -------------------------~-,.~==+~-;;-;:;:;;;;-~~--+x#&##x++===+~~~++++=*xxxx%%*+~~--------------------------- ------------------------~=::,~*==+++~~~~~~~++===+-+**%&@&#*+=*x********xxxxxxx%%*~*+-------------------------- ------------------------~%;;-=***========******=~~=**%██@#%*+**xxxx%%%%%##%%%x%*+=#*;------------------------- ------------------------;%+---*==***xxx%%%%%xxx*=+=*%#██@@#%xxx%%#####%%%%%%%x%*-+&=-------------------------- -------------------------+x-:-**=***xx%%####%%%*++*%##@█@█@#%x%###&&######%%xxxx--&=-------------------------- --------------------------%~;+~*==*xx%%%%#%%%x*++***xx%###%x%%xx%%#########%x*x+~=&~-------------------------- --------------------------x*~--+==*xx%%%xx%x*=+-==+-~+==*=~~*x***xx%%%%%%%%%x***#&%;-------------------------- --------------------------+%=*--==***xxx****=++-;-: .:---;. ;+=x*=*xxxx%xxx*****%@=--------------------------- ---------------------------=xx+-+==========++=*=;:,:::;;;--;-+*%%x***xxxx**==***x@+--------------------------- ---------------------------+#==+++~++++++++===*=---~~~~--~~+++=%%xxx*==**=====x&x=---------------------------- ----------------------------*xxx%~~~++~++====++==++===+++=*====*=*xxxx=====+=+x%;----------------------------- -------------------------------~#+~~~~~+====+++*=++~~+++++==**x*===****==+++=+%%-~---------------------------- --------------------------------#=~~+~++=++~;,,,,,,,,,:::,::;;::,.;+****==++++x%;----------------------------- --------------------------------*x~~++++*=++~-::;-+======++==+~+++===*xx*==+++%%;----------------------------- --------------------------------~x~~~++==*+=***==+++======+==*%#%%%x**x**+++++&=------------------------------ ---------------------------------%*~~~~++++++===+++++++=====**xxxxx***=*=+++~=#------------------------------- --------------------------------;x#;~~-~~++++++==++~~~~-++==*xxx***=====++~~-#=------------------------------- ---------------------------------+%;---~---~--+++=======*****xxx***===++~~~-%*-------------------------------- ---------------------------------~x;;;;;;;;;;;-++=*xx%%%%%%%%%xxx*==++~~~--+@~-------------------------------- ---------------------------------~%;;;:;:,,,;::--+=*xxxx%%x%%x**=*=~-~--;-~+&~-------------------------------- ---------------------------------~x;;;;;:,,.,:;-;;~+==******==+~-~~-;;:--~~~#+-------------------------------- ---------------------------------~*-;;;;;:,,,,,::::--~~~+~++~~~;;;:;::-~~~~-#x;------------------------------- ---------------------------------+x;-;;;;;;:,.,,,,,::;---;;-;;;,;:,;-~~~~~~~%*;------------------------------- --------------------------------;x*;-;---;;;;:,,,....,,:,,,,,,,,,;-~~-~~~~~~=#;------------------------------- ------------------------;;;;~+=*x%~------;;;;::::::,,,,.,,,,,,::;~~---~~~~~~~#*+----;------------------------- ----------------------+*xxx%#%#%*~-~----;;;;:::::::::::::::::;;-~~-~~~~~~~~~~+x%&@@&x*~----------------------- ----------------;-~=%@██████%#x*+~---------;;::::;;;;--;;;;;-~~~~--~~~~~~~~~~+~+*@█████#*~-;------------------ ---------------+x#█████████&#%*=+~----------;;;;;;----~-~~~~~~~~~~~~~~~~~~~~++~++*████████&x=~---------------- -----------~*#@████████████&%x=++~~------~~~----;;;;;-~~~~~~~~~~~~~~~~~~~~~~++~++*███████████@#*+~;----------- -----;--+x#@███████████████@%x=+~~~------~~~~----------~~~~~~~~~~~~~~~~~~~~++++=~#███████████████@%=~-;------- ----+*#@████████████████████%*=+~~~------~~~~~--------~~~~~~~~~~~~~~~~~~~~~+++++x████████████████████&x+~----- -~%@████████████████████████@*=++~~------~~~~~~-------~~~~~~~~++~~~~~~~~~~+++++*████████████████████████@=----
Otto Virtanen
FIN · Right-handed · 25 yrs · 193 cm
model rank
#88
in the world
ATP rank
#158
current
record
232-170
ATP-level
── the model's read
How good is he, really?
Otto is the model's world #88 — in the top 49% of the rated field. The model rates him 70 spots higher than the ATP (#158) — a player the rankings are slow to catch. He's an all-court player (average serve, average return), strongest on hard courts. Recent form: 29‑19 over the last 52 weeks.
── surface Elo
By surface
Hard
1866best
Clay
1666
Grass
1804
── vs the rated field
Scouting
overall Elo
191651th · average
serve rating
53th · average
return rating
41th · average
percentile across players with a current rating
── model Elo over time
Elo trajectory
── ATP ranking over time · lower is better
Ranking trajectory
── nearest on the rating profile
Similar players
- 1Benjamin BonziFRA1908
- 2Adam WaltonAUS1915
- 3Juncheng ShangCHN1906
- 4Francisco ComesanaARG1880
- 5Jan Lennard StruffGER1890
- 6Borna CoricCRO1926
── year by year
Seasons
| year | W-L | win% | titles |
|---|---|---|---|
| 2026 | 16-11 | 59% | |
| 2025 | 27-25 | 52% | 2 |
| 2024 | 43-29 | 60% | 3 |
| 2023 | 33-31 | 52% | 2 |
| 2022 | 46-31 | 60% | 1 |
| 2021 | 35-21 | 63% | 2 |
| 2020 | 16-7 | 70% | 1 |
| 2019 | 4-4 | 50% | |
| 2018 | 11-7 | 61% | |
| 2017 | 1-2 | 33% | |
| 2016 | 0-2 | 0% |
── filter the record · shareable link
Splits
All 402 matches — pick filters to split the record, serve/return and log below.
── career · point data
Serve & return profile
Serve
aces11.3%
double faults4.7%
1st serve in59%
1st serve won74%
2nd serve won50%
serve pts won64%
hold %80%
Return
return pts won37%
break %21%
BP conversion36%
Under pressure
BP saved (serve)62%
BP saved1111/1785
BP conversion36%
Career aggregate over 289 matches with point data · hold/break derived from break-point outcomes.
── 402 matches