Badminton tracker BTracker

I want to tell you about my mobile application BTracker

It all started when my daughter started playing sports badminton. After participating in several All-Russian competitions, in which she mostly lost, I had several questions:

  • in what components of the game does she lose and what should be paid attention to in future trainings

  • does she have progress in the game

  • accidentally or naturally, a match was won, in which the forces of the opponents are approximately equal.

In doubles games, an additional difficulty arises, how to assess the contribution of each team member (a team consists of two team members) and from the result of the team’s play to draw conclusions about the play of each team member.

It is clear that answers to these questions can be obtained by analyzing the matches played, and so the idea arose to develop an application for tracking game events in badminton: the user records game moments and the application shows detailed statistics and builds estimates that can be compared and drawn conclusions.

Then it’s a matter of technology: develop a mathematical model for events, develop an application architecture, and, in fact, make an application.

And here is the current result: BTracker

Leaving aside the technical details about the implementation for now, I want to talk about the mathematical model of events. I think this description should help users understand what is behind the numbers that the application gives out.

Mathematical model of events and data processing

First of all, I proceeded from the fact that when manually entering events, a person will have time to press one of no more than 3 buttons with one hand, since in badminton the pace of strikes can be very high. Each hit must correspond to one press of the button. But what should be the options for the strike? In badminton, there are several classifications of blow (by the type of trajectory and by the method of application and the force of the blow). On the one hand, there are many such options and, on the other hand, a person is unlikely to have time to consider and classify a blow to a complex classification system. Therefore, I ventured to introduce my own classification of strikes, according to the principle of “attacking VS defensive”. In this classification, it is obvious that a smash blow will be an attacking blow, and a kick back to the back line will be a defensive one. The user must classify all other blows as one of these two types, or select the “undefined blow” option. The serve (first hit) falls out of this classification a little, but it was decided to leave the classification for the serve for future versions.

The point is played ends with one of the following outcomes:

  • either the team allowed the shuttlecock to hit its field

  • either the team kicked out of the opponent’s field of play, out-of-bounds (from their own side of the net or from the opponent’s side)

  • or the team committed a foul (allowed touching the net, allowed the shuttle to touch the player’s body, made a double touch).

This outcome can also be recorded.

Further, it is obvious that the level of skill can be inferred from the frequency of unforced errors. Therefore, this value should also be recorded.

Accordingly, the tracking screen is as follows:

Various types of statistics can be read for the collected data. The following statistics were chosen for the main statistics:

  • Glasses in a row. In badminton, the advantage of one’s serve is a strong factor and the assessment of the number of points scored in succession without losing the serve characterizes the difference in the strength of the players. The median was chosen as an estimate of the mathematical expectation because at the beginning of the match, before the moment of “stationarity” in the game, there may be values ​​that are inherently outliers (not distributed like all other values).

  • Point difference on service change – the value of the difference in the score at the service changeover. If “points in succession” means “how much we gain”, then this value speaks to what value of the difference in points we usually come to. The median was chosen for the estimation of the value, for the same reason as for the “glasses in a row”.

  • Successful pitch and your successful reception. This is the frequency of the following event:

    • the serving team made a successful shot? No – result = failure, Yes – see below.

    • the receiving team has successfully fought off the shuttlecock? No – result = success, Yes – see below.

    • the serving team made the next hit (excluding the result of the hit)? Yes – result = success, No – result = failure.

This frequency characterizes the quality of the serve: a good serve is a serve that the opponent either cannot accept, or accepts it in such a way that the server can hit (whether it is successful or not in this case is not important, since the result of the hit depends heavily on the amount of risk put into the hit , which is no longer important for assessing the quality of the feed).

  • Winning your serve, winning someone else’s serve. Since the factor of its delivery is strong, it is necessary to compare the frequencies of wins with the same value of the factor of its delivery. The value characterizes how well the player uses his serve factor.

  • Winning with an attacking blow, winning after an opponent’s attack, an involuntary mistake. Characterize the level of skill.

And here are the other two screens with match statistics:

It is worth saying a few words about the method of data processing, obtaining estimates for comparison and the method of comparison. The values ​​of any statistics calculated for the 1st and 2nd teams (the command number is a parameter) and which are independent in construction (since different data are selected for the 1st and 2nd teams) will express the difference in the strengths of the teams. However, for statistically significant comparison of values, only parameter estimates for a known probability distribution are suitable. The distribution can be considered known only under the assumption that the empirical distribution converged to the known asymptotic distribution, as a rule, to the normal one. All values ​​of color indicators are calculated under this assumption as the value of Welch’s t-test (correction to Student’s test for the case of different variances).

The values ​​of the statistics “points in succession” and “difference when changing the serve” are always integer values. Therefore, the distribution of these values ​​can be considered normal only as a rough estimate. For frequency estimates, convergence to the normal distribution usually occurs very quickly and the applicability of the normal distribution should give the maximum achievable accuracy.


As a result, the application was created BTracker, which allows a statistically significant comparison of the strengths of two players (two teams):

  • by the number of points set in succession and the difference in points when changing the serve

  • by the quality of delivery

  • how well the player (team) takes advantage of his serve

  • how well the player (team) defends if the opposing (opposing team’s) serve advantage

  • how well the player (team) attacks

  • how well the player (team) is defending

  • the number of unforced errors as an indicator of the skill level of a player (team)

  • the difference in the number of errors “in the field”, as an indicator of the difference in the forces of the players (teams).

The application was developed by one individual :). And if this application turns out to be interesting for the badminton community (including other countries of the world), then there will be an opportunity to develop this application further. For example:

  • component-wise assess the progress / regression of the player

  • make version for iPhone and web

  • give advice for future workouts based on the available data

  • give advice on playing against an opponent with a given profile.

Good luck with badminton and more.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *