| Valuing actions | |
| ================ | |
| Once you've :doc:`collected the data </documentation/data/index>` and | |
| :doc:`converted it to the SPADL format </documentation/spadl/index>`, you can | |
| start valuing the contributions of soccer players. This document gives | |
| a general introduction to action-valuing frameworks and links to a detailed | |
| discussion of the three implemented frameworks. | |
| General idea | |
| ------------ | |
| When considering event stream data, a soccer match can be viewed as a sequence | |
| of :math:`n` consecutive on-the-ball actions :math:`\left[a_1, a_2, \ldots, a_n\right]` | |
| (e.g., [*pass*, *dribble*,..., *interception*]). Action-valuing frameworks aim | |
| to assign a numeric value to each of these individual actions that quantifies | |
| how much the action contributed towards winning the game. This value should | |
| reflect both the circumstances under which it was performed as well as its | |
| longer-term effects. This is illustrated in the figure below: | |
| .. image:: ../../actions_bra-bel.png | |
| :width: 600 | |
| :alt: a sequence of actions with action values | |
| :align: center | |
| However, rather than directly assigning values to actions, the existing | |
| approaches all start by assigning values to game states. To illustrate the | |
| underlying intuition, consider the pass below: | |
| .. image:: action.gif | |
| :alt: example action | |
| :align: center | |
| | | |
| The effect of the pass was to change the game state: | |
| .. image:: action_changes_gamestate.png | |
| :alt: example action changes gamestate | |
| :align: center | |
| | | |
| The figure on the left shows the game in state :math:`S_{i−1} | |
| = \{a_1,\dots,a_{i−1}\}`, right before Benzema passes to Valverde and the one | |
| on the right shows the game in state :math:`S_i = \{a_1, \ldots, a_{i−1}, | |
| a_i\}` just after Valverde successfully controlled the pass. | |
| Consequently, a natural way to assess the usefulness of an action is to assign | |
| a value to each game state. Then an action’s usefulness is simply the | |
| difference between the post-action game state :math:`S_i` and pre-action game | |
| state :math:`S_{i-1}`. This can be expressed as: | |
| .. math:: | |
| U(a_i) = V(S_i) - V(S_{i-1}), | |
| where :math:`V` captures the value of a particular game state. | |
| The differences between different action-valuing frameworks arise in terms of | |
| (1) how they represent a game state :math:`S_i`, that is, define features such | |
| as the ball's location or score difference that capture relevant aspects of | |
| the game at a specific point in time; and (2) assign a value :math:`V` to | |
| a specific game state. | |
| Implemented frameworks | |
| ---------------------- | |
| The socceraction package implements three frameworks to assess the impact of the | |
| individual actions performed by soccer players: Expected Threat (xT), VAEP and | |
| Atomic-VAEP. | |
| .. toctree:: | |
| xT | |
| vaep | |
| atomic_vaep | |