← Back to TANS Home

Match Charting Guide

A step-by-step guide for creating and reading TANS match chartings.

1. Introduction

The TANS charting format encodes every point in a tennis match into concise, algebraic-like notation. Each rally is timestamped and broken down into strokes, player positions, and outcomes. This guide helps you create your own charting or interpret existing ones.

2. Basic Structure

A typical match chart begins with header information enclosed in brackets:

[Event: 2025 Mutua Madrid Open Women's Singles Final]
[Players: X = Coco Gauff, Y = Aryna Sabalenka]
[Video Url: https://www.youtube.com/watch?v=_O-4_IJFIjQ]

3. Rally Format

Each rally starts with a # Time line indicating when the point begins in the video. The following numbered lines describe each stroke in sequence. The rally ends with the point outcome marker.

# Time: 1:47
1. XsA6, (D0, A9) 
2. YfD2, (C1, A9)
3. XfB7, (E0, A9)
4. YfD6, (D0, B9)
5. XfB6, (D0, C9)
6. YfA1, (C0, C9)
YV

4. Notations

The TANS charting system uses concise symbolic encodings to represent shots, directions, player positions, and outcomes. This section explains each encoding in detail.

4.0 Court Partition

Match Partition

4.1 Shot Type Encoding

Code Description
sServe
fForehand groundstroke
bBackhand groundstroke
vVolley
cSlice
oOverhead (smash)
lLob
dDrop shot

4.2 Extra Directional Notations

When the ball is intercepted by a volleyer or the shot's intent is important to record, an additional character can follow the shot type encoding to indicate intended direction:

Code Direction Example
iDown the lineWbiB6 → Backhand down the line
xCross courtWbxB6 → Backhand cross court
mDown the middleWbmB6 → Backhand down the middle

4.3 Player Position Encoding

Player positions are recorded as tuples showing their court locations immediately before each shot:

Format Usage
(X, Y)Singles – positions of Player X and Player Y
(X, Y, Z, W)Doubles – positions of all four players

4.4 Point Ending Encoding

Each rally ends with a marker denoting the winner and outcome type:

Code Meaning Example
VWinner point
EForced error of opponent
UUnforced error of opponent
nError type – netYU(n) → Y loses with unforced net error
wError type – wideXE(w) → X wins by opponent's forced wide error
hError type – long (high)YU(h) → Y loses with unforced long error

5. Charting Tips