tag:blogger.com,1999:blog-46703593986726084692024-02-07T13:13:03.224+01:00Tennis VisualsThis blog exists to document the on-going development of Tennis AiP and Visualizations based on data captured by Tennis AiP.<br><br>
Tennis AiP (Analytics integration Platform) is envisioned as both a repository for crowdsourced data capturing point-play during tennis matches as well as a platform for the integration of a diverse range of data sources which can be related to the game of tennis.Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.comBlogger16125tag:blogger.com,1999:blog-4670359398672608469.post-56299823665118124712016-02-07T15:35:00.002+01:002016-02-07T15:36:26.712+01:00<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSyzonmBzc4RDRGEFpl4nx2X91Cn66X_7n9LyyX5tcSpV8gnM8m_WmNDK5YRCVk7EJvRYmnSjjmrfxRGdc1EowawAHyBRldkgh2cvYm1wp95dK-_wZO4nPPVc7OWMpqjFPBb1Tgd3URAw/s1600/Evert+Graf.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSyzonmBzc4RDRGEFpl4nx2X91Cn66X_7n9LyyX5tcSpV8gnM8m_WmNDK5YRCVk7EJvRYmnSjjmrfxRGdc1EowawAHyBRldkgh2cvYm1wp95dK-_wZO4nPPVc7OWMpqjFPBb1Tgd3URAw/s400/Evert+Graf.jpg" width="400" /></a></div>
<h3 class="graf--h3 graf-after--figure" id="199a" name="199a" style="background-color: white; color: rgba(0, 0, 0, 0.8); font-family: medium-content-sans-serif-font, 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', Geneva, Verdana, sans-serif; font-size: 36px; letter-spacing: -0.02em; line-height: 1.15; margin: 65px 0px 0px -2.25px;">
CourtHive</h3>
<h4 class="graf--h4 graf-after--h3" id="0455" name="0455" style="background-color: white; color: rgba(0, 0, 0, 0.439216); font-family: medium-content-sans-serif-font, 'Lucida Grande', 'Lucida Sans Unicode', 'Lucida Sans', Geneva, Verdana, sans-serif; font-size: 28px; font-weight: 300; letter-spacing: -0.022em; line-height: 1.22; margin: 1px 0px 0px -1.75px;">
Fan Participation Platform</h4>
<div class="graf--p graf-after--h4" id="b9fc" name="b9fc" style="background-color: white; color: rgba(0, 0, 0, 0.8); font-family: medium-content-serif-font, Georgia, Cambria, 'Times New Roman', Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 30px;">
<a class="markup--anchor markup--p-anchor" data-href="http://tennisvisuals.com/CourtHive/" href="http://tennisvisuals.com/CourtHive/" rel="nofollow" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0.298039); background-color: transparent; background-image: linear-gradient(rgba(0, 0, 0, 0.8) 25%, rgba(0, 0, 0, 0) 25%); background-position: 0px 22px; background-repeat: repeat-x; background-size: 2px 2px; text-decoration: none;">CourtHive</a> is a web application for charting tennis matches. It was inspired by the <a class="markup--anchor markup--p-anchor" data-href="http://www.tennisabstract.com/charting/meta.html" href="http://www.tennisabstract.com/charting/meta.html" rel="nofollow" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0.298039); background-color: transparent; background-image: linear-gradient(rgba(0, 0, 0, 0.8) 25%, rgba(0, 0, 0, 0) 25%); background-position: 0px 22px; background-repeat: repeat-x; background-size: 2px 2px; text-decoration: none;">Match Charting Project</a> and is intended to support the growth of an <a class="markup--anchor markup--p-anchor" data-href="https://github.com/JeffSackmann/tennis_MatchChartingProject" href="https://github.com/JeffSackmann/tennis_MatchChartingProject" rel="nofollow" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0.298039); background-color: transparent; background-image: linear-gradient(rgba(0, 0, 0, 0.8) 25%, rgba(0, 0, 0, 0) 25%); background-position: 0px 22px; background-repeat: repeat-x; background-size: 2px 2px; text-decoration: none;">open-source repository</a> of matches which will aid statisticians in advancing the state of the art with respect to tennis.</div>
<div class="graf--p graf-after--h4" id="b9fc" name="b9fc" style="background-color: white; color: rgba(0, 0, 0, 0.8); font-family: medium-content-serif-font, Georgia, Cambria, 'Times New Roman', Times, serif; font-size: 21px; letter-spacing: -0.003em; line-height: 1.58; margin-top: 30px;">
<a href="https://medium.com/@TennisVisuals/courthive-d0caca7c2899#.pbzuyd4sw">Read more...</a></div>
Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0tag:blogger.com,1999:blog-4670359398672608469.post-33081139474023293082016-01-25T02:46:00.003+01:002016-01-25T02:46:22.697+01:00Pondering Point Patterns<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5SClYjPSe9nDVBLNBP1Gj9sXMuPr9jRz3-RIa89CLblK9KztSlzajvEGq-G-fW8SJ5e_XND6NjakcpAIleurNDEv7_CMe1ddQ7are7EPortpAO4hb2XkDGRx7DZEPlepG23eY0RjdPLA/s1600/Screen+Shot+2016-01-25+at+2.44.52+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5SClYjPSe9nDVBLNBP1Gj9sXMuPr9jRz3-RIa89CLblK9KztSlzajvEGq-G-fW8SJ5e_XND6NjakcpAIleurNDEv7_CMe1ddQ7are7EPortpAO4hb2XkDGRx7DZEPlepG23eY0RjdPLA/s400/Screen+Shot+2016-01-25+at+2.44.52+AM.jpg" width="400" /></a></div>
<br />
Tennis players are actors in a social network of fellow competitors, and every exchange of shots in a rally can be seen as a conversation that is part of a narrative encompassing each new achievement in the sport. Do some players try to have the same conversation with every opponent they face? Do some have a more expansive vocabulary and select specific patterns of play every time they face specific opponents? Are some players able to change the conversation when it’s not going their way? Are there ‘truthy’ stories that sports journalists and experts spin to keep the banter lively and the audience engaged? Can statistical analysis reveal whether it makes any sense to be asking these questions?<br />
<br />
<a href="https://medium.com/the-tennis-notebook/pondering-point-patterns-3e63869e25e6#.xkh0ijbmz">Read the full article... published on The Tennis Notebook.</a>Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0tag:blogger.com,1999:blog-4670359398672608469.post-25309084168650905742016-01-23T03:02:00.000+01:002016-01-27T07:24:32.830+01:00The Refactor Factor - Pursuing Patterns<h2>
Refactoring</h2>
I've spent the past few months re-factoring the <a href="http://tennisvisuals.com/">TennisVisuals.com</a> codebase to support a range of new features and data sources that will surface in 2016. It may not appear that a great deal is happening, and I certainly haven't produced what I thought I would produce in the timelines I've envisioned, but from a cold start less than a year ago I'm finally producing code that I'm willing to <a href="https://github.com/TennisVisuals" target="_blank">share with the public on Github</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2tTYmAn91pEJa2EOSkIdoqVb2F-KHkowAEeARiCePwcznnzbDfwSGnC6EifHM3OszC6IOADkb39nuDpsQ8pFOYa_fkr_pRj0b8CldbzB1tH2kmKEmgzkdV22zbOauxRI43chyjZYqh2s/s1600/MatchRadar.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2tTYmAn91pEJa2EOSkIdoqVb2F-KHkowAEeARiCePwcznnzbDfwSGnC6EifHM3OszC6IOADkb39nuDpsQ8pFOYa_fkr_pRj0b8CldbzB1tH2kmKEmgzkdV22zbOauxRI43chyjZYqh2s/s320/MatchRadar.jpg" width="320" /></a></div>
The <a href="http://tennisvisuals.com/examples/MatchRadar.html" target="_blank">"Match Radar</a>" had a significant overhaul and was my first use of a "reusable" and "updating" approach to D3 chart design. The release of the source for the <a href="http://bl.ocks.org/TennisVisuals/c591445c3e6773c6eb6f" target="_blank">"reusable, updating radar chart"</a> was picked up by <a href="http://www.buildingwidgets.com/" target="_blank">"Building Widgets"</a> and resulted in an R derivative of the chart, <a href="http://www.buildingwidgets.com/blog/2015/12/9/week-49-d3radarr" target="_blank">"d3radarR"</a>.<br />
<br />
More significant for the future of <a href="http://tennisvisuals.com/">TennisVisuals.com</a>, however, was the redevelopment of the <a href="http://tennisvisuals.com/examples/pointsToSet.html" target="_blank">Points-to-Set Chart</a>, which resulted in the creation of a <a href="https://github.com/TennisVisuals/universal-match-object" target="_blank">"Universal Match Object"</a> (UMO). The UMO "understands" the structure of tennis matches and serves as a "validating" container for point data from which numerous "views" of a match may be generated. Points-to-Set is one such "view".<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9I0gUok7NS-6XCCxUm3YDwZyLaFM44hqbLWGEDw_ugSHoSO0h-QoP1gyAxwCQNplvFFGJXIzQi5JxbL9RVE3WNtFwTpPjVU7edNvFaJUYS7AG1vkNuy60l34EUWfxpzoAmPyHvgKTn-4/s1600/Screen+Shot+2016-01-22+at+11.08.20+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="75" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9I0gUok7NS-6XCCxUm3YDwZyLaFM44hqbLWGEDw_ugSHoSO0h-QoP1gyAxwCQNplvFFGJXIzQi5JxbL9RVE3WNtFwTpPjVU7edNvFaJUYS7AG1vkNuy60l34EUWfxpzoAmPyHvgKTn-4/s400/Screen+Shot+2016-01-22+at+11.08.20+PM.jpg" width="400" /></a></div>
I recently used the UMO to validate 96,000+ matches with point-by-point data which were <a href="https://github.com/JeffSackmann/tennis_pointbypoint" target="_blank">provided by Jeff Sackmann</a>. (You can read about the results of that analysis <a href="https://github.com/TennisVisuals/universal-match-object/blob/master/PBP%20Analysis.md" target="_blank">here</a>). As I refactor my codebase the UMO has become central to the integration of disparate data sources.<br />
<br />
A great deal of my focus of late has been re-visiting the data which <a href="https://twitter.com/tennisabstract" target="_blank">Jeff Sackmann</a> and his team of volunteers have been generating over at the <a href="http://www.tennisabstract.com/blog/2015/12/08/11-reasons-to-contribute-to-the-match-charting-project/" target="_blank">Match Charting Project</a>. The number of charted matches has been <a href="https://github.com/JeffSackmann/tennis_MatchChartingProject" target="_blank">growing by leaps and bounds</a>. When I started <a href="http://tennisvisuals.com/">TennisVisuals.com</a> I believed I would be far more focused on data that can be captured using applications such as <a href="http://www.fieldtown.co.uk/" target="_blank">Pro Tracker Tennis</a>, but once I expanded the project to support multiple data sources the draw of the larger (and growing) MCP dataset began to exert more influence, especially as there is a broader audience for visualizations of professional tennis matches, and a greater opportunity for conversations and collaborations with others who are interested in analyzing the data.<br />
<h2>
Patterns of Play</h2>
Last week <a href="https://twitter.com/kryptobanana" target="_blank">Nikita Taparia</a> and <a href="https://twitter.com/tennisabstract" target="_blank">Jeff Sackmann</a> launched the <a class="markup--anchor markup--p-anchor" data-href="https://medium.com/the-tennis-notebook/patterns-of-play-e19624d59b2a#.8kfzib4wc" href="https://medium.com/the-tennis-notebook/patterns-of-play-e19624d59b2a#.8kfzib4wc">Tennis Data Storytelling Challenge</a>. Since one of the goals of <a href="http://tennisvisuals.com/">TennisVisuals.com</a> is to showcase visualizations of tennis data, I elected to be one of the sponsors of the challenge. I will showcase the top three visualizations that result from the challenge and endeavor to present them in such a way that they will be able to utilize the growing database of matches in real time.<br />
<br />
To help promote the challenge I wrote a piece for <a href="https://medium.com/the-tennis-notebook" target="_blank">The Tennis Notebook</a>: <a href="https://medium.com/the-tennis-notebook/pondering-point-patterns-3e63869e25e6#.wmzfrnigk" target="_blank">"Pondering Point Patterns"</a>, and to further facilitate the exploration of MCP data I've been busy creating some <a href="https://github.com/TennisVisuals/mcp-charting-points-parser" target="_blank">MCP-specific tools</a>. The UMO has been central to this effort. At this point .CSV files generated by the MCP spreadsheet are being validated by the UMO, which is then providing a standard API for querying and manipulating match data.<br />
<br />
One of the most significant features of the Match Charting Project is that it is possible to capture not only point progressions and rally lengths, but also some details about specific strokes and shot placements during rallies. Working with MCP data is driving the development of the UMO to a point where it will not only "understand" the structure of matches, but also the layout of the court.<br />
<br />
Over at <a href="http://heavytopspin.com/">HeavyTopspin.com</a> Jeff has written a number articles based on analysis of shot-specific data. One of the first articles that caught my eye (there are some color charts) examines the effectiveness of <a href="http://www.tennisabstract.com/blog/2015/10/29/toward-a-better-understanding-of-return-effectiveness/" target="_blank">"Return-of-Serve" placement</a>; another article looks at the tactical importance of <a href="http://www.tennisabstract.com/blog/2015/11/09/the-difficulty-and-importance-of-finding-the-backhand/" target="_blank">"finding" an opponents backhand</a>. On the whole, however, there hasn't been many explorations of this rich portion of the MCP data. At <a href="http://tennisvisuals.com/">TennisVisuals.com</a> I've not even touched it, until now...<br />
<div>
<br /></div>
<br />Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com2tag:blogger.com,1999:blog-4670359398672608469.post-7544980060126374822015-11-17T14:30:00.000+01:002015-11-17T17:24:19.291+01:00Rally Tree: Point Distribution and Win Percentage<div class="separator" style="clear: both; text-align: left;">
Tennis is an "intermittent" sport. The level of intensity can vary greatly with the rally length of points and <a href="http://fivethirtyeight.com/features/why-some-tennis-matches-take-forever/" target="_blank">the time taken between points</a> (<a href="http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2653872/" target="_blank">among other factors including surface, ball type, sex and level of play</a>). When rallies are visualized they are typically depicted temporally from the first point to the last, which gives a jagged chart where it is difficult to discern any pattern at all. <a href="http://tennisvisuals.com/examples/RallyTree.html?playerName=&year=" target="_blank">"Rally Tree"</a> is an attempt to bring a different perspective to the analysis of rallies.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9GKhpYTGbKe674N8R1XOsUCjpBrdTo-xZY7Vu7EKMuvulRRsvibL8Byee8Ah7QDjLo6t5n3lWcHghqupnj2PvcZAKlom0Z9tP9kvcEft200f-S10X-U5yrUEt6egJBwep1Mibu0jVR0/s1600/RallyTree.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ9GKhpYTGbKe674N8R1XOsUCjpBrdTo-xZY7Vu7EKMuvulRRsvibL8Byee8Ah7QDjLo6t5n3lWcHghqupnj2PvcZAKlom0Z9tP9kvcEft200f-S10X-U5yrUEt6egJBwep1Mibu0jVR0/s320/RallyTree.jpg" width="320" /></a></div>
<a href="http://tennisvisuals.com/examples/RallyTree.html?playerName=&year=" target="_blank">"Rally Tree"</a> depicts the distribution of points across various rally lengths, beginning at the top with rally lengths of Zero, which indicate either Aces, Serve Winners, or Double Faults. Color coding differentiates errors where balls were "netted" vs. hit long.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguPEaZqDfF6Z73BoqSmrl4iGVksHK9Vy96mxsM2orJJZtco2XB9eZw9jrjmXtaINIDrpNQU1kVk5qI9b24WlaB3oM0rwkRhR1Wc45xOzVnMm45oNas1VFBYo0DGqr9js-8f0pss1C4UcI/s1600/RT_Serving.jpg" imageanchor="1" style="clear: right; display: inline !important; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguPEaZqDfF6Z73BoqSmrl4iGVksHK9Vy96mxsM2orJJZtco2XB9eZw9jrjmXtaINIDrpNQU1kVk5qI9b24WlaB3oM0rwkRhR1Wc45xOzVnMm45oNas1VFBYo0DGqr9js-8f0pss1C4UcI/s200/RT_Serving.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLP6pSCBMq2H7LEbad6Fj90V02ZxzS8_wQmgL4th-v-lGAXbdclqFKagXMHNdoJDzf2nnfIMoyCdwPxI-3Z-mzeC67AHb-kNVc1ZFzThg3mvVzB3cjrEeTYs_apn54dWBYT2-GHyURwkM/s1600/RT_Receiving.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLP6pSCBMq2H7LEbad6Fj90V02ZxzS8_wQmgL4th-v-lGAXbdclqFKagXMHNdoJDzf2nnfIMoyCdwPxI-3Z-mzeC67AHb-kNVc1ZFzThg3mvVzB3cjrEeTYs_apn54dWBYT2-GHyURwkM/s200/RT_Receiving.jpg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
There are several available views. The default view displays all points for a single match or selection of matches. You can filter by player to display only points served by either player (or composite of opponents). Notice the number of winners among the points won for servers vs. those receiving.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Additionally there is an overlay depicting the percentage chance that a point was won for any given rally length. The offset vertical lines represent 50% either side of center (0%).</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4UXLIjqSnjiP6cV2W-Z7BryxgintbGePAO5QzVJVzBGxrGypRaX1IQKSBxpSBS5r0xOSLmyhTNGU7Y6MVS6TvVY-RokmRx3h0351sax0U2hembEDiFk9saMg6rCuNCvdDNFk_zHPvrGA/s1600/RT_Pct.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="218" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4UXLIjqSnjiP6cV2W-Z7BryxgintbGePAO5QzVJVzBGxrGypRaX1IQKSBxpSBS5r0xOSLmyhTNGU7Y6MVS6TvVY-RokmRx3h0351sax0U2hembEDiFk9saMg6rCuNCvdDNFk_zHPvrGA/s320/RT_Pct.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
For the "served points" views, this gives a graphic representation of the Persistence of Server Advantage, which varies greatly among players. Please note that this is <i><b>not</b></i> the same as percentage of points won for a given rally length.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8e19168r5ZZ0I3YgJ_RZQDWiqx8DNGVr1i5f98NVxnn7sHSelptEjDKXEDBu80x-S7tz4tapDDCReFkdEwubmz89bSd9uEcLs-k_n6il09h2HKzu_LvAYDYwEaFK7HXUrzhN3PQ4e_AI/s1600/RT_Pct_Player.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="145" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8e19168r5ZZ0I3YgJ_RZQDWiqx8DNGVr1i5f98NVxnn7sHSelptEjDKXEDBu80x-S7tz4tapDDCReFkdEwubmz89bSd9uEcLs-k_n6il09h2HKzu_LvAYDYwEaFK7HXUrzhN3PQ4e_AI/s200/RT_Pct_Player.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib-2YygzKq9Tkfw6aGr-Yzvo7ny9fr8d1azum3tGTxYKSANoCRrE1K8zWYhPwLdJCV6giAPmELDEhEWxmdkpCodsog-XHYHRGegHbK2aKO7YG8EZ0SY7EOYEGf-bGAgyWnEmCFNTO86z4/s1600/RT_Pct_Opponent.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEib-2YygzKq9Tkfw6aGr-Yzvo7ny9fr8d1azum3tGTxYKSANoCRrE1K8zWYhPwLdJCV6giAPmELDEhEWxmdkpCodsog-XHYHRGegHbK2aKO7YG8EZ0SY7EOYEGf-bGAgyWnEmCFNTO86z4/s200/RT_Pct_Opponent.jpg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
The <a href="http://tennisvisuals.com/examples/RallyTree.html?playerName=&year=" target="_blank">"Rally Tree"</a> graphics in this post are of Novak Djokovic's matches at Wimbledon in 2014 and 2015. The last two images depict the persistence of Djokovic's server advantage on the left and a composite of his opponents' server advantage on the left. Djokovic's dominance is obvious. Apart from rallies of seven, he had a greater than 50% chance of winning all points with rallies up to sixteen. His opponents' composite server advantage only extended to rallies of five.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
You can play around with a live version of Rally Tree and explore your favorite players at <a href="http://tennisvisuals.com/">TennisVisuals.com</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In the near future <a href="http://tennisvisuals.com/examples/RallyTree.html?playerName=&year=" target="_blank">"Rally Tree"</a> will be integrated with <a href="http://tennisvisuals.com/examples/GameTree.html" target="_blank">"Game Tree"</a> and other TAVA components so that selections in one component can drive views in another. For instance, a "Point Progression" from 0-0 to 0-15 can be selected in <a href="http://tennisvisuals.com/examples/GameTree.html" target="_blank">"Game Tree"</a> to view the distribution of points in the <a href="http://tennisvisuals.com/examples/RallyTree.html?playerName=&year=" target="_blank">"Rally Tree"</a> or <a href="http://tennisvisuals.com/examples/pointsToSet.html" target="_blank">"Points-to-Set"</a>. From this point it will be possible to explore whether there are certain points in a match when rally lengths increase...</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
To read more about <a href="http://www.tennisabstract.com/blog/2011/08/17/how-long-does-the-servers-advantage-last/" target="_blank">"Persistence of Server Advantage"</a> please follow the link to Jeff Sackmann's blog post on the topic.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0tag:blogger.com,1999:blog-4670359398672608469.post-27218775399012362022015-10-26T09:43:00.000+01:002015-11-01T20:52:41.778+01:00State of the Art of the Stats<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrF8T0XiRioB3LVxAf33cRv5S9fAVcFCdP6aKVYeMfvU_KgY5TSUU9DCKWJUMe6cpRTECQEtgF2Sga4dSLGnmRWY8XHzMI6Q4aMgowNSseZFKbOefDXGXAKdQuAXwuNJ8CWvDbrdJB7XI/s1600/Screen+Shot+2015-10-22+at+8.40.01+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrF8T0XiRioB3LVxAf33cRv5S9fAVcFCdP6aKVYeMfvU_KgY5TSUU9DCKWJUMe6cpRTECQEtgF2Sga4dSLGnmRWY8XHzMI6Q4aMgowNSseZFKbOefDXGXAKdQuAXwuNJ8CWvDbrdJB7XI/s400/Screen+Shot+2015-10-22+at+8.40.01+AM.jpg" width="400" /></a></div>
<div>
At the end of August, in a <a href="http://tennisviz.blogspot.hr/2015/08/shot-explorer-parallel-sets.html" target="_blank">post discussing the exploration and filtering of shots from tennis matches</a>, I referenced the fact that the majority of data generated by tennis matches hasn't been captured; venues where <a href="https://en.wikipedia.org/wiki/Hawk-Eye" target="_blank">Hawk Eye</a> is available are the exception, and even <a href="https://en.wikipedia.org/wiki/Hawk-Eye" target="_blank">Hawk Eye</a> doesn't capture every detail that could be useful in downstream analysis of matches.<br />
<br />
Certainly today more and more tennis data *is* being captured, and the alternatives for capturing data are expanding steadily - when there is video available it is even possible to capture additional data from historical matches (indeed this is being done to some extent by volunteers for the <a href="http://www.tennisabstract.com/charting/meta.html" target="_blank">Match Charting Project</a>, and automated video processing tools are in development which could facilitate this process) - but if "progress" is to be made in understanding how the analysis of tennis data can contribute to the development of the game (which primarily means player development), at least two things need to happen:</div>
<ol>
<li>tennis data has to be made accessible, and </li>
<li>tennis data has to be transformed into a standard format</li>
</ol>
<div>
Obvious, right? </div>
<div>
<br /></div>
<div>
As I've pursued my vision of a <a href="http://tennisvisuals.com/" target="_blank">Tennis Analytics Integration Platform</a> I've struggled with both of these issues at almost every turn. My professional career was entirely focused on inter-application, cross-enterprise and intra-enterprise data and process integration, so it is very familiar territory, and unsurprising. But I *was* surprised when I initially began to track my boys' tennis matches and found that the elegant iPhone/iPad application <a href="http://www.protrackertennis.com/" target="_blank">ProTracker Tennis</a> allows for export of match data in an easily parseable format. And I was inspired, as many others have been, by the entirely open approach to tennis data and statistics taken by <a href="http://jeffsackmann.com/" target="_blank">Jeff Sackmann</a>, who makes his entire dataset available on <a href="https://github.com/JeffSackmann" target="_blank">GitHub</a>. (<a href="http://www.theguardian.com/sport/2015/apr/01/as-analytics-enlighten-across-sports-tennis-remains-stuck-in-dark-age" target="_blank">Here is a great Guardian article about Sackmann's effort</a>).</div>
<div>
<br /></div>
<div>
Still, the integration of data from only two sources requires careful consideration. As an example, <a href="http://www.protrackertennis.com/" target="_blank">ProTracker Tennis</a> captures a good amount of information, but only a handful of shots out of every point. The <a href="http://www.tennisabstract.com/charting/meta.html" target="_blank">Match Charting Project</a> makes it possible to capture *many* attributes for *every* shot of every point, but doesn't attempt capture of shot coordinates. The former tracks "Forcing Errors" (but not the error that was forced) while the latter charts "Forced Errors". The "upshot" of such differences is that data must not only be coerced into a "standard" view, but also that it is often not possible to generate the same set of statistics (or visualizations) for matches from each source. </div>
<div>
<br /></div>
<div>
Admittedly, <a href="http://www.protrackertennis.com/" target="_blank">ProTracker Tennis</a> and the <a href="http://www.tennisabstract.com/charting/meta.html" target="_blank">Match Charting Project</a> are, in general, targeting different audiences: <a href="http://www.protrackertennis.com/" target="_blank">ProTracker Tennis</a> is mostly used to track amateur and junior matches while the <a href="http://www.tennisabstract.com/charting/meta.html" target="_blank">Match Charting Project</a> is focused on <a href="http://www.atpworldtour.com/" target="_blank">ATP</a> and <a href="http://www.wtatennis.com/" target="_blank">WTA</a> matches. Nevertheless, it is possible to use either tool to track any match; and it is further possible that comparing match play of amateurs, juniors and professionals in a common framework will produce useful insights for player development.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDMoBxAfJ16XycMcgACI3POOMBtG-h7eCCdGmzDjvpImxcFpb7YDxB_O50PERnstvmJpETX55tEQZT5fQ-1bhyBtBgOlwumvoPiDDDxtrxUpiQLPgQz42Y4tneczUUQ-M74D2N878uGAo/s1600/Horizon2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="21" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDMoBxAfJ16XycMcgACI3POOMBtG-h7eCCdGmzDjvpImxcFpb7YDxB_O50PERnstvmJpETX55tEQZT5fQ-1bhyBtBgOlwumvoPiDDDxtrxUpiQLPgQz42Y4tneczUUQ-M74D2N878uGAo/s400/Horizon2.jpg" width="400" /></a></div>
<h2>
Disagreeable Data</h2>
<div>
This week I (finally) began adding additional data sources for <a href="http://www.atpworldtour.com/" target="_blank">ATP</a> / <a href="http://www.wtatennis.com/" target="_blank">WTA</a> matches to the <a href="http://tennisvisuals.com/" target="_blank">Tennis Analytics Integration Platform</a>. There are now more than 2,500 matches which can be visualized in <a href="http://tennisvisuals.com/" target="_blank">TAVA</a>, and that number is poised to grow rapidly. Not only will the number of matches grow; the number of matches for which there are multiple "views" will also grow. </div>
<div>
<br /></div>
<div>
In an ideal situation, two views of a single match would be entirely complementary, overlapping only for player names, tournament and venue names, and dates. This does occur when point-progression data is pulled from betting sites (which tend to have score results and match odds but not traditional stats) and pre-calculated statistics are pulled from a tournament site (which don't ever seem to have point-progression data). </div>
<div>
<br /></div>
<div>
But not all situations are ideal. <br />
<br />
Merging data sources is always tricky, even when the data originates from the same domain and ostensibly covers the same conceptual territory. In addition to the challenges presented by the fact that various data sources have modified and extended their own data formats over the years, there is the "not insignificant" issue that a number of tennis statistics are generated from data that is very much subject to the interpretation of the individual doing the gathering. (see articles by <a href="http://blogs.wsj.com/dailyfix/2009/09/11/the-count-when-is-a-tennis-error-unforced/" target="_blank">Carl Bialik</a> and <a href="http://www.tennisabstract.com/blog/2011/08/06/the-problem-with-unforced-errors/" target="_blank">Jeff Sackmann</a> on the topic of forced vs. unforced errors).</div>
<blockquote class="tr_bq">
<i><span style="font-family: inherit;"><span style="background-color: white; color: #333333;">“I think if you have two or three different people recording unforced errors, you’re going to get two or three different figures,” said Kevin Fischer, senior communications manager for the Women’s Tennis Association.” - <a href="http://www.nytimes.com/2013/03/10/sports/tennis/tennis-statistics-like-unforced-errors-get-no-love-from-players.html?_r=0" target="_blank">NYT</a></span> </span></i></blockquote>
<div>
The matches from data sources I've added this week overlap significantly with the <a href="http://www.tennisabstract.com/charting/meta.html" target="_blank">Match Charting Project</a>. This is both a headache (from a design and programming point-of-view) and an opportunity. One of the potential weaknesses of the <a href="http://www.tennisabstract.com/charting/meta.html" target="_blank">Match Charting Project</a> (eloquently articulated by <a href="https://twitter.com/StatsOnTheT" target="_blank">Stephanie Kovalchik</a> in her blog <a href="http://on-the-t.com/2015/09/19/Charting-Match-Charting/" target="_blank">On-the-T.com</a>) is that match data is gathered by a single person working, often in real time, with a spreadsheet. Errors can be introduced into the data that are hard to weed out. With a second and even third "view" of point-progression and final statistics, discrepancies can be automatically identified and flagged. [An obvious addition to <a href="http://tennisvisuals.com/" target="_blank">Tennis AiP</a> is a Match Editor in which such discrepancies can be resolved - and indeed this is in the roadmap.]</div>
<div>
<br /></div>
<div>
It's important to remember that even the "official" data for professional tennis matches is still being generated by teams of humans working "behind the scenes". A <a href="http://www.theguardian.com/technology/2014/jul/04/wimbledon-ibm-data-bunker" target="_blank">2014 article which appeared in The Guardian</a> gives some perspective on the "State of the Art" of how tennis statistics are gathered still today... A team of 48 "data entry people" are scattered about Wimbledon; most sit court side. They have technology, yes, but, apart from serve speed, there is a human generating every bit of data. And not every court can be covered to the extent that full stats can be generated. This is apparent even from a review of stats available on <a href="http://www.wimbledon.com/en_GB/slamtracker/" target="_blank">IBM's Slamtracker</a> - matches between lower ranked players which take place on peripheral courts often have little to no data available.<br />
<br />
All of this leads to the thought that there are further opportunities for <a href="https://en.wikipedia.org/wiki/Crowdsourcing" target="_blank">crowdsourcing</a> tennis data and generating statistics and match views that could push beyond what is currently being done for the professional tours, even by top-flight corporations. <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgG12mw1w7NO87UnlibziStLCFrHX-JV-AcBwV91jOiVjf0VBlYXSQ23l4o82OxhETAq9_xgFK43RztqyR0P6wRVd-UgsaJ1ca12DvoLC2_OQgpmiv_evQ8JNQtuDHGr6-yhccp31Suv9s/s1600/Screen+Shot+2015-10-25+at+9.40.03+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="20" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgG12mw1w7NO87UnlibziStLCFrHX-JV-AcBwV91jOiVjf0VBlYXSQ23l4o82OxhETAq9_xgFK43RztqyR0P6wRVd-UgsaJ1ca12DvoLC2_OQgpmiv_evQ8JNQtuDHGr6-yhccp31Suv9s/s400/Screen+Shot+2015-10-25+at+9.40.03+PM.jpg" width="400" /></a></div>
<h2>
Machine Dreams and Silo Silliness</h2>
</div>
<div>
But what about <a href="https://en.wikipedia.org/wiki/Hawk-Eye" target="_blank">Hawk Eye</a>, you may ask? Yes, impressive technology, generating huge amounts of data, all of it <a href="http://gamesetmap.com/?p=74" target="_blank">inaccessible to statisticians and aficionados</a>. It's not even clear that the coaches of top tennis professionals actually know what to do with it all, yet. <a href="https://twitter.com/DamienSaunder" target="_blank">Damien Saunder</a> at <a href="http://gamesetmap.com/">GameSetMap.com</a> has a number of articles looking at <a href="http://gamesetmap.com/?p=1199" target="_blank">what kind of analysis Hawk Eye data makes possible</a>. At present, however, none of the official statistics available online appear to have been actually produced by systems such as <a href="https://en.wikipedia.org/wiki/Hawk-Eye" target="_blank">Hawk Eye</a>; it is used for adjudication and for the generation of graphics during televised performances, to "enhance viewer experience". Certainly <a href="https://en.wikipedia.org/wiki/Hawk-Eye" target="_blank">Hawk Eye</a> can be viewed as "State of the Art" technology for raw data capture, but it is not clear that it represents the "State of the Art" for charting and statistical analysis.<br />
<br />
It is also not clear to what extent a tennis match *can* be automatically charted, though companies such as <a href="http://www.mojjo.fr/" target="_blank">Mojjo</a> and <a href="https://www.playsight.com/" target="_blank">PlaySight</a> are now gathering impressive amounts of data and making it possible to deliver useful and usable systems which can be operated by club players. Both companies are reducing the cost to end-users and, while not yet entirely portable, have made it possible to at least increase court coverage - the number of courts from which some portion of match data could potentially be accessed. There are also companies such as <a href="http://www.tennisanalytics.net/" target="_blank">Tennis Analytics</a> (high end) and <a href="https://www.tennis-stat.com/en/" target="_blank">Tennis-Stat.com</a> that offer services for post-match video processing from end-user video, but none appear to be as advanced as what <a href="https://twitter.com/DamienSaunder" target="_blank">Damien Saunder</a> achieved <a href="http://gamesetmap.com/?p=56" target="_blank">using ArcGIS in this 2012/2013 effort</a> (though Tennis Analytics is enabling broad and powerful exploration and filtering of match data - see the end of <a href="http://www.ibtimes.com/us-open-2015-advanced-analytics-tennis-takes-minor-step-forward-ibms-slamtracker-2087873" target="_blank">this article</a>).<br />
<br />
The big question, from my perspective, is whether these relatively new entries into Match Tracking (or Charting) will remain Data/Information <a href="http://www.webopedia.com/TERM/I/information_silo.html" target="_blank">Siloes</a> and be as inaccessible to third parties as <a href="https://en.wikipedia.org/wiki/Hawk-Eye" target="_blank">Hawk Eye</a>. If it is not possible to integrate data from such sources then we are left in a situation where the "State of the Art" could only be advanced within the context of a single application environment (a single corporation), and, barring a scenario where one technical "solution" becomes ubiquitous across all venues where one might potentially play tennis, we could never achieve a <a href="https://en.wikipedia.org/wiki/Big_data" target="_blank">Big Data</a> view, even for a single player (though a single player could potentially spend hundreds of thousands of dollars to pay a single service to generate their own data set).<br />
<br />
I also see the <a href="http://www.forbes.com/sites/brentgleeson/2013/10/02/the-silo-mentality-how-to-break-down-the-barriers/" target="_blank">"Silo Mentality"</a> in practically every tennis application that is available for Tablets and Smart Phones (apart from the sad fact that the vast majority of them are inscrutable and/or useless). The primary focus of every new tennis tracking application or product offering (including racquet sensors, the new <a href="http://play.babolat.us/pop-connected-tennis" target="_blank">Babolat POP</a> and <a href="http://www.pulse-play.com/" target="_blank">Pulse Play</a>) is to "build a community" and to cash in on "social marketing"; only a very few such products that I've reviewed (out of several dozen) have any sort of intentional data export capability, and fewer still export any data that is useful for pushing the "State of the Art" in tennis analysis forward or in fact adding meaningfully to what little conversation there is about how any of the data or analysis will contribute to better tennis (to player development). <br />
<br />
The most potent and relevant counter example to the situation I've described above is probably the <a href="https://dev.fitbit.com/" target="_blank">Developer API</a> offered by <a href="http://www.fitbit.com/" target="_blank">FitBit</a>, a leader in the "Activity Tracker" market. There is an increasing number of such gadgets that are allowing third parties, usually for a monthly subscription fee, to access and integrate data in real time. Similar APIs are catalogued by <a href="http://www.programmableweb.com/category/fitness/apis?search_id=136382&category=20213&order=created&sort=desc" target="_blank">ProgrammableWeb</a>. There is no reason why vendors of products and services related to tennis match data could not create similar offerings. In the future, the <a href="http://tennisvisuals.com/examples/" target="_blank">Tennis Analytics Integration Platform</a> will expose just such an API, and I have created a number of <a href="http://tennisvisuals.com/examples/" target="_blank">examples</a> in the hope of inspiring collaborators with more data visualization experience than myself to join the effort.<br />
<h2>
Conclusion</h2>
</div>
<div>
There seems to be a general agreement that presenting more data is a good thing, and that surely the presentation and even visualization of data will be helpful, but I fear there is a real danger that it is all just a distraction and that the only ones who *may* benefit, for some period of time, are those selling the technology. It certainly seems that <a href="http://www.ibm.com/analytics/us/en/" target="_blank">IBM's</a> and <a href="https://sapsponsorships.com/categories/tennis/" target="_blank">SAP's</a> pursuit of Analytics for the <a href="http://www.atpworldtour.com/">ATP</a> and <a href="http://www.wtatennis.com/">WTA</a>, respectively, is far more about marketing their brands and keeping the audience entertained than it is about actually providing meaningful insights. (Not that entertainment is a bad thing!) This is a critique that appears often, most recently in <a href="https://twitter.com/kryptobanana" target="_blank">Nikita Taparia's</a> very entertaining <a href="https://medium.com/the-tennis-notebook/tennis-note-24-32a2025ee7e" target="_blank">Tennis Note #24</a>.<br />
<br />
Ultimately the benefits to be found from analyzing data across a large number of tennis matches will be limited by the subset of common statistics and "views" that can be derived from whatever number of data sources are amenable to integration. The goal of integration is to maximize the amount of data which can be usefully processed while minimizing the degree to which differences in the structure and "views" offered by each data source impact the scope of viable analysis.<br />
<br />
I believe it would ultimately be to the benefit of all who are producing tennis-related applications as well as those who are working in the field of Sports Analytics if there were an <a href="https://en.wikipedia.org/wiki/Open_data" target="_blank">Open Data</a> approach to data generated from tennis matches. There have been, without a doubt, many passionate pleas for such an approach that proceeded this screed. If you've made it this far, I'm surprised again!</div>
<br />Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0tag:blogger.com,1999:blog-4670359398672608469.post-26296098458576941742015-10-04T20:54:00.000+02:002017-04-04T10:32:26.667+02:00Game Tree: Point Progression<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnkxsR83IFC0_OYG_qR1TeR4kUqUVyy5efgZOlIbqJ1XH2QTTzhUWVdYsVJAkYSMAkn08eBqsszIbrAU_dYUo1vLAuAc2vQOxF8zCHwmT5k4u5nxpi9xl2vKDhfP8GCuEs3_6Tw86Wpz0/s1600/Screen+Shot+2015-10-04+at+9.04.01+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnkxsR83IFC0_OYG_qR1TeR4kUqUVyy5efgZOlIbqJ1XH2QTTzhUWVdYsVJAkYSMAkn08eBqsszIbrAU_dYUo1vLAuAc2vQOxF8zCHwmT5k4u5nxpi9xl2vKDhfP8GCuEs3_6Tw86Wpz0/s400/Screen+Shot+2015-10-04+at+9.04.01+AM.jpg" width="361" /></a></div>
<br />
"Game Tree" is a depiction of Point Progression for a selection of games within a tennis match or across a series of tennis matches; it is a <a href="https://en.wikipedia.org/wiki/Sankey_diagram" target="_blank">Sankey Diagram</a> and possesses the <a href="https://en.wikipedia.org/wiki/Markov_property" target="_blank">"Markov property"</a>, meaning that the set of future "states" that are possible are constrained by the current "state", the point score at any moment in a game. <a href="http://setosa.io/blog/2014/07/26/markov-chains/index.html" target="_blank">Here is a nice interactive explanation.</a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpTBtBGcVE6oGKQ-5gzPdzg_2JnyoAQpLZU7byzgg6etmjaLg8_zngq3B1N9VjJe7swis1KybJ13dF5krsq2qYtYO2G6PddeR-1kgzbKD3FNclDkQO6G80K71KV6o8QNGNu-Yrn36hRac/s1600/Screen+Shot+2015-10-04+at+9.12.47+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpTBtBGcVE6oGKQ-5gzPdzg_2JnyoAQpLZU7byzgg6etmjaLg8_zngq3B1N9VjJe7swis1KybJ13dF5krsq2qYtYO2G6PddeR-1kgzbKD3FNclDkQO6G80K71KV6o8QNGNu-Yrn36hRac/s320/Screen+Shot+2015-10-04+at+9.12.47+AM.jpg" width="320" /></a></div>
<a href="https://en.wikipedia.org/wiki/Markov_chain" target="_blank">"Markov Chains"</a> have often been applied to tennis games. Google <a href="https://www.google.com/search?q=markov+tennis" target="_blank">"Markov Tennis"</a> and you'll find a large number of articles on statistics which use Tennis to explore probability. A few of the results use <a href="https://en.wikipedia.org/wiki/Data_flow_diagram" target="_blank">Data Flow Diagrams</a> to depict Point Progression: <a href="http://www.wolfram.com/mathematica/new-in-9/markov-chains-and-queues/analyze-a-tennis-game.html" target="_blank">Wolfram Alpha</a> has an attractive visualization (see above) which was reproduced in an article on <a href="https://deltadata.wordpress.com/2013/12/14/predictive-modeling-in-tennis/" target="_blank">Predictive Modeling</a>; and NC State University produced a <a href="http://ma114videos.blogspot.hr/2013/07/movie-tennis.html" target="_blank">YouTube video</a>, as part of an online course titled <a href="http://ma114online.blogspot.hr/2013/07/part-6.html" target="_blank">"Introduction to Finite Math"</a>, with a whiteboard explanation of state transitions in tennis games. When visualizations are provided they are usually arranged like the <a href="http://tennisviz.blogspot.hr/2015/08/gamefish-point-progression-key-shots.html" target="_blank">GameFish</a> in <a href="http://tennisvisuals.com/">TennisVisuals.com</a>, with either horizontal or vertical orientation:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv8yjPhj0W4Asnl_sVC5r5QGln1VL3N9q5lHVwMyyGXHnI6c2o2RnY1IgCdxgCPhLSGfJUt1ln4DaevlLweYDNs43TfJRK3EhUkGDJAmYzgVRspUAxjBdR5EC-SXGtUBo9trap9eEHYWQ/s1600/Screen+Shot+2015-10-04+at+9.11.42+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv8yjPhj0W4Asnl_sVC5r5QGln1VL3N9q5lHVwMyyGXHnI6c2o2RnY1IgCdxgCPhLSGfJUt1ln4DaevlLweYDNs43TfJRK3EhUkGDJAmYzgVRspUAxjBdR5EC-SXGtUBo9trap9eEHYWQ/s200/Screen+Shot+2015-10-04+at+9.11.42+AM.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiriaDRgk0RGnj_5t73QEcCBwy_ue2d0zWyr9_6fW1DyriMCLMCJpHxorjWzDvDbR9nEgZURo5GhAA5bc_nGNiWmu7AV2l1RU1OqlJJU62euRTcInLbvgjuYp7GEsEC15Om6tXkoNUL-SQ/s1600/Screen+Shot+2015-10-04+at+9.15.46+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiriaDRgk0RGnj_5t73QEcCBwy_ue2d0zWyr9_6fW1DyriMCLMCJpHxorjWzDvDbR9nEgZURo5GhAA5bc_nGNiWmu7AV2l1RU1OqlJJU62euRTcInLbvgjuYp7GEsEC15Om6tXkoNUL-SQ/s200/Screen+Shot+2015-10-04+at+9.15.46+AM.jpg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
As far as I can tell, the <a href="http://gamesetmap.com/?p=701" target="_blank">Game Tree</a> design created by <a href="https://twitter.com/DamienSaunder" target="_blank">Damien Saunder</a> and <a href="https://twitter.com/davidgwebb" target="_blank">David Webb</a> at <a href="http://gamesetmap.com/">GameSetMap.com</a> is the first time a <a href="https://en.wikipedia.org/wiki/Sankey_diagram" target="_blank">Sankey Diagram</a> (or <a href="http://www.complexcity.info/files/2011/06/harness-1837-flowmap.pdf" target="_blank">Harness Flow Map</a>) was applied to Point Progression in Tennis. The primary innovation was to apply the idea of "quantitive flow lines" to the possible point paths through the tree such that the width of each line represents the frequency with which games passed through each possible "state" for the score, but the real power of the design comes from its interactive nature. SVG (Scalable Vector Graphics) are used to:<br />
<ol>
<li>animate exploration of the data when it is filtered by selecting individual games, groups of games, or constraining the games to only service games for a chosen player</li>
<li>provide contextual information when "hovering" over specific elements</li>
</ol>
<div>
The original implementation of Game Tree, presented as a <a href="http://gamesetmap.com/nadalgametree/" target="_blank">celebration of Nadal's 2013 comeback</a>, used match data downloaded in XML format from the <a href="http://sports.williamhill.com/bet/en-gb/betting/y/17/Tennis.html" target="_blank">William Hill</a> Sports betting website.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWcCzWRTlnbvf6Qa7k2YPtRbCKkhjlnsBmoOobxy5LRIxM2VdyJAMxYcp73EqQD17elsFqJln3WarruK7O-J1kOlynCE9mgGImusSRJbvb1TzssRA8O454fV3f4NNDVU8cYKuMu376nhU/s1600/nadalgametree.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWcCzWRTlnbvf6Qa7k2YPtRbCKkhjlnsBmoOobxy5LRIxM2VdyJAMxYcp73EqQD17elsFqJln3WarruK7O-J1kOlynCE9mgGImusSRJbvb1TzssRA8O454fV3f4NNDVU8cYKuMu376nhU/s320/nadalgametree.jpg" width="284" /></a></div>
<br />
In the TennisVisuals version of Game Tree, data is retrieved in <a href="https://en.wikipedia.org/wiki/JSON" target="_blank">JSON</a> format from the <a href="https://www.mongodb.org/" target="_blank">Mongo</a> database which underpins <a href="http://tennisvisuals.com/" target="_blank">TennisVisuals.com</a>. That data, in turn, is presently sourced from <a href="https://twitter.com/tennisabstract" target="_blank">Jeff Sackmann's</a> <a href="http://www.tennisabstract.com/charting/meta.html" target="_blank">Match Charting Project</a> (many other data sources will come online soon).<br />
<br />
The inspiration for the Game Tree design seems to have been the same frustration that drove the development of the <a href="http://tennisviz.blogspot.hr/2015/08/points-to-set.html" target="_blank">Points-to-Set chart</a>: the final score of a tennis match reveals <b>very little</b> about how close a match actually may have been. Even a match with a 6-0, 6-0 score may have been "hotly contested". Traditional stats miss the story every time. Percentage of Points Won for a 6-0, 6-0 match, for instance, provides only a very crude view of match intensity - ranging from 100% for complete dominance by one player to 62.5% for a match in which every game reached Deuce once and only once - it relates nothing of the drama and is of very little use for constructive analysis.<br />
<br />
In the following Game Tree visualization of Nadal's service games in a match against Wawrinka at the 2013 Madrid Masters, it is easy to see that Nadal won the first point of his service games 77.8% of the time. When he did lose the first point in a match, 100% of the time he won the second point.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2JSuUMOG-nGeJ_IgAAeOwd2ZuzGnA5tsfGz4Ws9jh4sXwp_PN1Jz7NRBjJ1RGKIO8Dk20zohODXWFbnoXbEoUqc3r9O6cr-cZfMahlKOn3KTUDV6T-cIdQDOZXNLSkXRItOXFWK49URU/s1600/Screen+Shot+2015-10-04+at+9.21.25+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="257" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2JSuUMOG-nGeJ_IgAAeOwd2ZuzGnA5tsfGz4Ws9jh4sXwp_PN1Jz7NRBjJ1RGKIO8Dk20zohODXWFbnoXbEoUqc3r9O6cr-cZfMahlKOn3KTUDV6T-cIdQDOZXNLSkXRItOXFWK49URU/s320/Screen+Shot+2015-10-04+at+9.21.25+AM.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
With Game Tree it is possible to see how often Deuce was reached during a match; the thickness of flow lines even indicates how often game scores ricocheted between Deuce and Advantage. In the match with Wawrinka, for games both served and received, Nadal lost only one game that reached Deuce:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghaMPgUVHKxHTGpx4LKH3xl7sP0C_psYy8SpaJUlyo7OlCcjQaC2aH-9hQEkoDoFDV6FiuSGL4pEvyPajBjQ-amNqiXstTeMDGv484x00sIhhiju3U_XLJKBdq37W-0FwCye18ZHrNZIE/s1600/Screen+Shot+2015-10-04+at+9.34.28+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="178" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghaMPgUVHKxHTGpx4LKH3xl7sP0C_psYy8SpaJUlyo7OlCcjQaC2aH-9hQEkoDoFDV6FiuSGL4pEvyPajBjQ-amNqiXstTeMDGv484x00sIhhiju3U_XLJKBdq37W-0FwCye18ZHrNZIE/s320/Screen+Shot+2015-10-04+at+9.34.28+AM.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
In the <a href="http://gamesetmap.com/?p=453" target="_blank">Saunder/Webb implementation of Game Tree</a>, the "Nodes" of the tree are color-coded to indicate momentum. Dark nodes represent positive momentum while Red nodes represent negative momentum. In the TennisVisuals version of Game Tree these representations still hold true, but momentum is always viewed from the perspective of the primary player; when filtering for the opponent's service game, the tree is not "flipped", as occurs in the <a href="http://gamesetmap.com/gametree/nadaldjokovic080614/" target="_blank">Saunder/Webb version of the Nadal-Djokovic Roland Garros 2014 final</a>.<br />
<br />
The relative importance of each point in tennis games, sets, and matches has been analyzed extensively, most famously by <a href="https://en.wikipedia.org/wiki/Carl_Morris_(statistician)" target="_blank">Carl Morris</a> in his article "<span style="font-family: "tte184c380t00"; font-size: 12pt;">The most important points in tennis",</span> which was published in <i>Optimal Strategies in Sports</i> in 1977. It is probably impossible to publish analysis of points in tennis without referencing Morris... <a href="http://www.large-scale-sports-analytics.org/Large-Scale-Sports-Analytics/LastYearSubmissions_files/paperID9.pdf" target="_blank">here is one of many studies</a>, notable for its visualization of relative point importance within the context of a set:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUaGdFYJMuc7J2C_GhWLQaqc2q2nQ4WBUpJn5yp_RbdDPwbiv8meSmD23M6TNIhgU1ELV9J3YmBNWvnXGFP9lDC2ouK8IrrzBwm6hnM_NobNI82S9wnIX4_t5guUBvbMS1uEP8PZwEPzU/s1600/Screen+Shot+2015-10-04+at+2.57.13+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUaGdFYJMuc7J2C_GhWLQaqc2q2nQ4WBUpJn5yp_RbdDPwbiv8meSmD23M6TNIhgU1ELV9J3YmBNWvnXGFP9lDC2ouK8IrrzBwm6hnM_NobNI82S9wnIX4_t5guUBvbMS1uEP8PZwEPzU/s320/Screen+Shot+2015-10-04+at+2.57.13+PM.jpg" width="320" /></a></div>
In 2014, Professors <a href="http://www.uva.nl/en/about-the-uva/organisation/staff-members/content/k/l/f.j.g.m.klaassen/f.j.g.m.klaassen.html" target="_blank">Franc Klassen</a> and <a href="http://www.janmagnus.nl/" target="_blank">Jan Magnus</a> provided ample coverage of the topic in their book <a href="http://www.amazon.com/Analyzing-Wimbledon-Statistics-Franc-Klaassen-ebook/dp/B00HFPUM88/" target="_blank">"Analyzing Wimbledon"</a>. Most recently Jeff Sackmann wrote a series of blog posts (<a href="http://www.tennisabstract.com/blog/2015/09/15/how-important-is-the-first-point-of-each-game/" target="_blank">"How Important is the First Point of Each Game?"</a>, <a href="http://www.tennisabstract.com/blog/2015/09/17/the-pivotal-point-of-15-30/" target="_blank">"The Pivotal Point of 15-30"</a>) drawing on a <a href="https://github.com/JeffSackmann/tennis_misc/blob/master/tennisGameProbability.py" target="_blank">theoretical model</a> which he has published and utilizing his extensive match database.<br />
<br />
My plan is to integrate the insights garnered from such analyses into the TennisVisuals version of Game Tree so that results for each match can be viewed in the context of benchmark figures. I'd like to auto-generate summary reports to go along with Game Tree visualizations, similar to what Saunder has done for <a href="http://gamesetmap.com/?p=801" target="_blank">Nadal-Djokovic 2014 Roland Garros Final</a>. I also plan to divide each point "flow line" into errors and winners and highlight "clutch" performance.<br />
<br />
Shortly after releasing the <a href="http://gamesetmap.com/?p=453" target="_blank">initial version of Game Tree</a>, Saunder published a follow-up entitled <a href="http://gamesetmap.com/?p=475" target="_blank">"Where are you most likely to win a point on Nadal's serve?"</a> In this article he introduced a "Proportional Symbol Game Tree" which shows the percent chance at every possible "state" of the score that an opponent had of winning the point. It's enticing to think about using a similar Game Tree to visualize a player's service game performance in one match relative to their average over the course of the past year... perhaps overlapped Proportional Symbols of reduced opacity...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnt0PvGXkVdAXgqaGRtSW-zKKKQQ051bxYZbFyJFY9Z7UpczWNxJ4OFCjrBx_ztgONxacxrGi3lzYnU4SVL3i2PoPRa_Ul5lT-dmT3I8zB-uWN0ulAWnvMi1EvXvQyqax7ibj3MwRcrRs/s1600/Screen+Shot+2015-10-04+at+3.25.29+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnt0PvGXkVdAXgqaGRtSW-zKKKQQ051bxYZbFyJFY9Z7UpczWNxJ4OFCjrBx_ztgONxacxrGi3lzYnU4SVL3i2PoPRa_Ul5lT-dmT3I8zB-uWN0ulAWnvMi1EvXvQyqax7ibj3MwRcrRs/s200/Screen+Shot+2015-10-04+at+3.25.29+PM.jpg" width="180" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCN3IodHivKu2oFD6CJWfwsj3ExBv85wjS71pYaj3S-eT7E04Qg3cSd1wkHjFsVKgUSjhli-xNtFJg87-DAnZRcbfswdQ9X8lNsCPbzeIzbaDHbOx3fTpZ2EwttusLwEkzuJMjr3Aefj0/s1600/Screen+Shot+2015-10-04+at+3.22.48+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCN3IodHivKu2oFD6CJWfwsj3ExBv85wjS71pYaj3S-eT7E04Qg3cSd1wkHjFsVKgUSjhli-xNtFJg87-DAnZRcbfswdQ9X8lNsCPbzeIzbaDHbOx3fTpZ2EwttusLwEkzuJMjr3Aefj0/s200/Screen+Shot+2015-10-04+at+3.22.48+PM.jpg" width="180" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4tbbRAezmzW3ccuBLYfrY7_GZGEMcKCUUC_BPfzXXq-huvrl9kXSqV6AkiGbA79yTMm0TdlLYPbiZAXZw7tNATKr-4C7BG7RQ1pxQt54Rsdbu0lbx3WgYg9RGi4dDGyw5QTsPq0CAfRU/s1600/Screen+Shot+2015-10-04+at+3.23.26+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4tbbRAezmzW3ccuBLYfrY7_GZGEMcKCUUC_BPfzXXq-huvrl9kXSqV6AkiGbA79yTMm0TdlLYPbiZAXZw7tNATKr-4C7BG7RQ1pxQt54Rsdbu0lbx3WgYg9RGi4dDGyw5QTsPq0CAfRU/s200/Screen+Shot+2015-10-04+at+3.23.26+PM.jpg" width="180" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinYCKBfIFml2Vvc8iqYwJ_1ZfnGxeq50PrMQTMXocW4topGagyhTRAfRib8dnQpHB8e-CKVf0_9uD8G4t8txNQRgCyQjdD8IRbQI1VO4VZ8hiBp5e7Q_s_JzXN0nAVXGZp5bjMM4D03zo/s1600/Screen+Shot+2015-10-04+at+3.23.56+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinYCKBfIFml2Vvc8iqYwJ_1ZfnGxeq50PrMQTMXocW4topGagyhTRAfRib8dnQpHB8e-CKVf0_9uD8G4t8txNQRgCyQjdD8IRbQI1VO4VZ8hiBp5e7Q_s_JzXN0nAVXGZp5bjMM4D03zo/s200/Screen+Shot+2015-10-04+at+3.23.56+PM.jpg" width="180" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0tag:blogger.com,1999:blog-4670359398672608469.post-342821120398503472015-09-18T20:06:00.000+02:002015-11-01T20:57:25.120+01:00MakeoverToday <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> moved to a new domain: <a href="http://tennisvisuals.com/">TennisVisuals.com</a><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHWeEspKW9pkea6Wzk3JNPh1jZfH9EW5BQhfFVQWEjNd0CIHc4TntZoAKEOyXsq3SIm6THAcFduiTFUP03WV9YyR-t70RUIcOKobejv2JQDwpfJmtKN3mmQ_avd9qoQlWHl_om1vaI_Jc/s1600/TAVA.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHWeEspKW9pkea6Wzk3JNPh1jZfH9EW5BQhfFVQWEjNd0CIHc4TntZoAKEOyXsq3SIm6THAcFduiTFUP03WV9YyR-t70RUIcOKobejv2JQDwpfJmtKN3mmQ_avd9qoQlWHl_om1vaI_Jc/s400/TAVA.jpg" width="396" /></a></div>
There are now proper <a href="http://tennisvisuals.com/instructions/" target="_blank">Instructions</a> for using the latest version of the interface; <a href="http://tennisvisuals.com/examples/" target="_blank">Examples</a>, which had previously only been noted on <a href="https://twitter.com/TennisVisuals" target="_blank">Twitter</a>, now have their own page.<br />
<br />
Most of the changes I've been working on haven't yet surfaced, but the project has graduated from a hobby hosted on my brother's minimally configured server, which I was capable of crashing, to a true application having a real, and expandable, home in the cloud.<br />
<br />
I will be posting new visual elements to the <a href="http://tennisvisuals.com/examples/" target="_blank">Examples</a> page before they are integrated into the application. The <a href="http://tennisvisuals.com/examples/" target="_blank">Examples</a> page will also be a place to gather unique visualizations made by using the yet-to-be-published API, which will make a growing database of ATP and WTA matches generally available.<br />
<br />
Personal matches charted using <a href="http://www.protrackertennis.com/" target="_blank">ProTracker Tennis</a> will not be made public. If you use <a href="http://www.protrackertennis.com/" target="_blank">ProTracker Tennis</a>, you can mail your matches to tennis.aip 'at' gmail.com. You will receive a link by email to the <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> visualization of your match.Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0tag:blogger.com,1999:blog-4670359398672608469.post-58700052739475943742015-08-31T03:33:00.000+02:002015-11-01T21:07:27.445+01:00Shot Explorer: Parallel Sets<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU38wXR5pIuszmjlUn6RHyFwCe96-RDhOP3Zxxa95OLWgxXrvUcm9_CnU-0VpcEFYloZtEeSIPSSWOAPwBfHY0oWhte1T55ng7gLFjOCN2yFHMUYPODnHvZRv51N__zkF3yN0-Q-37QPY/s1600/ps-swatch.tiff" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="40" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiU38wXR5pIuszmjlUn6RHyFwCe96-RDhOP3Zxxa95OLWgxXrvUcm9_CnU-0VpcEFYloZtEeSIPSSWOAPwBfHY0oWhte1T55ng7gLFjOCN2yFHMUYPODnHvZRv51N__zkF3yN0-Q-37QPY/s400/ps-swatch.tiff" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Tennis Matches generate a great deal of data, but the majority of data from Tennis Matches hasn't generally been captured. Even with Hawkeye, at the elite level, what can be done with tennis data is still relatively uncharted territory. Witness the work being done by <a href="http://gamesetmap.com/?page_id=10" target="_blank">Damian Saunder</a> at <a href="http://gamesetmap.com/">GameSetMap.com</a>; cutting edge. In a very real sense we are still at the beginning of the era of the application of "knowledge discovery" tools to tennis data. As Jeff Sackmann says in his <a href="https://www.youtube.com/watch?v=h22b0yJvbKw&feature=youtu.be" target="_blank">2015 presentation at the MIT Sloan Sports Analytics Conference</a>, "Tennis lags behind pretty much every other sport..." when it comes to what he calls "Actionable Analytics".<br />
<br />
At the base of every tennis statistic there are Shots; many Shots. And every shot has a multitude of attributes that can be captured.<br />
<br />
When I started my <a href="http://tennisviz.blogspot.com/2015/07/origins-and-raison-detre.html" target="_blank">Tennis Analytics Integration Platform (AiP)</a> project I was eager to try as many <a href="http://d3js.org/" target="_blank">D3</a> visualizations as possible. Immediately after figuring out how to use the <a href="http://tennisviz.blogspot.com/2015/07/sunburst-match-at-glance.html" target="_blank">Sunburst chart to create a compact visualization of the Sets, Games, Points and Shots of a Tennis Match</a>, I turned to the <a href="https://en.wikipedia.org/wiki/Sankey_diagram" target="_blank">Sankey Diagram</a> to try to build a visual filter for selecting Shots to display on a graphic representation of a Tennis Court. I was inspired by the Shot depiction capabilities of <a href="http://www.protrackertennis.com/" target="_blank">ProTracker Tennis</a>. My goal was to build a tool that didn't require checkboxes and which enabled every shot to be seen at once. <br />
<br />
Here is the result of my first attempt, using the <a href="https://github.com/d3/d3-plugins/tree/master/sankey" target="_blank">D3 Sankey plugin</a> and <a href="http://bost.ocks.org/mike/sankey/" target="_blank">Sankey example</a> created by <a href="https://twitter.com/mbostock" target="_blank">Mike Bostock</a>.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2N3c9js2wyLEgJSzuBlT-HqhaDVzGaV6rLqXZB-YlCrykVWyyNBL4NMicoEUUel_x1tdkvV9xGXh1GnPqTRHdSQxFpojBax-_tNeRUwcaClUlgVDmjpOuuyRneRh_60jDEq7hdY2r8Ms/s1600/Screen+Shot+2015-08-30+at+11.06.50+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2N3c9js2wyLEgJSzuBlT-HqhaDVzGaV6rLqXZB-YlCrykVWyyNBL4NMicoEUUel_x1tdkvV9xGXh1GnPqTRHdSQxFpojBax-_tNeRUwcaClUlgVDmjpOuuyRneRh_60jDEq7hdY2r8Ms/s400/Screen+Shot+2015-08-30+at+11.06.50+PM.jpg" width="400" /></a></div>
Sankey diagrams are typically used to represent "flows" within a system. A quantity of something is depicted as flowing or passing through a series of stages; at each stage there is a transformation and new categories emerge; as new categories emerge, quantities are divided between them; it is also possible for categories to emerge that recombine quantities.<br />
<br />
When applied to the attributes of Shots within a Tennis Match, each attribute becomes a stage where a quantity of Shots is divided or combined; each attribute value becomes a category. In the Sankey diagram above, the attributes from left to right are "Stroke", "Stroke Type", "Trajectory", "Result" and "Endpoint". Hovering over a flow between any two attribute categories reveals the number of Shots within that flow; in other words, which Shots share those two attribute values.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHeFqDT9RMlwBTGTsu26jTL7n-CljlBAYkiuhJlbshV03xIfwpINE9MSFVRyyLb0A5I86eQxondusXJNq4pgth_dWA8gHmeihalFQuM6dixL_wUuTNeK6UtoVjLK_A2_izm0jUgtFYbRo/s1600/Screen+Shot+2015-08-30+at+11.41.32+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="286" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHeFqDT9RMlwBTGTsu26jTL7n-CljlBAYkiuhJlbshV03xIfwpINE9MSFVRyyLb0A5I86eQxondusXJNq4pgth_dWA8gHmeihalFQuM6dixL_wUuTNeK6UtoVjLK_A2_izm0jUgtFYbRo/s320/Screen+Shot+2015-08-30+at+11.41.32+PM.jpg" width="320" /></a></div>
<br />
I was quite excited by this early visualization, but it turned out that the re-combining of quantities made it impossible to follow a single Shot as it passed through each stage. In other words, at any one time I was only able to generate a collection of shots that shared the values of two attributes. What was really needed was a way to generate a collection of shots that had the same value for an arbitrary number of attributes. For instance, I wanted to be able to see all Second Serves that were "down the line" or "to the T" Service Winners, or all Backhand CrossCourt Drives that ended in the Net.<br />
<br />
<a href="http://www.datavizcatalogue.com/methods/parallel_sets.html" target="_blank">Parallel Sets</a> ended up providing me with one possible answer. Parallel Sets were developed circa 2005 by Robert Kosara, Fabian Bendix and Helwig Hauser (see <a href="http://kosara.net/papers/Bendix_InfoVis_2005.pdf" target="_blank">here</a> and <a href="http://kosara.net/papers/2006/Kosara_TVCG_2006.pdf" target="_blank">here</a>) as a method of visualizing <a href="https://en.wikipedia.org/wiki/Categorical_variable" target="_blank">Categorical data</a>. Parallel Sets "divide the flow path" at each stage/attribute; while flows do pass through subsequent stages together, they do not re-combine.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKa11Gn2kX8vLXfn_P_gtlgAgqL0mA6aCJXxjZ0aZ-Npq25KlN1wwwSaLcee3RCk1G7MIiK8uWbCnqN1oam9Xfh_UNlzEcVtY0vaO-VfMNYyBb5uWeYGCXPSpwosye6EkDNRtG-YIbTbA/s1600/Screen+Shot+2015-08-31+at+12.02.55+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKa11Gn2kX8vLXfn_P_gtlgAgqL0mA6aCJXxjZ0aZ-Npq25KlN1wwwSaLcee3RCk1G7MIiK8uWbCnqN1oam9Xfh_UNlzEcVtY0vaO-VfMNYyBb5uWeYGCXPSpwosye6EkDNRtG-YIbTbA/s400/Screen+Shot+2015-08-31+at+12.02.55+AM.jpg" width="400" /></a></div>
<br />
In the parlance of Parallel Sets, each Tennis Shot attribute becomes a "dimension" and each possible attribute value becomes a "category". The dimension "Stroke Type", for example, has the categories "Drive", "Slice", "Lob", "Drop Shot", "Smash", "First Serve" and "Second Serve". Now, admittedly, this looks like a mess of multi-colored spaghetti. Some of the categories have so few Shots in them that they are too narrow to read. Thankfully, each flow or "ribbon" is highlighted as the mouse hovers over it, and a helpful tooltip appears to list each attribute value which applies to the region of the ribbon, between two dimensions, where the mouse is hovering. In the screenshot above the mouse is hovering over a region between Stroke and Stroke Type where the categories are "Serve" and "First Serve". Seventy-one shots match this criteria, which is 79% of all Serves by one player during the match.<br />
<br />
The Parallel Sets image above is from the <a href="http://tennisvisuals.com/viewpro/?file=20150823-W-Cincinnati-F-Serena_Williams-Simona_Halep.html" target="_blank">2015 Western & Southern Open Final between Serena Williams and Simona Halep</a>. You can explore this match yourself <a href="http://tennisvisuals.com/?muid=20150823-W-Cincinnati-F-Serena_Williams-Simona_Halep.html" target="_blank">here</a>. (Click on either player's name to reveal the Parallel Sets diagram).<br />
<br />
The Seventy-one "First Serves" mentioned above are 79% of all Serves by Simona Halep, but this isn't a useful statistic. The real power of the Parallel Sets diagram can be seen by dragging dimensions vertically and categories horizontally to interactively explore the data. By reorganizing the dimensions, in this instance dragging "Stroke Type" to the top of the diagram, it is possible to see that of all "First Serves", 20% were "Serve Winners", 3% were "Aces" and 51% were "In", which totals to 74% (due to rounding the First Serve Percentage given in the Statistics is 73%).<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX5YoIkkaD_UugTFBlLn2LREachrqjZam7ioaCZyqVKT8y2VCCzNEqZtGd8L31er4_xKl01zfwTlOD3QJXursEOJg0c3k5mhqhlVsHvyKbIrSv9mUV1xuszjxr-fDISMYNeANYTHLuE-k/s1600/Screen+Shot+2015-08-31+at+12.25.37+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="104" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX5YoIkkaD_UugTFBlLn2LREachrqjZam7ioaCZyqVKT8y2VCCzNEqZtGd8L31er4_xKl01zfwTlOD3QJXursEOJg0c3k5mhqhlVsHvyKbIrSv9mUV1xuszjxr-fDISMYNeANYTHLuE-k/s200/Screen+Shot+2015-08-31+at+12.25.37+AM.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIQ4D-FJHW4Ng36WN5wO9LGLw2ONcaiBxw5Ww7VJOpfxAo3e1FbSja6MYe6FmYhyIfKybYXq-a8UMw8m8oqOd73Y4vgilvs39cknbzTZ9CrLQHHGIwv_9nOku2ZzpldVj0Jfvg1A0rF-Y/s1600/Screen+Shot+2015-08-31+at+12.25.57+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="106" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIQ4D-FJHW4Ng36WN5wO9LGLw2ONcaiBxw5Ww7VJOpfxAo3e1FbSja6MYe6FmYhyIfKybYXq-a8UMw8m8oqOd73Y4vgilvs39cknbzTZ9CrLQHHGIwv_9nOku2ZzpldVj0Jfvg1A0rF-Y/s200/Screen+Shot+2015-08-31+at+12.25.57+AM.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5qLS1WNwuhjKGeI3ry0SWbUWh6mNFIKH9yr3ipr-TqABso5nebNRY5aTzM2bfu-ka_ORLekKgTXE5vVvXCnhx1FWkeuy3TdQg9WUPAY1xrmF2gW_XIIhyx1Yfg23Xhzhcpf3acvXQXNk/s1600/Screen+Shot+2015-08-31+at+12.25.46+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="115" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5qLS1WNwuhjKGeI3ry0SWbUWh6mNFIKH9yr3ipr-TqABso5nebNRY5aTzM2bfu-ka_ORLekKgTXE5vVvXCnhx1FWkeuy3TdQg9WUPAY1xrmF2gW_XIIhyx1Yfg23Xhzhcpf3acvXQXNk/s200/Screen+Shot+2015-08-31+at+12.25.46+AM.jpg" width="200" /></a></div>
<br />
Any number of other statistics can be derived using the above method, but this wan't the original inspiration for making a Parallel Sets diagram part of <a href="http://tennisvisuals.com/" target="_blank">TAVA</a>. <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> began with data from <a href="http://www.protrackertennis.com/" target="_blank">ProTracker Tennis</a> and the Parallel Sets "Shot Explorer" initially enabled the visualization of shot placement on a graphic representation of a tennis court:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGuRFQIkvMdZx2xmHZS4-ybyC-9E878I-vA0dC_f3nClQidL0RxP0-pXu261TOvZ2a0lmJ4unHHHSw5ggE0BNN3uKKVAx_WRZDQr-hX0EqkLSlDL5HYxvRlKf9rwnhIO7i_eQWVtgTWmc/s1600/Screen+Shot+2015-08-31+at+2.01.36+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGuRFQIkvMdZx2xmHZS4-ybyC-9E878I-vA0dC_f3nClQidL0RxP0-pXu261TOvZ2a0lmJ4unHHHSw5ggE0BNN3uKKVAx_WRZDQr-hX0EqkLSlDL5HYxvRlKf9rwnhIO7i_eQWVtgTWmc/s200/Screen+Shot+2015-08-31+at+2.01.36+AM.jpg" width="135" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRE-8eRzEsJO4pQ69mJNl3uCwByG-q7Pri7XMcXeugsja-Ozhu86axhi_vagje-6znqdtAZyKgCJ7ZqtfULomZMSUaMstkrpB8KJaLyUPQ40IvsqlfDPwOf4PrGM2F-B7tI1q8gvQ5Dbc/s1600/Screen+Shot+2015-08-31+at+1.59.35+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRE-8eRzEsJO4pQ69mJNl3uCwByG-q7Pri7XMcXeugsja-Ozhu86axhi_vagje-6znqdtAZyKgCJ7ZqtfULomZMSUaMstkrpB8KJaLyUPQ40IvsqlfDPwOf4PrGM2F-B7tI1q8gvQ5Dbc/s200/Screen+Shot+2015-08-31+at+1.59.35+AM.jpg" width="137" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggblJczgrsugdW3vI0wYdJO7IKJaPTHtyEvRf2vOJnSs2yXBig7YkVOI51S36wN9yWEss1TWI-J4mKndJOyKMmfUIlDaXGdLjW9ZgAUPvCCZSxxRpTPud3kRHwqYMlusO9kk4zbcky34Q/s1600/Screen+Shot+2015-08-31+at+2.03.31+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggblJczgrsugdW3vI0wYdJO7IKJaPTHtyEvRf2vOJnSs2yXBig7YkVOI51S36wN9yWEss1TWI-J4mKndJOyKMmfUIlDaXGdLjW9ZgAUPvCCZSxxRpTPud3kRHwqYMlusO9kk4zbcky34Q/s200/Screen+Shot+2015-08-31+at+2.03.31+AM.jpg" width="135" /></a></div>
In the first court the selection is: "Serve" > "First Serve"; In the middle court: "Serve" > "First Serve" > "In" > "Cross Court" > "Ad Service Box"; In the last court: "Forehand" > "Drive".<br />
<br />
<a href="http://www.protrackertennis.com/" target="_blank">ProTracker Tennis</a> captures coordinate data for first and second serves, the return of serve, and the final "Key Shot" which ends a point, making court visualization possible. When I added support for matches captured by the <a href="http://www.tennisabstract.com/charting/meta.html" target="_blank">Match Charting Project (MCP)</a> I initially questioned the value of the Parallel Sets visualization; MCP data includes a great deal more shot detail, but it doesn't include shot coordinates, and only a rough estimation of shot placement can be derived (more about this in a future post). But recently I was inspired to connect the Parallel Sets "Shot Explorer" visualization with the <a href="http://tennisviz.blogspot.com/2015/08/points-to-set.html" target="_blank">Points-to-Set</a> graphic via "Point Highlighting". The result is that when a collection of shots is selected in the "Shot Explorer" it is possible to view when during a match those shots occurred.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfvN4_rXQlJT9cBztSHRm5xLpSQwrqgw-8AwbLNnRMDlXxyRs-CRKp6NzH7ZmVHuHP9lBrimTs-lwWg0yGVtGS8hfILTsmK1tX3TfHVTg6pDX-f8v82bGm3cyTNQHrR3AFygqwk1QrO-s/s1600/Screen+Shot+2015-08-31+at+3.30.32+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfvN4_rXQlJT9cBztSHRm5xLpSQwrqgw-8AwbLNnRMDlXxyRs-CRKp6NzH7ZmVHuHP9lBrimTs-lwWg0yGVtGS8hfILTsmK1tX3TfHVTg6pDX-f8v82bGm3cyTNQHrR3AFygqwk1QrO-s/s400/Screen+Shot+2015-08-31+at+3.30.32+AM.jpg" width="400" /></a></div>
In this instance I selected the only two double faults made by Serena during the <a href="http://tennisvisuals.com/viewpro/?file=20150823-W-Cincinnati-F-Serena_Williams-Simona_Halep.html" target="_blank">2015 Western & Southern Open Final</a>. I discovered that they were made during the same Game during the Second Set, and that Serena won the game anyway.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfb4MDC7WT5GLGkXMj6T8EMI0jztm2NycniteSFUUuVqNVl3zYWNWujhpFYfeU-yvaTbzU9OeuW_aBCn3v346eiUUvJi0hXefPGAhd9CrhS3_Bu9Hz7fWTdzzNIjRZQmi9gYM6vnYJ3xg/s1600/Screen+Shot+2015-08-31+at+2.19.45+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="123" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfb4MDC7WT5GLGkXMj6T8EMI0jztm2NycniteSFUUuVqNVl3zYWNWujhpFYfeU-yvaTbzU9OeuW_aBCn3v346eiUUvJi0hXefPGAhd9CrhS3_Bu9Hz7fWTdzzNIjRZQmi9gYM6vnYJ3xg/s400/Screen+Shot+2015-08-31+at+2.19.45+AM.jpg" width="400" /></a></div>
I have a few more ideas about how the value of the "Shot Explorer" can be enhanced in the future, particularly once a few more visualizations and control structures are added to <a href="http://tennisvisuals.com/" target="_blank">TAVA</a>.<br />
<br />
In Summary, Parallel Sets are a useful frequency-based representation of data. Tennis Matches generate a large, complex data set, and most of it is not amenable to time-series analysis. Using a frequency-based visualization in combination with time-series views makes it possible to create collections of data elements (Shots) and visualize their distribution throughout a Tennis Match.<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0tag:blogger.com,1999:blog-4670359398672608469.post-27816759749980931692015-08-19T11:36:00.000+02:002015-11-01T21:08:28.768+01:00Match Radar<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGw6f9rLy9IW2E8t_7_VI-86EDrlIwzze3xP8nCHm6MkO10YkREl-4FfNc4LdEufqw-NHeH0NSUyFqU9dZmihWQcJvN0gb9m-LGy4CC9lrGPl0wfgyAQac_Yzgu_ih4O0wo5UV-FjoIy8/s1600/Large+Radar+2007+Federer-Nadal+Wimbledon+Final.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGw6f9rLy9IW2E8t_7_VI-86EDrlIwzze3xP8nCHm6MkO10YkREl-4FfNc4LdEufqw-NHeH0NSUyFqU9dZmihWQcJvN0gb9m-LGy4CC9lrGPl0wfgyAQac_Yzgu_ih4O0wo5UV-FjoIy8/s320/Large+Radar+2007+Federer-Nadal+Wimbledon+Final.jpg" width="320" /></a></div>
<br />
The graphic above is a “Match Radar” chart of the <a href="http://tennisvisuals.com/viewpro/?file=20070708-M-Wimbledon-F-Roger_Federer-Rafael_Nadal.html" target="_blank">2007 Wimbledon Final between Rodger Federer and RafaelNadal</a> [<a href="http://tennisvisuals.com/viewpro/?muid=20070708-M-Wimbledon-F-Roger_Federer-Rafael_Nadal.html" target="_blank">TAVA link</a>].
<br />
<br />
The Match Radar is intended to provide a compact visual comparison of the key statistics for players of a tennis match. This is in contrast to the <a href="http://tennisviz.blogspot.com/2015/08/points-to-set.html" target="_blank">Points-to-Set</a>, <a href="http://tennisviz.blogspot.com/2015/08/points-to-set-horizon-corona.html" target="_blank">Horizon</a> and <a href="http://tennisviz.blogspot.com/2015/08/radial-horizon-graphs-original.html" target="_blank">Radial Horizon</a> charts which aim to depict the dynamics of a match with respect to the scoring of each set.
<br />
<br />
The Match Radar enables a quick assessment of whether and how one player dominated another, whether a match was lob-sided, and where players differed on key statistics. It is not intended as a tool for in-depth analysis.<br />
<br />
In the match shown above you can see that Federer (blue) and Nadal (purple) were very close in terms of 1<sup>st</sup> and 2<sup>nd</sup> serve statistics, with Federer having only a very slightly higher 1<sup>st</sup> serve percentage and percentage of 2<sup>nd</sup> serve points won. Similarly, both players were very close on percentage of return points won for both 1<sup>st</sup> and 2<sup>nd</sup> serves, with Federer again having only slightly better numbers. Where Federer really stood out was in Aces, Serve Winners, Percentage of Returns-in-play and Forcing Errors. Nadal had more outright winners and more breakpoints, but he failed to convert on enough of the breakpoints to win the match; there was only a difference of seven points at the end of the match.
<br />
<br />
In the current version of <a href="http://tennisvisuals.com/" target="_blank">TAVA</a>, the Match Radar appears as both a dashboard icon, with no legend, and a full-size chart; in both cases the graphic is interactive. Values appear in a “tooltip” when the mouse hovers over any point on the chart.
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoHw5U2UHzosgb-_qw7Pzvgrak9oouvBpMQqh9Ccz520VsPSs43-j9Il0GTKy5STcz0BpCStnKs2oIThD9bcQmX_eGmYjlBYSe22ZGG63-wOqHmT646HDk1SjjWmuocBT0QTHWmjQI8n0/s1600/Large+Azarenka+Williams.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="249" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoHw5U2UHzosgb-_qw7Pzvgrak9oouvBpMQqh9Ccz520VsPSs43-j9Il0GTKy5STcz0BpCStnKs2oIThD9bcQmX_eGmYjlBYSe22ZGG63-wOqHmT646HDk1SjjWmuocBT0QTHWmjQI8n0/s320/Large+Azarenka+Williams.jpg" width="320" /></a></div>
Here is a Match Radar for the <a href="http://tennisvisuals.com/viewpro/?file=20130908-W-US_Open-F-Victoria_Azarenka-Serena_Williams.html" target="_blank">2013 US Open Final between Victoria Azarenka (blue) and Serena Williams (purple)</a>; Williams won 5-7, 7-6, 6-1. [<a href="http://tennisvisuals.com/viewpro/?file=20130908-W-US_Open-F-Victoria_Azarenka-Serena_Williams.html" target="_blank">TAVA link</a>].
<br />
<br />
I made a number of changes to the Radar Chart examples found in the various D3Galleries (<a href="http://christopheviau.com/d3list/gallery.html" target="_blank">here</a> and <a href="https://github.com/mbostock/d3/wiki/Gallery" target="_blank">here</a>). You will find a recent D3 Example <a href="http://bl.ocks.org/chrisrzhou/2421ac6541b68c1680f8" target="_blank">here</a>. The most notable addition I made to the Radar Chart is the adoption of support for diverse types of axes. This addition was inspired by <a href="https://en.wikipedia.org/wiki/Parallel_coordinates" target="_blank">“Parallel Coordinates”</a> charts, which you can read about <a href="https://eagereyes.org/techniques/parallel-coordinates" target="_blank">here</a> and <a href="https://www.perceptualedge.com/articles/b-eye/parallel_coordinates.pdf" target="_blank">here</a>. You can find examples of Parallel Coordinates charts in the current version of <a href="http://tennisvisuals.com/" target="_blank">TAVA</a>. I haven't spent a great deal of time trying to optimize their use, but they do seem to be unwieldy; at a size where the labels could be read and the various matches being charted could be discerned I found it necessary to make the graphic horizontally scrollable.<br />
<br />
In the Match Radar chart, the majority of the statistics are given as percentages, but there are some statistics (aces, serve winners, winners, forcing errors, and breakpoints) which are given as “extents” where the axes ranges from zero to the maximum value achieved by either player.
<br />
<br />
I have also modified the standard Radar Chart to support inverted axes, where the high value appears at the center of the Radar with the low value on the outer edge. This can be used to depict Unforced Errors or Double Faults, where the low value is deemed “better” and should enlarge the player's color area of the radar, rather than pull it toward the center. Additionally, the Match Radar supports “bounded extents” where the extent values can be set arbitrarily. This is appropriate when displaying Aggressive Margins, for instance, when values can range either side of zero.<br />
<br />
In a future version of <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> I plan to make the Match Radar “dynamic” such that it can support the real-time display of a selection of points (“brushing” a range of points on the Horizon Chart, for instance); this capability would also make it possible to “Play” the match from the beginning and watch the changes in the shapes of each player's radar as the match progresses.
<br />
<br />
I also plan to enable users to configure their own views, selecting which statistics are most relevant for their purposes, and in which order they should appear. I haven't yet decided which statistics should appear as the default, and which order makes the most sense.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBNhFsha5Wz8T86RrIDSgUwOfzhZNZlIRXXppkcDuNtNND0lmH1GvQagDJ4DosrO8PU9Sxv8tpaGDJ6Sf5BijrkyT00FqBYy7PkJdSF5MPXRXPc9r2CX2ffLUUUSahbgRKsuaMUi-M8p0/s1600/Djokovic+Match+Radars.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBNhFsha5Wz8T86RrIDSgUwOfzhZNZlIRXXppkcDuNtNND0lmH1GvQagDJ4DosrO8PU9Sxv8tpaGDJ6Sf5BijrkyT00FqBYy7PkJdSF5MPXRXPc9r2CX2ffLUUUSahbgRKsuaMUi-M8p0/s400/Djokovic+Match+Radars.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
This is a selection of matches played by Novak Djokovic (blue). Once you are familiar with the layout of the axes on the Match Radar, you can begin to compare matches and to look for patterns. You might want to look for matches that appear very unbalanced, or very close, for instance.
<br />
<br />
The match below is the <a href="http://tennisvisuals.com/viewpro/?file=20130907-M-US_Open-SF-Novak_Djokovic-Stanislas_Wawrinka.html" target="_blank">2013 US Open Semifinal between Novak Djokovic and Stan Wawrinka</a>. [<a href="http://tennisvisuals.com/?muid=20130907-M-US_Open-SF-Novak_Djokovic-Stanislas_Wawrinka.html" target="_blank">TAVA link</a>]. You can see iconic representation of this match in the bottom row above (2<sup>nd</sup> from right).
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE_MzOk-UaRMEEhraVVjhXDlVuvxfpyllzTrLgNNl13OtEbBhzsX2HzWBRF07oJwW7fVvXEFDR51TO4hQpsmWVdsdXTXHFUkBsysJzSIp7zHRJD8BwoDpifPWX1plaTkpJUsWBTJLAy2g/s1600/Large+Djokovic+Wawrinka.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="258" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE_MzOk-UaRMEEhraVVjhXDlVuvxfpyllzTrLgNNl13OtEbBhzsX2HzWBRF07oJwW7fVvXEFDR51TO4hQpsmWVdsdXTXHFUkBsysJzSIp7zHRJD8BwoDpifPWX1plaTkpJUsWBTJLAy2g/s320/Large+Djokovic+Wawrinka.jpg" width="320" /></a></div>
The right side of the
radar is dedicated to service statistics, while the left ranges from
Returns-in-Play and Return Points Won (at the bottom) to Winners,
Forcing Errors and Breakpoints (at the top). Djokovic won this match
2-6, 7-6, 3-6, 6-3, 6-4, so it was indeed close.<br />
<br />
The
Match Radar can also be used to quickly look for changes in key
statistics across sets:
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ4lDe1FXyo19ZelBeZ2FtaUnjqMAHXjJ0ZhI__5UmOutgWyx5SdnR7NdX7VwBjl87fWUEnr-AgZL6gFQeGxPZFpy_Bss2brNgezCa49jD2Kaq588854Wd4FFS2sZoHB4sJAJ3AwNJuNk/s1600/ND+SW+Composite.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="171" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJ4lDe1FXyo19ZelBeZ2FtaUnjqMAHXjJ0ZhI__5UmOutgWyx5SdnR7NdX7VwBjl87fWUEnr-AgZL6gFQeGxPZFpy_Bss2brNgezCa49jD2Kaq588854Wd4FFS2sZoHB4sJAJ3AwNJuNk/s400/ND+SW+Composite.jpg" width="400" /></a></div>
This may give an idea of
how the “brushing” will work: dragging across a range of points
in the horizon chart (below the Points-to-Set chart), would
dynamically update the Match Radar to reflect the statistics for the
selected range of points. A number of coaches have asked to be able
to identify those moments in a match when a specific statistic
changed dramatically... I'm not sure how that will surface, as yet,
but these “discovery” tools may aid in the development of new ideas.
<br />
<br />
Going forward I also want
to use the selection of statistics chosen for the Match Radar to
drive views of a player's statistics across a series of matches,
within a tournament, or within an arbitrary date range. These views would not employ the Match Radar.<br />
<br />
Radar Charts have often been critiqued, along with other polar coordinate charts (see <a href="http://blog.scottlogic.com/2011/09/23/a-critique-of-radar-charts.html" target="_blank">here</a> and <a href="http://www.visualisingdata.com/2015/08/quick-redesigns-of-bbc-sport-graphics/" target="_blank">here</a>). I understand these critiques and, for the most part, agree with them; nevertheless, I find the iconic version of the Radar Chart gives a good "at-a-glance" gut feel for how players differed on key statistics, particularly after spending time looking at a large number of matches and becoming familiar with how to interpret the layout. The Match Radar is far more compact than the alternatives when quickly comparing matches or sets and can serve as a control structure to drive other, more in-depth, analysis tools and visualizations. <br />
<br />
I think a significant difference in the application of the Match Radar Chart in the <a href="http://ca.mrallen.com:3000/" target="_blank">TAVA</a> application is that it is a standard visualization that can be used across potentially thousands of matches (I now have approximately 3000 matches in the Tennis AiP database), as opposed to a one-off article by a journalist or researcher where a novel analysis is being presented.<br />
<br />
I'm on the lookout for compact alternatives to the Match Radar Chart, but I believe it will persist in future versions of <a href="http://tennisvisuals.com/" target="_blank">TAVA</a>. It is likely the Match Radar will become more of a control structure that drives a variety of complementary "drill-down" visualizations.Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0tag:blogger.com,1999:blog-4670359398672608469.post-6735485846197439922015-08-13T14:46:00.000+02:002015-09-18T17:58:34.261+02:00Radial Horizon Graphs: An Original?!?The logical conclusion to my exploration of <a href="http://tennisviz.blogspot.com/2015/08/points-to-set-horizon-corona.html" target="_blank">Horizon and Corona Graphs</a>. I've searched and can find no other examples on the "internets" of a radial Horizon Graph, so perhaps this is a first!<br />
<br />
For your viewing pleasure, here are ten matches from Grand Slam Finals. I hope the Radial Horizon Graphs have captured something of the dynamics of the matches that you wouldn't otherwise see when glancing at the score. I've provided a brief (unprofessional) "reading" of each graph, making the (perhaps unwarranted) assumption that there are more winners and forced errors being made than unforced errors. In the next version of this graphic, or in the interactive version for <a href="http://tennisvisuals.com/" target="_blank">TAVA</a>, changes in momentum due to winners and losers should be easily discerned.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkQvQRMWfRsJHllQqGc9ErBoP7zKCDRFOEeGTD8ZfeGuFK4gCFLYet2pcwPptDXyl3ZgQaWd3-Agcb4b6TnwHQ5RXcgWeUXDbcvGZn1IXoBkVjXAX5o-VjCx20J4tnLy5_oNFv45OET9Y/s1600/Screen+Shot+2015-08-13+at+1.03.15+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkQvQRMWfRsJHllQqGc9ErBoP7zKCDRFOEeGTD8ZfeGuFK4gCFLYet2pcwPptDXyl3ZgQaWd3-Agcb4b6TnwHQ5RXcgWeUXDbcvGZn1IXoBkVjXAX5o-VjCx20J4tnLy5_oNFv45OET9Y/s200/Screen+Shot+2015-08-13+at+1.03.15+PM.jpg" width="198" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz-J3DTW6BIP91h8bjzUg7hKKShoYzP-fKTHvb2WzyWIntLhujbQoO_Ch9M0l70yn3hr0IH3vvZp3dBjDNFvWGEDyvflsywfjxpeEwkBV6bM0jlY7jDf02Mdku0lWMQs8V8zKssN32hCY/s1600/Screen+Shot+2015-08-13+at+1.05.14+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz-J3DTW6BIP91h8bjzUg7hKKShoYzP-fKTHvb2WzyWIntLhujbQoO_Ch9M0l70yn3hr0IH3vvZp3dBjDNFvWGEDyvflsywfjxpeEwkBV6bM0jlY7jDf02Mdku0lWMQs8V8zKssN32hCY/s200/Screen+Shot+2015-08-13+at+1.05.14+PM.jpg" width="200" /></a></div>
LEFT: Apart from the first few games of the first set, Kvitova dominated Bouchard.<br />
RIGHT: Hingis was dominating until near the end of the 2nd set; Capriati had a strong finish.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuMp1bWFkK0VeEtA_O6rUMmdXpcz-9DVXDsQF_onoWOPobz0j_QlXh4J41P0-fkWZ7oOAKxMdbKzGzNtWXXmJVj8Y2m4bmrQ5EKsp3rUJmKdEtiJTCj4YQUXeGcnz5R_W0Xilmhg5mWu8/s1600/Screen+Shot+2015-08-13+at+1.05.55+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuMp1bWFkK0VeEtA_O6rUMmdXpcz-9DVXDsQF_onoWOPobz0j_QlXh4J41P0-fkWZ7oOAKxMdbKzGzNtWXXmJVj8Y2m4bmrQ5EKsp3rUJmKdEtiJTCj4YQUXeGcnz5R_W0Xilmhg5mWu8/s200/Screen+Shot+2015-08-13+at+1.05.55+PM.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_ZxJc_Bp8cJvIZCRgZ8gVXxdOoNL24pyYAUu7SEwFD391lwWg1kDpm2qJjujjRcGoQzR32wYBNgyXs6BkDk1kC4AIKfOMBsBC10DxKDAdpVztamGe0fnqp0Lt4GVRXnD1KEl2VUHGsfo/s1600/Screen+Shot+2015-08-13+at+1.06.29+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="195" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_ZxJc_Bp8cJvIZCRgZ8gVXxdOoNL24pyYAUu7SEwFD391lwWg1kDpm2qJjujjRcGoQzR32wYBNgyXs6BkDk1kC4AIKfOMBsBC10DxKDAdpVztamGe0fnqp0Lt4GVRXnD1KEl2VUHGsfo/s200/Screen+Shot+2015-08-13+at+1.06.29+PM.jpg" width="200" /></a></div>
LEFT: Navratilova and Evert were neck-and-neck in the first two sets; Martina dominated in the beginning of the 3rd, but Evert clawed her way back and took the lead at the very end, then lost.<br />
RIGHT: Muguruza took an early lead but lost momentum; she began to recover near the end of the 2nd set, but it was too late.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRWjeU2E2Wsw7B7ReVVdwn3aHSofVfV1B8xqpJzq4YDGjK8wP7b1wMkNLnVdi7yO_LAA2rinFmAPo3PIGAgxSAuD1rVDPTJIS7y1lbfY40iB5ROnKlW4bxwXEN9rN_K2R0Sheq0lGynik/s1600/Screen+Shot+2015-08-13+at+1.07.51+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRWjeU2E2Wsw7B7ReVVdwn3aHSofVfV1B8xqpJzq4YDGjK8wP7b1wMkNLnVdi7yO_LAA2rinFmAPo3PIGAgxSAuD1rVDPTJIS7y1lbfY40iB5ROnKlW4bxwXEN9rN_K2R0Sheq0lGynik/s200/Screen+Shot+2015-08-13+at+1.07.51+PM.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh91OBElEn47-feMr1wBiyvDljwl3OD7qsVE8qn628MVNn5lpMFKHQt8Hx5bh08KPcAQIFQK2huEkfGIzKZJ6HO7ew2CzG7Cflnv3XGTCQ3UrGePd-X3FH4l_8G9t65OjIslN5vZp5uPWY/s1600/Screen+Shot+2015-08-13+at+1.08.20+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh91OBElEn47-feMr1wBiyvDljwl3OD7qsVE8qn628MVNn5lpMFKHQt8Hx5bh08KPcAQIFQK2huEkfGIzKZJ6HO7ew2CzG7Cflnv3XGTCQ3UrGePd-X3FH4l_8G9t65OjIslN5vZp5uPWY/s200/Screen+Shot+2015-08-13+at+1.08.20+PM.jpg" width="200" /></a></div>
LEFT: Safina was stronger at the beginning of both sets. <br />
RIGHT: Sharapova was strong at the beginning of the 1st set; she lost ground steadily in the 2nd.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiui50FXH_2AXD9LunLoFf-UK4VEUwBbnqNpAfTykFALNskHeYLuRnqYAu8ihURXgZG0xvLr0BUxgJh8YO2d6lcKVgGwq27SJ1pwn7zKf4HEB45xZ4agj9uthGdQKk1YbzdWvp9W5WKdo/s1600/Screen+Shot+2015-08-13+at+1.08.56+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="189" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiui50FXH_2AXD9LunLoFf-UK4VEUwBbnqNpAfTykFALNskHeYLuRnqYAu8ihURXgZG0xvLr0BUxgJh8YO2d6lcKVgGwq27SJ1pwn7zKf4HEB45xZ4agj9uthGdQKk1YbzdWvp9W5WKdo/s200/Screen+Shot+2015-08-13+at+1.08.56+PM.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVVHm1uM5gmIV9A4AWWOt97o_EQgVaWALHkd9vXI6MPFOX8TYjt_qZK-Bo4byAqiVsQ3sjOlDJvpNjVgeUF8jZh0YMav9GRSqhQtWtj7QI4QTEyAcJl2BhflE3ZhLXwH5Y05ci3eEcieI/s1600/Screen+Shot+2015-08-13+at+1.10.13+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVVHm1uM5gmIV9A4AWWOt97o_EQgVaWALHkd9vXI6MPFOX8TYjt_qZK-Bo4byAqiVsQ3sjOlDJvpNjVgeUF8jZh0YMav9GRSqhQtWtj7QI4QTEyAcJl2BhflE3ZhLXwH5Y05ci3eEcieI/s200/Screen+Shot+2015-08-13+at+1.10.13+PM.jpg" width="200" /></a></div>
LEFT: Na Li almost gave up her early lead in the 1st set; she never looked back in the 2nd.<br />
RIGHT: Notice that all three sets ended at 6-3; there are differences, but Cilic steadily advanced.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7w4SYfEK83Jc7yhiJ8oneAp8fKUjZ4DYKPTmirIdmWpvPTwqRQmQxH1xfsY7Hem7ooMl_IS6-yY37tbxNdPo_GLcVJrlExqkLvt0PKVMnDDEZfGsDzR9GKpGW3cyJ-ZVLuMbLUkKB-g4/s1600/Screen+Shot+2015-08-13+at+1.10.51+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="189" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7w4SYfEK83Jc7yhiJ8oneAp8fKUjZ4DYKPTmirIdmWpvPTwqRQmQxH1xfsY7Hem7ooMl_IS6-yY37tbxNdPo_GLcVJrlExqkLvt0PKVMnDDEZfGsDzR9GKpGW3cyJ-ZVLuMbLUkKB-g4/s200/Screen+Shot+2015-08-13+at+1.10.51+PM.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOhIA-1erCk3SWhZPRXRYE7vzKTLHtxKLny9FF6rA-KZ7blSavxbNahSod32uXpP6LU0iUp3YhZb5jKiMzSgseZNx87Bf9dhOgE45Mlc-KxYr8MshtZNZaTdOVNSzl4c0pfxn9eb0247Q/s1600/Screen+Shot+2015-08-13+at+1.11.30+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOhIA-1erCk3SWhZPRXRYE7vzKTLHtxKLny9FF6rA-KZ7blSavxbNahSod32uXpP6LU0iUp3YhZb5jKiMzSgseZNx87Bf9dhOgE45Mlc-KxYr8MshtZNZaTdOVNSzl4c0pfxn9eb0247Q/s200/Screen+Shot+2015-08-13+at+1.11.30+PM.jpg" width="200" /></a></div>
LEFT: Federer began and ended in control; Roddick lead throughout the 2nd set; the 3rd set was a bit of a seesaw, but Federer held; the 4th was definitive.<br />
RIGHT: Wozniacki had a chance to break in the 1st game of the 1st set; after that point she couldn't win points fast enough to keep up with Serena.Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0tag:blogger.com,1999:blog-4670359398672608469.post-3161388326390486842015-08-12T22:13:00.001+02:002015-11-01T21:09:10.393+01:00Points-to-Set: Horizon Corona<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFCgo1paM2YOlJOXKOZ8YNjhWH_kSDZldlmGH1SiPaQdpvjanTOJWKX3PFohKZtyFe6ViwWgLTeunkyJYR2PLf6oD7wihalrqT22zQsewUouMHZkwoTOQBg8X2ACkDp7jMhvRMfCTxUsY/s1600/Screen+Shot+2015-08-12+at+9.39.43+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFCgo1paM2YOlJOXKOZ8YNjhWH_kSDZldlmGH1SiPaQdpvjanTOJWKX3PFohKZtyFe6ViwWgLTeunkyJYR2PLf6oD7wihalrqT22zQsewUouMHZkwoTOQBg8X2ACkDp7jMhvRMfCTxUsY/s200/Screen+Shot+2015-08-12+at+9.39.43+PM.jpg" width="195" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlH3Ds11YD90fP_KhUaDHJhLycm2Ffys0PZGJhyphenhyphenpaoaoLVpBK-fRTrcg3pq0AF8LHGC2zFl1GLOKY-fAe6UJQZ-cLGIwhgTbwtXgHey0dxJUV2e2o-VRNhlSIpPucEoZf0g5z53vIyfd4/s1600/Screen+Shot+2015-08-12+at+9.44.20+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlH3Ds11YD90fP_KhUaDHJhLycm2Ffys0PZGJhyphenhyphenpaoaoLVpBK-fRTrcg3pq0AF8LHGC2zFl1GLOKY-fAe6UJQZ-cLGIwhgTbwtXgHey0dxJUV2e2o-VRNhlSIpPucEoZf0g5z53vIyfd4/s200/Screen+Shot+2015-08-12+at+9.44.20+PM.jpg" width="192" /></a></div>
<br />
<div>
I've been searching for a representation of a tennis match that captures the dynamics of play yet remains simple enough and compact enough to use as either an icon or a control structure suitable for selecting a range of points within a match. I also wanted a graphic that could be used to quickly compare a series of matches, with enough detail to easily differentiate a 6-0, 6-0 win that was a "cakewalk" from a 6-0, 6-0 win where every game went to deuce and beyond.<br />
<br /></div>
<div>
The Corona/Horizon Graphs above are the result of my early attempts to use <a href="http://tennisviz.blogspot.com/2015/08/points-to-set.html" target="_blank">Points-to-Set</a> data in a new way, charting the difference between the two players' <a href="http://tennisviz.blogspot.com/2015/08/points-to-set.html" target="_blank">Points-to-Set</a> numbers rather than the absolute values.<br />
<br />
<h1>
Corona Graphs</h1>
Corona graphs are actually formally known as radial area graphs; there are also examples of radial histograms which I would describe as "Corona Graphs". These graphs share a lot in common with Polar Coordinate Graphs (such as <a href="http://tennisvisuals.com/" target="_blank">TAVA</a>'s Radar Chart), but they look like the Corona that surrounds our Sun. I haven't seen the name used in the Visualization community as yet, but it is fitting, especially considering the formal definition of a Coronagraph: <a href="http://spaceweather.com/glossary/coronagraph.html" target="_blank">"A coronagraph is a telescope that can see things very close to the Sun. It uses a disk to block the Sun's bright surface, revealing the faint solar corona, stars, planets and sungrazing comets. In other words, a coronagraph produces an artificial solar eclipse"</a>. So, with Corona Graphs I hope to highlight important aspects of a match which normally are obscured by the quantity of data available within the match.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7hgWTcoXLxY-F7NY-GVGQ6NIbMgTlAmrB2GiuL5WeUHgiFFRt_QdH-H23Wt5pWEEe7pviP0k_8fdCqWz5HMWhhgqs9D1N3G9cmWtaWr-0dIFzXNHxtXxgQH4haQOx6YF4rfI2JNkP74A/s1600/Screen+Shot+2015-08-12+at+9.49.28+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7hgWTcoXLxY-F7NY-GVGQ6NIbMgTlAmrB2GiuL5WeUHgiFFRt_QdH-H23Wt5pWEEe7pviP0k_8fdCqWz5HMWhhgqs9D1N3G9cmWtaWr-0dIFzXNHxtXxgQH4haQOx6YF4rfI2JNkP74A/s200/Screen+Shot+2015-08-12+at+9.49.28+PM.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEAq5AtyJLTT-N8dXWkwvQBSTbRltHnDlJM6PkkF7HiFazOdvomSf91PiZLGHOBaqFMs9MOGLUW-Z6885Ms6nrqYqfUSg8Rljn8ttSeDOylTa4WRekNAglNLdJ0-_ZLOf9Ro7cr-a4eYA/s1600/Screen+Shot+2015-08-12+at+9.51.10+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="177" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEAq5AtyJLTT-N8dXWkwvQBSTbRltHnDlJM6PkkF7HiFazOdvomSf91PiZLGHOBaqFMs9MOGLUW-Z6885Ms6nrqYqfUSg8Rljn8ttSeDOylTa4WRekNAglNLdJ0-_ZLOf9Ro7cr-a4eYA/s200/Screen+Shot+2015-08-12+at+9.51.10+PM.jpg" width="200" /></a></div>
<br />
[Update: The term "Corona Charts" (<a href="http://www.forexmt4.com/mt_yahoo/Corona/CORONACHARTS.pdf" target="_blank">here</a> and <a href="http://traders.com/Documentation/FEEDbk_docs/2008/11/Abstracts_new/Ehlers/Ehlers.html" target="_blank">here</a>) is used in the financial community. But it is not a radial structure and doesn't resemble the graphs above.]<br />
<br /></div>
<h1>
Horizon Graphs / Charts</h1>
Horizon graphs are a type of Time-Series graph which were developed relatively recently by <a href="https://en.wikipedia.org/wiki/Panopticon_Software" target="_blank">Panopticon Software</a> (now known as <a href="http://www.datawatch.com/">DataWatch</a>). <a href="http://www.stonesc.com/Vis08_Workshop/DVD/Reijner_submission.pdf" target="_blank">Here is a paper describing the development of the graph</a>, and here is an <a href="http://www.perceptualedge.com/articles/visual_business_intelligence/time_on_the_horizon.pdf" target="_blank">in-depth analysis of the Horizon Graph</a> by <a href="http://www.perceptualedge.com/about.php" target="_blank">Stephen Few</a> of <a href="http://www.perceptualedge.com/" target="_blank">Perceptual Edge</a>, a "Visual Business Intelligence" company. <br />
<br />
Horizon Graphs excel at displaying a large number of time series at one time. They are described as a tool for <a href="http://www.datawatch.com/visualization/horizon-graphs/" target="_blank">rapidly scanning huge amounts of data to quickly identify "points of concern"</a>; they <a href="http://mbostock.github.io/protovis/ex/horizon.html" target="_blank">"preserve data density while preserving resolution."</a> A Tennis Match can certainly be thought of as a time series, a progression of points through time. Horizon Graphs seem ideally suited for comparing matches, but it turns out they are also useful for comparing Sets within matches, and for identifying critical moments during play.
<br />
<br />
<div>
When I began this project I was overwhelmed by the variety of chart examples available. I wanted to try them all, but it wasn't immediately obvious how each type of chart could be meaningfully applied. It wasn't until I generated my first Corona graphs with <a href="http://tennisviz.blogspot.com/2015/08/points-to-set.html" target="_blank">Point-to-Set</a> data that I realized how I could use Horizon Graphs, and how useful they could be. <br />
<br />
Here is the progression from my first Match Corona visualization to my first Match Horizon:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2y378lZKikFp7Zy35LD_CvukbDj3Vklnp0ViRLNZsod9Ik6mMxckgoZxB9Eq0Y5GgRa3s6LXMTjBY65YHFKD3GvbgZKNs3CvDwbYCNXyZpAlSbBMw-GQwb-c-ozZpmru8iJ3jRJSA4-w/s1600/Screen+Shot+2015-08-12+at+10.06.01+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2y378lZKikFp7Zy35LD_CvukbDj3Vklnp0ViRLNZsod9Ik6mMxckgoZxB9Eq0Y5GgRa3s6LXMTjBY65YHFKD3GvbgZKNs3CvDwbYCNXyZpAlSbBMw-GQwb-c-ozZpmru8iJ3jRJSA4-w/s200/Screen+Shot+2015-08-12+at+10.06.01+AM.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUTVHsD46Ojl9fvos7-tcclHZHPjAUr1VEhoIx9FFHT16v-_MPWBF24US4TeT1AIWwsHX0tA4EjlA6VFRna6S3OMkiWvrkFXElQ2F-juXteiZB3uz6kx9AbVnEdO3YTRi8U8opWdENRgI/s1600/Screen+Shot+2015-08-12+at+10.06.29+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUTVHsD46Ojl9fvos7-tcclHZHPjAUr1VEhoIx9FFHT16v-_MPWBF24US4TeT1AIWwsHX0tA4EjlA6VFRna6S3OMkiWvrkFXElQ2F-juXteiZB3uz6kx9AbVnEdO3YTRi8U8opWdENRgI/s200/Screen+Shot+2015-08-12+at+10.06.29+AM.jpg" width="197" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In the first Corona graph, on the left, the difference in <a href="http://tennisviz.blogspot.com/2015/08/points-to-set.html" target="_blank">Points-to-Set</a> values varies from positive to negative. For the second Corona graph I simply flipped the negative values and changed the color to represent the second player. Below you can see the same data values in a standard horizon graph.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV3BlP8jlN8n4u_Swi2RgIdC8QTqvk59bFbwQUeYrBG2kC4NEei5jqk28ye-HEAaqzvEqWjNOrf83tfWrhV9guPnTMAVGDrKrGsW5wKadD27OncyUnUsUAQ1f9PrKzZG2PZosDZ2TJoOc/s1600/Screen+Shot+2015-08-12+at+10.08.50+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="102" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV3BlP8jlN8n4u_Swi2RgIdC8QTqvk59bFbwQUeYrBG2kC4NEei5jqk28ye-HEAaqzvEqWjNOrf83tfWrhV9guPnTMAVGDrKrGsW5wKadD27OncyUnUsUAQ1f9PrKzZG2PZosDZ2TJoOc/s400/Screen+Shot+2015-08-12+at+10.08.50+AM.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The horizon graph is then cut into bands and layered. The peaks are still visible and no space "under the curves" is wasted. Color gradations indicate distance from the baseline so that the greater values become darker.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8_EQuojKx1xq_mh7lQ2_NJsmuB71uqPfLvIzcLWgFBlxfRcLliKgfCXvdsfOA2yg3PN4htVF3190Dc0baVIKmQKCNB_mClw6h0Wbb_vG9LSvnRk621uy6-CibdBN2zqRSpJv6p0UbyqI/s1600/Screen+Shot+2015-08-12+at+10.49.37+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="26" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8_EQuojKx1xq_mh7lQ2_NJsmuB71uqPfLvIzcLWgFBlxfRcLliKgfCXvdsfOA2yg3PN4htVF3190Dc0baVIKmQKCNB_mClw6h0Wbb_vG9LSvnRk621uy6-CibdBN2zqRSpJv6p0UbyqI/s400/Screen+Shot+2015-08-12+at+10.49.37+AM.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
</div>
<div>
With this realization it became possible to compare sets and matches with a very compact visual. <br />
<br />
When you see a Horizon Graph for the first time you might find it to be somewhat confusing. But with a bit of study and experience I think you'll find them very valuable. Read the links above or this in-depth overview by a team at Berkeley: <a href="http://vis.berkeley.edu/papers/horizon/" target="_blank">"Sizing the Horizon: The Effects of Chart Size and Layering on the Graphical Perception of Time Series Visualizations"</a>.<br />
<br /></div>
<div>
<h1>
Set Comparison</h1>
</div>
<div>
Here are the sets from the <a href="http://tennisvisuals.com/viewpro/?file=20010702-M-Wimbledon-R16-Roger_Federer-Pete_Sampras.html" target="_blank">2001 R16 match at Wimbledon between Pete Sampras and Roger Federer</a>. Federer won the match 7-6, 5-7, 6-4, 6-7, 7-5. Federer is in blue; Sampras is in Green. </div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8YUGgvXwlxnHrBX5x7hpVtwB_GQv50C4NYEzxXXFVn5wZNpyDeB-kOC2rvCWw7Rdwt6wgAZYaaMGX1MriACOp3EaGoNCDxBblRcJNkcPoxVsHvwtL19YvxO0YXVpUCT5RTBHB48g48L0/s1600/Screen+Shot+2015-08-12+at+1.28.07+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8YUGgvXwlxnHrBX5x7hpVtwB_GQv50C4NYEzxXXFVn5wZNpyDeB-kOC2rvCWw7Rdwt6wgAZYaaMGX1MriACOp3EaGoNCDxBblRcJNkcPoxVsHvwtL19YvxO0YXVpUCT5RTBHB48g48L0/s400/Screen+Shot+2015-08-12+at+1.28.07+PM.jpg" width="400" /></a></div>
<br /></div>
<div>
You can see the winner of each set by the final color of each graph. The depth of color at any given moment indicates the distance between the two <a href="http://tennisviz.blogspot.com/2015/08/points-to-set.html" target="_blank">Points-to-Set</a> numbers: darker colors indicate a greater point difference. Turning the graphic into a control structure will enable point and game selection as well as "brushing" to select a range of points in a game. For the next version of <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> I will add ticks and marks to optionally indicate breakpoints, aces, winners, errors & etc. I'll save the use of Horizon and Corona graphs as control structures for a future post. </div>
<div>
<br />
To illustrate the ability of the Horizon Graph to enable rapid differentiation of sets which have the same score in games but which vary widely in the intensity of play and the distribution of points, here are Horizon Graph for three sets which each finished at 6-0:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<img border="0" height="77" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRBkEZps7iftHtryHet-XEOCnSYZmctx-2SYmsnIdO-upKHQhbmBD5yBNB5xcPuH5FU4vxB318h4y31wGHAZEREQezFXVTL9f4Yd_im-QP9w0vXBd5ALEV-f974SQrEUoRj0vxHoXItM4/s400/Screen+Shot+2015-08-12+at+1.27.56+PM.jpg" width="400" /></div>
<br />
In the first example one player dominated completely, winning all points. In the second example, which is taken from the <a href="http://tennisvisuals.com/viewpro/?file=20120804-W-Olympics-F-Serena_Williams-Maria_Sharapova.html" target="_blank">2012 Olympics final between Serena Williams and Maria Sharapova</a>, Serena gave up 12 points to Sharapova and needed 28 points to close out the set. In the third example every game of the set went to deuce and most games were at deuce more than once. Seventy-one points were played in the final example versus only twenty-four in the first example and forty in the second.<br />
<br />
<h2>
Match Comparisons</h2>
The screen real-estate provided by Blogger makes these a bit too compact, but I hope this gives some idea of the expressiveness of Horizon Graphs. You can click on each graph to see the full size image:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpx_j9sTSzYktLHc8A_eoYQFI0Ue5cVY97jzBDO10w2TJ9IobN94GJiziUWXCZSlhaSy9WUCrIJN0g_NtytZPmqqRa9yMUY955ZyQXA4Rs37qkwrTSlAutCu7MkzGrlxfDL-5SBE4xvxI/s1600/Screen+Shot+2015-08-23+at+12.27.15+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpx_j9sTSzYktLHc8A_eoYQFI0Ue5cVY97jzBDO10w2TJ9IobN94GJiziUWXCZSlhaSy9WUCrIJN0g_NtytZPmqqRa9yMUY955ZyQXA4Rs37qkwrTSlAutCu7MkzGrlxfDL-5SBE4xvxI/s400/Screen+Shot+2015-08-23+at+12.27.15+PM.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoOM-eUVLfoH_-XBpRFxjISQ0wg5K93u-csjck6hEZ1kve2lLmT30nBo4L2RxuozkBFXlN-JCvlD7-3zZX5-LWIRyXRbBUhKPf7UXbYh5j0DgpUkZqYcbziVeBFSsS3vNMaw3GMv8cl6k/s1600/Screen+Shot+2015-08-23+at+12.27.31+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoOM-eUVLfoH_-XBpRFxjISQ0wg5K93u-csjck6hEZ1kve2lLmT30nBo4L2RxuozkBFXlN-JCvlD7-3zZX5-LWIRyXRbBUhKPf7UXbYh5j0DgpUkZqYcbziVeBFSsS3vNMaw3GMv8cl6k/s400/Screen+Shot+2015-08-23+at+12.27.31+PM.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwioJE6xT3xxWmP36aSovVmkr3OQLhWpSoYv3WhshFfehA7DZmQUD_q8zXeNI0-jCDIqaff33DVvIdxfWATWgD8dR-zG4u4rNPDGq7guD8kofuLovt4jG3VCLkTsyqLGNj94oUTeQzu64/s1600/Screen+Shot+2015-08-23+at+12.27.55+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="98" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwioJE6xT3xxWmP36aSovVmkr3OQLhWpSoYv3WhshFfehA7DZmQUD_q8zXeNI0-jCDIqaff33DVvIdxfWATWgD8dR-zG4u4rNPDGq7guD8kofuLovt4jG3VCLkTsyqLGNj94oUTeQzu64/s400/Screen+Shot+2015-08-23+at+12.27.55+PM.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwJpAvaE5HFtvnYDsMyEvu0CskB1hj4i4CMjxgJstFopCz5y76dm-PGnXeMa67liP_QBz6sUAi_KHTZZlOiHQI6JJtGX-_u3PA_xi-xigAGzRS3bpL_At7OiGO7qq46RQF0ByWPc6oJQI/s1600/Screen+Shot+2015-08-23+at+12.28.49+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="98" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwJpAvaE5HFtvnYDsMyEvu0CskB1hj4i4CMjxgJstFopCz5y76dm-PGnXeMa67liP_QBz6sUAi_KHTZZlOiHQI6JJtGX-_u3PA_xi-xigAGzRS3bpL_At7OiGO7qq46RQF0ByWPc6oJQI/s400/Screen+Shot+2015-08-23+at+12.28.49+PM.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwvEj5XQmXHrAfdV3V8rv4nOCE1_tZP76pq_4XTd-TVZtyv18KHSdsnXW1uxR_3tZTBc8SyTml8vGO9wbkxXvg2yKyetD6oDsST77z7JxAqzzQYNQCX051A3IkRteHk7EOvcLSTH_e9uA/s1600/Screen+Shot+2015-08-23+at+12.29.05+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwvEj5XQmXHrAfdV3V8rv4nOCE1_tZP76pq_4XTd-TVZtyv18KHSdsnXW1uxR_3tZTBc8SyTml8vGO9wbkxXvg2yKyetD6oDsST77z7JxAqzzQYNQCX051A3IkRteHk7EOvcLSTH_e9uA/s400/Screen+Shot+2015-08-23+at+12.29.05+PM.jpg" width="400" /></a> </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkumGxdANp18vf5YDP3JsLKyi2dqgM2cXD6TOHLyzRO_Gr1chM8_9xD5e-rW6W6uaI-0W4And2SSkU5Dy0o_lL5LnIlGOI6YbXOe-SpjKpQPL6olWlzX6OYC7QxXbile4Gb9F9f2yL2O8/s1600/Screen+Shot+2015-08-23+at+12.29.27+PM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkumGxdANp18vf5YDP3JsLKyi2dqgM2cXD6TOHLyzRO_Gr1chM8_9xD5e-rW6W6uaI-0W4And2SSkU5Dy0o_lL5LnIlGOI6YbXOe-SpjKpQPL6olWlzX6OYC7QxXbile4Gb9F9f2yL2O8/s400/Screen+Shot+2015-08-23+at+12.29.27+PM.jpg" width="400" /></a></div>
<br />
And finally, here is a link to a video about <a href="http://www.aviz.fr/Research/IHG" target="_blank">Interactive Horizon Graphs</a>. This is a bit orthogonal to my intent to use Horizon Graphs as control structures, but it is interesting nevertheless and may provide some inspiration for a way to compare very large numbers of matches in the future. I'm discovering that there are many attributes of matches other than <a href="http://tennisviz.blogspot.com/2015/08/points-to-set.html" target="_blank">Points-to-Set</a> which may be usefully visualized with Horizon Graphs.<br />
<h2>
Acknowledgements</h2>
<div class="separator" style="clear: both; text-align: left;">
<span style="background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px;">I want to recognize again the work of </span><a href="http://www.ssc.upenn.edu/~fdiebold/" style="background-color: white; color: #4d469c; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px; text-decoration: none;" target="_blank">Francis X. Diebold</a><span style="background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px;">, </span><span style="background-color: rgba(255, 255, 255, 0); color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px;"><a href="http://www.frbsf.org/economic-research/economists/glenn-rudebusch/" style="color: #4d469c; text-decoration: none;" target="_blank">Glenn Rudebusch</a> </span><span style="background-color: white; color: #444444; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.2000007629395px;">and Professor Diebold's students at the University of Pennsylvania. As far as I and they can tell, their work on the concept of <a href="http://tennisviz.blogspot.com/2015/08/points-to-set.html" target="_blank">Points-To-Set</a> is completely original.</span></div>
</div>
Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0tag:blogger.com,1999:blog-4670359398672608469.post-47033842852414053142015-08-06T10:35:00.001+02:002015-09-18T17:56:10.749+02:00Visualizing MomentumMomentum has been described as an "invisible" or "hidden force" in tennis. (See <a href="http://www.amazon.com/Momentum-Hidden-Tennis-Alistair-Higham/dp/1841260401/ref=sr_1_1?ie=UTF8&s=books&qid=1252679747&sr=1-1" target="_blank">"The Hidden Force"</a> and the NYT article <a href="http://straightsets.blogs.nytimes.com/2009/09/11/the-importance-of-momentum-in-tennis/" target="_blank">"The Importance of Momentum in Tennis"</a>). Whether momentum actually exists at all in Tennis or any other sport has long been debated, but it is a certainly that momentum is something that many players and even the crowd "feels" when watching a match.<br />
<br />
In <a href="http://www.amazon.com/Analyzing-Wimbledon-Statistics-Franc-Klaassen/dp/0199355967/ref=sr_1_1?ie=UTF8&qid=1438939993&sr=8-1&keywords=analyzing+wimbledon" target="_blank">"Analyzing Wimbledon"</a>, Professors <a href="http://www.uva.nl/en/about-the-uva/organisation/staff-members/content/k/l/f.j.g.m.klaassen/f.j.g.m.klaassen.html" target="_blank">Klaassen</a> and <a href="http://www.janmagnus.nl/" target="_blank">Magnus</a> conclude via statistical analysis that some limited momentum exists for weaker players, but not for top players.<br />
<br />
While it is impossible to fully <a href="http://www.aaai.org/ocs/index.php/ICWSM/ICWSM14/paper/view/8117" target="_blank">capture the emotional</a> and physical dynamics that contribute to changes in momentum, whether it exists or not, it is possible to create a representation of the progression of points throughout a match which includes details relevant to the outcome of each point. <br />
<br />
The following graphic captures the outcome of first and second serves, the return of serve, the Key Shot which determines a point winner, as well as the length of the rally, if any, while a point is being played. The centerline which runs down the middle of the graphic represents an even point score and the line moves left or right depending on which player has won the most points; a standard score-matrix is overlaid to give an understanding of the outcome of each game.<br />
<br />
For a full explanation of how to read this graphic, please see my post on the <a href="http://tennisviz.blogspot.com/2015/08/gamefish-point-progression-key-shots.html" target="_blank">GameFish</a>, which was derived from the Momentum Chart.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqYffELbVM1MdRxKUXzptqncADLWwGPpIVGosrVEXyDitr44TQ7UUUK1C29uFtqfDiN1DNxK6aNlDpn4AQ_wwlMF7B6cifxLyTafI5HpeoTN_JjPYuOL09lCyg1kV1b5QrYzrb9G0V3lI/s1600/Screen+Shot+2015-08-06+at+9.43.46+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="181" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqYffELbVM1MdRxKUXzptqncADLWwGPpIVGosrVEXyDitr44TQ7UUUK1C29uFtqfDiN1DNxK6aNlDpn4AQ_wwlMF7B6cifxLyTafI5HpeoTN_JjPYuOL09lCyg1kV1b5QrYzrb9G0V3lI/s400/Screen+Shot+2015-08-06+at+9.43.46+AM.jpg" width="400" /></a></div>
<br />
Winning the most points does not, however, insure that a player will win a match. Psychological factors aside, in certain cases <b><i>when</i></b> a point is won is more important than the fact that a point was won, at least with respect to the match outcome. I will discuss this in a future post and hopefully have some visuals which can facilitate better understanding this point. At the moment I'm working on a graphic that merges the basis of the Momentum Chart (difference in total points) with idea of the <a href="http://tennisviz.blogspot.com/2015/08/points-to-set.html" target="_blank">"Points-to-Set"</a> graph (number of points required to win, at any given moment) and I'm hoping it will provide some insight. <br />
<br />
The Momentum Chart in <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> was inspired by the excellent Momentum Chart in the <a href="http://www.fieldtown.co.uk/protrackertennis/protracker_screenshots.htm" target="_blank">ProTracker Tennis App</a> (for iPhones/iPads). <a href="http://www.fieldtown.co.uk/protrackertennis/protracker_screenshots.htm" target="_blank">ProTracker Tennis</a> has a few features which I didn't incorporate in my Proof-of-Concept version. The score-matrix overlay is original to my implementation. <br />
<br />
Version 2 of <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> will increase the use of the Momentum Chart as a control structure and seek to overlay visualizations which provide additional analysis into factors which may be seen to have an influence on changes in momentum. At the moment the Momentum Chart drives the Court View (post forthcoming) which displays shots for matches captured with <a href="http://www.fieldtown.co.uk/" target="_blank">ProTracker Tennis</a>.<br />
<br />
There is an excellent discussion of Momentum for Players and Coaches on the <a href="http://www.tennisserver.com/turbo/turbo-archive.html" target="_blank">Turbo Tennis blog</a> at <a href="http://www.tennisserver.com/" target="_blank">The Tennis Server</a>. Please see the articles "<a href="http://www.tennisserver.com/turbo/turbo_04_09.html" target="_blank">Momentum... Swing it in your favor"</a>, <a href="http://www.tennisserver.com/turbo/turbo_14_10.shtml" target="_blank">"Momentum Revisited"</a> and <a href="http://www.tennisserver.com/turbo/turbo_98_1.html" target="_blank">"The Big MO!"</a>.<br />
<br />
Of course, Momentum can also be interpreted in the context of a series of matches. The cross-match visualizations I'm doing for the next version of <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> will look at this aspect of Momentum in depth.Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0tag:blogger.com,1999:blog-4670359398672608469.post-81031416906128026472015-08-03T21:40:00.003+02:002015-11-01T21:03:16.540+01:00Points-To-SetThe "Points-to-Set" graph was inspired by the work of <a href="http://www.ssc.upenn.edu/~fdiebold/" target="_blank">Francis X. Diebold</a>, <span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);"><a href="http://www.frbsf.org/economic-research/economists/glenn-rudebusch/" target="_blank">Glenn Rudebusch</a> </span>and Professor Diebold's students at the University of Pennsylvania. In December, 2014, <a href="http://www.ssc.upenn.edu/~fdiebold/" target="_blank">Professor Diebold</a> published <a href="http://fxdiebold.blogspot.com/2014/12/a-tennis-match-graphic.html" target="_blank">"A Tennis Match Graphic"</a> on his blog <a href="http://fxdiebold.blogspot.com/" target="_blank">No Hesitations</a>, and in February when I was just discovering <a href="http://d3js.org/" target="_blank">D3</a> I decided to attempt to recreate his work for the data I had just learned to parse from <a href="http://www.protrackertennis.com/" target="_blank">ProTracker Tennis</a>. Here is the result of that effort, taken from the <a href="http://tennisvisuals.com/viewpro/?muid=20150710-M-Wimbledon-SF-Roger_Federer-Andy_Murray.html" target="_blank">2015 Wimbledon semifinal match between Roger Federer and Andy Murray</a>, where you can view these charts "live":<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc_WEO9JeQLGa4zNPPwFW3xMsNzK2DRNnLJM26B1zs5YNyXn9euYHUdTGqUpYFSuC04woyuxuQS57vz2n7FIRt0VuxwD8cp4oD8WQMHrh8TcupvbEgTycWRrCc4dwExS5HpN7EyP1AkY0/s1600/Screen+Shot+2015-08-10+at+10.04.27+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc_WEO9JeQLGa4zNPPwFW3xMsNzK2DRNnLJM26B1zs5YNyXn9euYHUdTGqUpYFSuC04woyuxuQS57vz2n7FIRt0VuxwD8cp4oD8WQMHrh8TcupvbEgTycWRrCc4dwExS5HpN7EyP1AkY0/s400/Screen+Shot+2015-08-10+at+10.04.27+AM.jpg" width="400" /></a></div>
<br />
And here is the latest version:<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx7qRiiNH1uIE-dQolUhPXXe9d7txzV3aghAuvDAQJwEouLVzdwXfR6exts2kWFTEZrHu66_sXFXeyJlmW4Ay7RYm7-4ZhabkNo1lgYlDIKnhtdWcU7h2eC3fSlq8WYA4JZgBrXQartOs/s1600/Screen+Shot+2015-08-10+at+10.22.10+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="142" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx7qRiiNH1uIE-dQolUhPXXe9d7txzV3aghAuvDAQJwEouLVzdwXfR6exts2kWFTEZrHu66_sXFXeyJlmW4Ay7RYm7-4ZhabkNo1lgYlDIKnhtdWcU7h2eC3fSlq8WYA4JZgBrXQartOs/s400/Screen+Shot+2015-08-10+at+10.22.10+AM.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
We can think of the "Points-to-Set" number as the minimum distance from the current number of points won until the end of the Set; it always assumes your opponent wins no additional points. In <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> this number is expressed graphically for each player to indicate at any given moment in a Set which player is closer to winning.</div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirDuFjcPWPWGimuCFVWkfyQRJnYt7iPykZGBeKTNpOKNa5_qM6xPIKWgi7tZjmzc73l-3oMJbkc_29wW3x28u6UeRQ5jQTZn8w_sQ1kQ-P1IXpz1VaB0hOI5IbULHFnpGv1bc9aLnFcAU/s1600/Screen+Shot+2015-08-10+at+10.26.44+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirDuFjcPWPWGimuCFVWkfyQRJnYt7iPykZGBeKTNpOKNa5_qM6xPIKWgi7tZjmzc73l-3oMJbkc_29wW3x28u6UeRQ5jQTZn8w_sQ1kQ-P1IXpz1VaB0hOI5IbULHFnpGv1bc9aLnFcAU/s400/Screen+Shot+2015-08-10+at+10.26.44+AM.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
</div>
<div>
<div>
<span style="-webkit-text-size-adjust: auto; background-color: rgba(255, 255, 255, 0);">To win a standard Set in a tennis match a player must, at a minimum, win six games and be ahead by two games. Giving no more than two points away, there is a minimum of four points which must be won in each game. That means that at the beginning of a Set each player needs twenty-four points to win the Set. The Y-axis of the graph below ranges from 24 up to 0, which is where the Set concludes. The X-axis shows the total number of points within the Set. <a href="http://tennisvisuals.com/viewpro/?file=20150710-M-Wimbledon-SF-Roger_Federer-Andy_Murray.html" target="_blank">In the match depicted in these "Points-to-Set" visualizations</a> you can see the varying number of points which had to be played for Roger Federer to close out each Set.</span></div>
</div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
</div>
<div>
Every point won brings a player closer to the end of the Set, obviously. Some games, when they are lost, increase the "Points-to-Set" number. For instance, at the beginning of a Game when the score is 5-4 in the Set, the first player needs only four points to win, while the second requires twelve. If the first player loses the game and the score becomes tied at 5-5, each player is then eight points from winning the Set. In fact this scenario occurred twice in this match, in both the first and second Sets which were won by Federer 7-5. You may also notice that in the first game of both the second and third Sets there was a moment when Andy Murray needed 25 points to win the Set. This actually occurs quite frequently when the first few games are won by one player. When a player leads 5-0, the opponent actually needs 28 points to win the set.<br />
<br />
In the second Set the game which Federer lost there were seven deuces; you can see this in the "Points-to-Set" graphic below where the lines for both players become jagged. You can also see that Federer failed to convert on six breakpoints before winning the set by finally converting a breakpoint.<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8C9bQn1Dx5uzahRzuGITb8D3RSux7hRK5BuH9Lay4xAZD2k-mr4h4yfN5hx5LlJuu7EALXaUDxHklXzt8nZpyDVayXS41BiMZvR8USFAcjIbW24uk4vpxzJFLLQ9tK-YmWNh3hPrAs0o/s1600/Screen+Shot+2015-08-10+at+10.25.30+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8C9bQn1Dx5uzahRzuGITb8D3RSux7hRK5BuH9Lay4xAZD2k-mr4h4yfN5hx5LlJuu7EALXaUDxHklXzt8nZpyDVayXS41BiMZvR8USFAcjIbW24uk4vpxzJFLLQ9tK-YmWNh3hPrAs0o/s400/Screen+Shot+2015-08-10+at+10.25.30+AM.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
As I work on the re-write of <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> I'm developing a gallery of re-usable visualization components and adding configurable features. In addition to the "orientation highlighting" demonstrated above, I'm adding "game highlighting", which you can see in the chart for the third set below:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9bbfA_iv_ubq4fYwU8zOWOlTtuydV_LKOErmNhgFO4AVhS2xD8QKJ3C8uPhd8DMOVN0SDgI_Qwr9pqSA5ZlhKIC63gjW8mscQ3sUdtu-ORdl5UkDNFXLpWrteQr0OUjyYGDwJJOSJWls/s1600/Screen+Shot+2015-08-10+at+10.27.51+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9bbfA_iv_ubq4fYwU8zOWOlTtuydV_LKOErmNhgFO4AVhS2xD8QKJ3C8uPhd8DMOVN0SDgI_Qwr9pqSA5ZlhKIC63gjW8mscQ3sUdtu-ORdl5UkDNFXLpWrteQr0OUjyYGDwJJOSJWls/s400/Screen+Shot+2015-08-10+at+10.27.51+AM.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
When using the "Points-to-Set" component in <a href="http://tennisvisuals.com/" target="_blank">TAVA</a>, the corresponding moments of the match are highlighted on the <a href="http://tennisviz.blogspot.com/2015/07/sunburst-match-at-glance.html" target="_blank">Sunburst</a> and you can see the longest game of the match occurred in the second set and was won by Andy Murray (purple) when Federer failed to convert two breakpoints.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguTu_ne3s-JP0e5dbXyswZSzDFhJ3Y9gPaCZ7zYl4WchXU3STJsYCqqGpl-dxGvWlrJv8tFKXlBWwYOT9mAloLbF9ElK9dUdPX50kGqOzUj9NjdhL8g07E9dOEmeZ9TdXq9zbpavPijOk/s1600/Screen+Shot+2015-08-04+at+5.33.30+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguTu_ne3s-JP0e5dbXyswZSzDFhJ3Y9gPaCZ7zYl4WchXU3STJsYCqqGpl-dxGvWlrJv8tFKXlBWwYOT9mAloLbF9ElK9dUdPX50kGqOzUj9NjdhL8g07E9dOEmeZ9TdXq9zbpavPijOk/s400/Screen+Shot+2015-08-04+at+5.33.30+AM.jpg" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
</div>
<div>
In a recent <a href="http://fxdiebold.blogspot.com/2015/06/2015-french-open-djokovic-nadal-tennis.html" target="_blank">post</a>, <a href="http://www.ssc.upenn.edu/~fdiebold/" target="_blank">Professor Diebold</a> has updated his Tennis Graphic to include elements which indicate where breakpoints occurred and highlight when tiebreaks take place. <a href="http://www.ssc.upenn.edu/~fdiebold/TennisGraphics.htm" target="_blank">Here is the site where his team has collected the visualizations they've created</a>. I've taken some of these ideas on board and in the re-write of TAVA I'm going to try to push the features and usefulness of the "Points-to-Set" graphic further. I am intrigued by the idea of producing some variation of a Points-to-Match graphic as a slider/filter for generating dynamic statistics for a range of points within a match...</div>
Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0tag:blogger.com,1999:blog-4670359398672608469.post-47761934378842378602015-08-02T21:45:00.003+02:002015-11-01T21:03:52.463+01:00GameFish: Point Progression, Key Shots, Rallies<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: start;">The GameFish visualization provides a single-glance overview of one game from a tennis match. It is an enhancement of the standard score-matrix for tennis matches. </span></div>
<div style="text-align: left;">
<span style="text-align: start;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHYtgcXUsQzki7gzfPUzqWjJKmSOQzSIVZXv-ffvUB6XmIJs39zpOVoWDmF921QGUDwHmP8satXzGwDo2Xeo2Dewb4iGf2aAvImXj6Ht4gkPYRjsR6V1SOuI6VF__ccQt_-zjf4EfZPhs/s1600/GameFish-SWND-RG-F.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: left;"><img border="0" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHYtgcXUsQzki7gzfPUzqWjJKmSOQzSIVZXv-ffvUB6XmIJs39zpOVoWDmF921QGUDwHmP8satXzGwDo2Xeo2Dewb4iGf2aAvImXj6Ht4gkPYRjsR6V1SOuI6VF__ccQt_-zjf4EfZPhs/s320/GameFish-SWND-RG-F.jpg" width="320" /></a></div>
<br />
<div class="">
The GameFish above is an example from the <a href="http://tennisvisuals.com/viewpro/?file=20150607-M-Roland_Garros-F-Stanislas_Wawrinka-Novak_Djokovic.html" target="_blank">2015 Finals at Roland Garros between Stan Wawrinka and Novak Djokovic</a> (the preceding link takes you to the <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> visualization of the match).<span style="text-align: start;"></span><br />
<br />
The boxes on the left of the graphic indicate that the server was Stan Wawrinka, as well as the outcomes for all first and second serves. Light Green dots represent Service Winners; Yellow dots represent Serves that were "In"; Red dots represent faults. In this game there were no Aces (darker Green dots). On the right of the graphic the dots represent Novak Djokovic's Return of Serve.<br />
<br />
The Game Grid in the center of the graphic indicates the winner of the point by cell color (blue for Wawrinka; purple for Djokovic) as well as the final "Key Shot" which determined the point winner. In this game there were only three points won with Winners; the majority of points were won due to opponent error.<br />
<br />
Rally lengths are depicted with bluish-grey bars which appear "behind" the GameFish. These rally-bars turn yellow when the mouse hovers over the point, and the number of shots and point-score appear at the top of the graphic. <br />
<br />
The GameFish also triggers orientation highlighting in the <a href="http://tennisviz.blogspot.com/2015/07/sunburst-match-at-glance.html" target="_blank">Sunburst</a> visualization which is the primary control structure for <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> and which is used to "drive" the GameFish visualizations.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0lApzfXWfEskey677LC5kZj2_enz_YGGxD9hSLvtBmC6WLNZxpzVnuRzPpJqIE1NtNeYvA7B8eFXg6zVvEz-pb8cTta3-rrJq1RWlWXYqId9_ZEMv2Zd-FcaMb0YwizCjhGLbdSn5duU/s1600/Screen+Shot+2015-08-06+at+9.31.12+AM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="182" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0lApzfXWfEskey677LC5kZj2_enz_YGGxD9hSLvtBmC6WLNZxpzVnuRzPpJqIE1NtNeYvA7B8eFXg6zVvEz-pb8cTta3-rrJq1RWlWXYqId9_ZEMv2Zd-FcaMb0YwizCjhGLbdSn5duU/s400/Screen+Shot+2015-08-06+at+9.31.12+AM.jpg" width="400" /></a></div>
<br />
I have seen a fish-like view used in a number of tennis betting applications (<a href="http://www.betangel.com/user-guide/game___set_matrix.html" target="_blank">example</a>), and it bears some resemblance to the very cool <a href="http://gamesetmap.com/?p=801" target="_blank">"Game Tree"</a> which appeared on <a href="http://gamesetmap.com/">GameSetMap.com</a> in <a href="http://gamesetmap.com/?p=701" target="_blank">February of 2014</a>. (An interactive version can be found <a href="http://gamesetmap.com/gametree/nadaldjokovic080614/" target="_blank">here</a>). <br />
<span style="text-align: start;"><br /></span>
<span style="text-align: start;">I also recently discovered the <a href="https://medium.com/the-tennis-notebook" target="_blank">"The Tennis Notebook"</a> blog on Medium.com. Nikita Taparia created an attractive score-matrix to visualize Point Outcomes for entire matches (point distributions) in <a href="https://medium.com/the-tennis-notebook/tennis-note-8-f1f6f5f0b47a" target="_blank">Tennis Note # - Rafa in Paris: The Numbers</a>.</span><br />
<span style="text-align: start;"><br /></span></div>
<div class="" style="clear: both; text-align: left;">
<span style="text-align: start;">There is an <a href="http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=6876044" target="_blank">IEEE research paper from 2014</a> which references a "TennisVis" application (apparently a research project) which uses a *very* similar "Fish Grid" to depict point progression.</span><br />
<span style="text-align: start;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="text-align: start;">[update 2015-08-08: found <a href="http://vacommunity.org/ieeevpg/2014/12.html" target="_blank">this link on the IEEE contest website</a> to a graphic from "TennisVis"].</span></div>
<br />
<span style="text-align: start;">The GameFish was derived from and is the basis for the <a href="http://tennisviz.blogspot.com/2015/08/visualizing-momentum.html" target="_blank">Momentum Chart</a> which strings together all games from a match showing the relative point-score for each player; it is also a control structure within </span><a href="http://tennisvisuals.com/" style="text-align: start;" target="_blank">TAVA</a><span style="text-align: start;"> that provides additional drill-down capabilities for matches which include detailed information about points within games. </span><br />
<br />
A future post will cover the Court view and the visualization of shots within points.Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0tag:blogger.com,1999:blog-4670359398672608469.post-65257079141213702482015-07-30T10:53:00.000+02:002015-11-01T21:05:01.778+01:00Sunburst: Match at a Glance<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKQ6rNZUZYHxKb6d9MOD_YFC9D-O6e3cfS3VgkTkp3bLY0gcZ65N0WKprsFd7a0W2V317s0JjsA9MUtEah5jN2wvzn42XBZWCQXF_3KpiPKTJKUabGghwBQ8FctXcNGXahopaGmad2F14/s1600/SunburstNDKN.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="319" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKQ6rNZUZYHxKb6d9MOD_YFC9D-O6e3cfS3VgkTkp3bLY0gcZ65N0WKprsFd7a0W2V317s0JjsA9MUtEah5jN2wvzn42XBZWCQXF_3KpiPKTJKUabGghwBQ8FctXcNGXahopaGmad2F14/s320/SunburstNDKN.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The goal of the <a href="http://www.cc.gatech.edu/gvu/ii/sunburst/" target="_blank">Sunburst Visualization</a> is to provide an information-rich view of a match in a single graphic. The layout for the Sunburst is like a clock. The match begins at 12:00 and proceeds clockwise. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The <a href="http://www.cc.gatech.edu/gvu/ii/sunburst/" target="_blank">Sunburst Visualization</a> above depicts the <a href="http://tennisvisuals.com/viewpro/?file=20150515-M-Rome_Masters-QF-Novak_Djokovic-Kei_Nishikori.html" target="_blank">Quarterfinals match between Novak Djokovic and Kei Nishikori at the 2015 Rome Masters</a>. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The Sets, Games and Points won by each player are colored: Djokovic is blue, Nishikori is purple. The circle at the center of the visualization indicates the outcome of the match. In this case it is blue, indicating that Djokovic won the match. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The first ring around the center represents Sets. Djokovic won the first Set, Nishikori the second Set, and Djokovic the third Set. The length of each ring segment indicates the length of each Set relative to every other Set. The second ring from the center represents Games. The darker the color, the more intense the game (in terms of length of rallies). The third ring from the center represents Points. The darker the color, the longer the rally for the point. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The final and outermost ring represents significant Shots: First and Second Serves, Return of Serve, and the final, Key Shot. Shots colored Green are Winners. Light green represents a Shot which forced the opponent to make an error ("forcing shots"). Red represents Errors. Shots that are "In" are colored to indicate who made the Shot.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Comparing Sunburst visualizations of different matches you can quickly get a gut feel for whether one or both players achieved a significant <a href="http://hobsontennis.com/downloads/aggressivemargin.pdf" target="_blank">Aggressive Margin</a> (see also <a href="http://www.tennismindgame.com/match-analysis.html" target="_blank">here</a>). </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
At the moment I spend most of my time tracking U12 and U10 matches, so the outer ring is mostly Red and the Aggressive Margins are usually negative. Compare the Djokovic/Nishikori match on the left to the <a href="http://tennisvisuals.com/viewpro/?file=20150710-M-Wimbledon-SF-Roger_Federer-Andy_Murray.html" target="_blank">Semifinals match between Roger Federer and Andy Murray at Wimbledon (2015)</a>:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM1HZgBYHlXU5XJPvKyPzRROaiFA5ZocBun0-6PYJNIEtnSBh-nIu6JgCXlK7DcINFzIZEcDS1I7JKiUQLRlkQNtZae9CQRjog4w4ADY-XIoHmA1TOWt7lP_M-70f4l2nl19mDi3LnqEk/s1600/SunburstNDKN.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="199" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM1HZgBYHlXU5XJPvKyPzRROaiFA5ZocBun0-6PYJNIEtnSBh-nIu6JgCXlK7DcINFzIZEcDS1I7JKiUQLRlkQNtZae9CQRjog4w4ADY-XIoHmA1TOWt7lP_M-70f4l2nl19mDi3LnqEk/s200/SunburstNDKN.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5xw5X8ahlvfe2EltHJMK_7o1aFPaglp-o676j3JVSwkcVy39CUWa_3kZE3buvmPIngSZihKkM7THwebkB64f7gSo40MFGDsArLelMepO1VeD_eg8RYxIfx8Rhtn6D9IdH0N_NfMjk1jQ/s1600/SunburstRFAM.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5xw5X8ahlvfe2EltHJMK_7o1aFPaglp-o676j3JVSwkcVy39CUWa_3kZE3buvmPIngSZihKkM7THwebkB64f7gSo40MFGDsArLelMepO1VeD_eg8RYxIfx8Rhtn6D9IdH0N_NfMjk1jQ/s200/SunburstRFAM.jpg" width="200" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In the match between Djokovic and Nishikori the relative Aggressive Margins were 5% and -9% whereas in the Federer/Murray match the relative Aggressive Margins were 29% and 23%.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h2 style="clear: both; text-align: left;">
<a href="http://tennisvisuals.com/" target="_blank">TAVA</a></h2>
<div class="separator" style="clear: both; text-align: left;">
[<b>UPDATE: </b>The role of the Sunburst Visualization has been diminished in the latest update to <a href="http://tennisvisuals.com/" target="_blank">TAVA</a>. It is still used for orientation highlighting and some navigation. Sunburst will make a more forceful return at a later date when new functionality is added.]</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The <a href="http://tennisvisuals.com/" target="_blank">Tennis AiP</a> visualization application (<a href="http://tennisvisuals.com/" target="_blank">TAVA</a>) uses the Sunburst as a control structure to aid in the exploration of various aspects of a match. Clicking on a Set segment reveals a Points-to-Set visualization; clicking a Game segment reveals a <a href="http://tennisviz.blogspot.com/2015/08/gamefish-point-progression-key-shots.html" target="_blank">GameFish</a> visualization; clicking a Point reveals the <a href="http://tennisviz.blogspot.com/2015/08/gamefish-point-progression-key-shots.html" target="_blank">GameFish</a> where that point occurred.</div>
<div>
<div class="separator" style="clear: both;">
<br /></div>
</div>
<div class="separator" style="clear: both; text-align: left;">
The Sunburst Visualization is zoomable. Double clicking a Set segment transitions to a view of a single Set, while double clicking a Game segment transitions to a view of a single Game:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxh-hM2w3zhOU-ywK4DxkOTuNUXjvKnVUEbwhYpFfooYYs9dtba26SbzjJsGA2zvChZfu_vYGsxk0gLVphhfuAc8lTSgiHKwlcx1gDjSYcN_FnRPr_8IqoKwqHhEfJTH6QGamnTpEo1Ts/s1600/SunburstNDKN-SetZoom.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxh-hM2w3zhOU-ywK4DxkOTuNUXjvKnVUEbwhYpFfooYYs9dtba26SbzjJsGA2zvChZfu_vYGsxk0gLVphhfuAc8lTSgiHKwlcx1gDjSYcN_FnRPr_8IqoKwqHhEfJTH6QGamnTpEo1Ts/s200/SunburstNDKN-SetZoom.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxamuKW5PIoCltN0U9k0768V6AQT_LWIZLJ0cS5Lv_ai3IxwWtFibeBgKHjnkLHbKKYVx6SD12zcFK4RJi1JcfCxuoC-xDNqNSaHSF5jP5qxtM_U9Oyxh3a5wsWyhw99l_ccV6Ml7MPbM/s1600/SunburstNDKN-GameZoom.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: left;"><img border="0" height="197" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxamuKW5PIoCltN0U9k0768V6AQT_LWIZLJ0cS5Lv_ai3IxwWtFibeBgKHjnkLHbKKYVx6SD12zcFK4RJi1JcfCxuoC-xDNqNSaHSF5jP5qxtM_U9Oyxh3a5wsWyhw99l_ccV6Ml7MPbM/s200/SunburstNDKN-GameZoom.jpg" width="200" /></a></div>
<br />
<div class="" style="clear: both; text-align: left;">
In <a href="http://tennisvisuals.com/" target="_blank">TAVA</a>, clicking the center of the Sunburst initiates a zoom transition to the enclosing Set or to the initial Match view. From the initial Match view, clicking the center of the Sunburst transitions the display to a Momentum Chart.<br />
<br />
The Sunburst also provides "Orientation Highlighting" while using other components of <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> to indicate where Shots and Points occurred:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6V3OrfDnCgITZqTLPiqm4xa-ywmkTrOqp8gdvgopw_j4NHDuDhMI4d6kzqutAuIbQ0cqDRLHbX9cPTC59v_ZvoEgJwJS88ieg3zPUO58g5NHkxnVCG3dob2fsqW1QMVSC0ZJOAHrryx8/s1600/SunburstOrientation.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6V3OrfDnCgITZqTLPiqm4xa-ywmkTrOqp8gdvgopw_j4NHDuDhMI4d6kzqutAuIbQ0cqDRLHbX9cPTC59v_ZvoEgJwJS88ieg3zPUO58g5NHkxnVCG3dob2fsqW1QMVSC0ZJOAHrryx8/s200/SunburstOrientation.jpg" width="200" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZCIx5i8fCzRRX8YQQI1v_I7SJDKSKvPJC-MUzFk-8Jj5quD7qEoPzk0pKuA95nIjXirA_izip0nLJ2PZdIcCujUAduwACexYyoT5pMcajsjvm4P0RnMX_xpBUgcM2wtmFmNmYw9oompQ/s1600/PointToSetOrientation.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZCIx5i8fCzRRX8YQQI1v_I7SJDKSKvPJC-MUzFk-8Jj5quD7qEoPzk0pKuA95nIjXirA_izip0nLJ2PZdIcCujUAduwACexYyoT5pMcajsjvm4P0RnMX_xpBUgcM2wtmFmNmYw9oompQ/s200/PointToSetOrientation.jpg" width="173" /></a></div>
<br /></div>
<div class="" style="clear: both; text-align: left;">
Finally, <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> uses the Sunburst to indicate where Breakpoints occurred during a match:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYMRoQ0anTK6VjcPlhCbiXZ-7SBhtm7pK3EqX9vnmoC-MfoSCDibbrq8zsgwHb3ERcwC-hEh7eRBtSrIY9eKa42aidmCPd6j0SpRWMhPC6MceOyhyphenhyphenRg8oLIZDshnqsEXpotXhfspvj3wQ/s1600/SunburstNDKNbreakpoints.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYMRoQ0anTK6VjcPlhCbiXZ-7SBhtm7pK3EqX9vnmoC-MfoSCDibbrq8zsgwHb3ERcwC-hEh7eRBtSrIY9eKa42aidmCPd6j0SpRWMhPC6MceOyhyphenhyphenRg8oLIZDshnqsEXpotXhfspvj3wQ/s320/SunburstNDKNbreakpoints.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In the visualization above Djokovic (Blue) had a breakpoint opportunity in the second game; he successfully converted (Green). In the sixth game Djokovic had three breakpoints, but Nishikori saved the breakpoints and Djokovic failed to convert (Red). In the final Game of the first Set, Nishikori (purple) had two breakpoints which he failed to convert (Red).</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0tag:blogger.com,1999:blog-4670359398672608469.post-77156868873002084022015-07-29T15:46:00.000+02:002015-11-01T21:05:44.572+01:00Origins and raison d'êtreThe Tennis Visuals blog exists to document the on-going development of <a href="http://tennisvisuals.com/" target="_blank">Tennis AiP</a> and the <a href="http://tennisvisuals.com/" target="_blank">Tennis AiP visualization application (TAVA)</a>.<br />
<div>
<br /></div>
<div>
<a href="http://tennisvisuals.com/" target="_blank">Tennis AiP</a> (Analytics integration Platform) is envisioned as both a repository for crowdsourced data capturing point-play during tennis matches as well as a platform for the integration of a diverse range of data sources which can be related to the game of tennis.<br />
<br />
As a parent of young players, I was inspired to begin this project as a way of better understanding the game. I have found that tracking matches is a great way to lessen the stress that many parents feel watching their children on the court.<br />
<br />
I am also intrigued by the use of technology in Sport. Tennis is behind the curve relative to other sports, but it is clear that more technology is coming to the court and that there will be ever larger quantities of data available over time. I wanted to be "early in the game" to understand what benefits are to be derived from these technologies and how they might be applied to the coaching of younger players who don't have access to systems such as <a href="http://www.hawkeyeinnovations.co.uk/page/coaching-systems/tennis-coaching" target="_blank">Hawkeye</a>.<br />
<br />
There are other, lower-cost systems emerging, such as <a href="http://www.hawkeyeinnovations.co.uk/page/coaching-systems/tennis-coaching" target="_blank">PlaySight</a>, but these systems have a large footprint, are not generally portable, and can't be used to regularly capture data from tournament play at the Junior or Youth level where players must travel to a different venue each week.</div>
<div>
<br /></div>
<div>
At the time of this post <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> is capable of presenting visualizations of match data which originates from <a href="http://www.protrackertennis.com/" target="_blank">ProTracker Tennis</a>, an app for iPhones and iPads, as well as match data compiled by <a href="http://tennisabstract.com/charting/meta.html" target="_blank">The Match Charting Project</a>, which was created by <a href="http://www.jeffsackmann.com/" target="_blank">Jeff Sackmann</a> and which can be found at <a href="http://tennisabstract.com/charting/meta.html" target="_blank">Tennis Abstract</a>.</div>
<div>
<br /></div>
<div>
The <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> interface is fairly crude at this point. When I began this project I had no experience with either Javascript or the <a href="http://d3js.org/" target="_blank">D3</a> libraries which make the visualizations possible. Phase One is entirely a hack, assembled by deconstructing, rejigging and pasting together some of the great examples available from sites such as Christophe Viau's <a href="http://christopheviau.com/d3list/gallery.html" target="_blank">D3 Gallery</a> and Mike Bostock's <a href="http://bl.ocks.org/mbostock" target="_blank">D3 Blocks</a>.</div>
<div>
<br /></div>
<div>
In the development of Phase One I was primarily focused on making my first visualizations and spent very little time on documentation and usability. At present only Chrome and Safari browsers support all of the functionality. This will be remedied with Phase Two of the web interface design.</div>
<div>
<br /></div>
<div>
I am currently working on development of a <a href="https://nodejs.org/" target="_blank">Node.js</a> server with a <a href="https://www.mongodb.org/" target="_blank">Mongo</a> database to store match data (in JSON format). Once the server is completed I will completely re-write the <a href="http://tennisvisuals.com/" target="_blank">TAVA</a> interface (with proper Javascript closures), beginning with the visualization of cross-match statistics.<br />
<br />
The next stage will explore the integration of data that is available from a number of sensors either worn by players, or attached to racquets. I already have a good dataset of matches tracked with <a href="http://www.protrackertennis.com/" target="_blank">ProTracker Tennis</a> where sensor data was also captured.<br />
<br />
One of the long term goals is to add tracking of player training sessions so that match outcomes can be correlated with training goals. I have not yet found an app suitable for capturing this data.</div>
<div>
<br /></div>
<div>
The list of future functionality is large and growing. I welcome conversations and collaboration.</div>
Anonymoushttp://www.blogger.com/profile/16245084958979688863noreply@blogger.com0