Method for predicting a user's performance at a sports event
The method accurately predicts sports performance by analyzing past training data and applying advanced models to account for user and event characteristics, enhancing prediction accuracy and enabling adaptive training plans.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- DECATHLON SA
- Filing Date
- 2025-10-16
- Publication Date
- 2026-04-30
AI Technical Summary
Existing algorithms for predicting sports performance are not accurate and reliable, especially when athletes deviate from their training plans.
A method and system that utilize data processing equipment to obtain and analyze past training data, calculate compliance scores, apply dimension reduction methods, and use performance prediction models to accurately predict user performance in sporting events, incorporating user and event characteristics.
Enables precise and reliable prediction of user performance, allowing for adaptive training plan updates based on actual training adherence, reducing prediction errors by 11% compared to traditional methods.
Smart Images

Figure FR2025050955_30042026_PF_FP_ABST
Abstract
Description
[0001] DESCRIPTION
[0002] TITLE: Method for predicting a user's performance in a sporting event
[0003] FIELD OF INVENTION
[0004] The present invention relates to the field of sports performance prediction, in particular the prediction of performance during a race.
[0005] STATE OF THE ART
[0006] To perform well in a sporting event, such as a marathon, an athlete must prepare thoroughly and avoid injuries. To achieve this, the athlete follows a tailored training plan.
[0007] The athlete wants to be able to estimate their future performance in the upcoming sporting event while developing their training plan. This performance depends on whether or not the athlete adheres to their training plan.
[0008] We know of algorithms for predicting sports performance, possibly based on a training plan, as proposed for example in patent no. US11684821.
[0009] However, these algorithms are not accurate and are not reliable, especially if the athlete does not follow the plan.
[0010] Therefore, there is currently no solution to accurately and reliably predict an athlete's performance based on their actual implementation of their training plan.
[0011] DESCRIPTION OF THE INVENTION
[0012] One aim of the invention is to accurately and reliably predict a user's performance in a sporting event.
[0013] Another objective of the invention is to allow for precise updating of a training plan, during the course of the training plan, based on the actual implementation of the training plan.
[0014] According to the first aspect, a method for predicting a user's performance in a sporting event is proposed, the method being implemented by data processing means of a piece of equipment and comprising the following steps:
[0015] - obtaining (a) data relating to at least one training session carried out from a training plan followed by the user in preparation for the sporting event, referred to as past data; - calculating (b), from the past data, at least one score, each score being assigned to a training session based on the user's compliance with said session; - determining (c) at least one variable relating to the at least one score;
[0016] - application (d) of a performance prediction model taking as input the variable and past data.
[0017] Depending on advantageous and non-limiting characteristics, taken alone or in any combination:
[0018] - Step (c) includes the steps of:
[0019] - obtaining (c1) a continuous function from at least one note;
[0020] - obtaining (c2) the variable by applying a dimension reduction method to the continuous function;
[0021] - step (c1) includes the aggregation of at least one note or the approximation of an integration of at least one note;
[0022] - at least one note is a numerical or categorical value;
[0023] - the model takes as input at least one characteristic relating to the user and at least one characteristic relating to the sporting event;
[0024] - The user-related characteristic is among the following group, which includes:
[0025] - a maximum aerobic speed;
[0026] - a heart rate;
[0027] - a past performance;
[0028] - the user's age;
[0029] - a user height; and
[0030] - a user weight;
[0031] - The characteristic relating to the sporting event is among the following group including:
[0032] - a distance to be covered;
[0033] - a date for the sporting event;
[0034] - a venue for the sporting event; and
[0035] - an altimetric profile of the sporting event; - the method includes a step (e) of obtaining a predicted performance for the sporting event, the performance being characterized by a duration of completion of the sporting event and / or an average speed of the user during the sporting event;
[0036] - past data includes at least one piece of information relating to a distance travelled associated with a piece of temporal information;
[0037] - the equipment is a user terminal, step (a) of the process comprising the acquisition, by the terminal, of past data;
[0038] - the process includes an application step (dO) of a predictive model for data relating to at least one future training session of the training plan, referred to as future data, said model taking past data as input,
[0039] and in which, at the application step (d), the performance prediction model further takes future data as input;
[0040] - the process includes a prior step (x) of learning, by means of data processing of a server, parameters of the performance prediction model from a training base comprising data relating to training sessions carried out from training plans followed by users for sporting events, the data being associated with observed performances.
[0041] According to a second aspect, a performance prediction system for a user in a sporting event is proposed, the system including data processing means configured to:
[0042] - obtain data relating to at least one training session carried out from a training plan followed by the user in preparation for the sporting event;
[0043] - calculate, from the data passed, at least one score, each score being assigned to a training session based on the user's compliance with said session;
[0044] - determine a variable related to at least one grade;
[0045] - apply a performance prediction model taking as input the variable and past data.
[0046] According to a third aspect, a computer program product is proposed, comprising code instructions for executing the previously described method of predicting a user's performance in a sporting event, when said program is executed on a computer. According to a fourth aspect, a computer-readable storage method is proposed on which a computer program product is stored, comprising code instructions for executing the previously described method of predicting a user's performance in a sporting event, when said program is executed on a computer.
[0047] DESCRIPTION OF THE FIGURES
[0048] Other features and advantages of the present invention will become apparent from the following description of a preferred embodiment. This description will be given with reference to the accompanying figures, including:
[0049] Figure 1 illustrates a user prediction device for a sporting event according to a first embodiment;
[0050] Figure 2 illustrates a user prediction device for a sporting event according to a second embodiment;
[0051] Figure 3 represents the steps of a user prediction process for a sporting event;
[0052] Figure 4 is a graph representing the evolution of speed as a function of time.
[0053] DETAILED DESCRIPTION OF THE INVENTION
[0054] Equipment
[0055] With reference to figures 1 and 2, a device 1 is proposed for predicting a user's performance in a sporting event.
[0056] A sporting event is understood to be a physical activity associated with a quantifiable performance, which may or may not involve competition.
[0057] The sporting event is advantageously defined by a distance to be covered.
[0058] The sporting event advantageously includes a running course (for example a 10 kilometer race, a half marathon, a marathon, a trail run).
[0059] The sporting event may, for example, include a course by bicycle, windsurfing, walking, swimming, running, horseback riding, skiing, or a combination of some or all of these (for example, a triathlon combines a running distance, a cycling distance, and a swimming distance). The distance to be covered may be simulated. For example, the sporting event may include stationary cycling or running on a treadmill. In this case, the user covers a simulated distance.
[0060] The user is advantageously a person wishing to achieve a sporting goal, i.e. a given level of performance.
[0061] Performance is typically characterized (particularly when the event is defined by a distance to be covered) by the time taken to complete the event and / or the user's average speed during the sporting event, or even a level of consistency. It should be understood that, alternatively, the sporting event could be defined by its duration and the performance characterized by the distance covered (for example, a race consisting of completing the most laps of a course in 24 hours). We will not be limited to any particular event or expression of performance.
[0062] Equipment 1 includes data processing means 10. Data processing means 10 are, for example, a processor.
[0063] Equipment 1 advantageously includes a memory 12.
[0064] With reference to Figure 1, equipment 1 is advantageously a user terminal. The terminal can be, for example, a mobile phone, preferably a smartphone, a smartwatch, an exercise bike, etc.
[0065] The terminal advantageously includes a spatial location module, for example a GPS (Global Positioning System) module.
[0066] The terminal may include a pedometer module that allows the number of steps taken by the user to be determined.
[0067] The terminal may include an accelerometer to calculate the speed of the user wearing the terminal.
[0068] The terminal advantageously includes an interface 14 (such as a screen, in particular a touch screen).
[0069] A mobile application can be implemented on the terminal, the application allowing the user to retrieve a training plan for a sporting event and allowing to predict his performance according to his execution of the training plan.
[0070] The application can control the terminal's data processing means 10 to implement the prediction process.
[0071] Alternatively, as illustrated in Figure 2, equipment 1 can be a server. The server is advantageously connected via a network R, for example the internet, to a user terminal 13. In one embodiment, an application installed on a user's terminal (which is not equipment 1 in this embodiment) can control the server's data processing means 10 to implement the prediction process.
[0072] The data processing means 10 are configured to obtain data relating to at least one training session carried out from a training plan followed by the user in preparation for the sporting event, referred to as past data.
[0073] For this purpose, equipment 1 can be configured to acquire this data itself or to receive it from another device, via a network for example.
[0074] The data processing means 10 are configured to calculate, from the past data, at least one score, each score being assigned to a training session based on the user's compliance with said session.
[0075] The data processing means 10 are configured to determine a variable related to at least one grade.
[0076] The data processing means 10 are configured to apply a performance prediction model taking as input the variable and past data.
[0077] Process
[0078] With reference to Figure 3, a method for predicting a user's performance in a sporting event is proposed. The method is implemented using the data processing means 10 of equipment 1.
[0079] The process advantageously includes a step a01) of obtaining at least one user-related feature. The user-related feature is advantageously from the following group comprising:
[0080] - a maximum aerobic speed (VAAÀ);
[0081] - a heart rate (MAX, MIN, REST);
[0082] - a past performance;
[0083] - the user's age;
[0084] - a user height; and
[0085] - a user weight.
[0086] This list of user-related characteristics is not exhaustive. A user-related characteristic can be any physiological characteristic of the user or a characteristic related to a past performance of the user.
[0087] The process advantageously includes a step a02) of obtaining at least one characteristic relating to the sporting event. The characteristic relating to the sporting event is advantageously from the following group comprising:
[0088] - a distance to be covered (or a duration of the event);
[0089] - a date for the sporting event; - a location for the sporting event, which may be associated with meteorological conditions (temperature, humidity, solar radiation) and / or environmental conditions (altitude, atmospheric pressure); and
[0090] - an altimetric profile of the sporting event, advantageously including the total positive elevation gain and the total negative elevation gain.
[0091] This list of characteristics related to the sporting event is not exhaustive. Characteristics relating to the user and the sporting event are useful for predicting the user's performance during the event.
[0092] The method advantageously includes a step (a03) of obtaining at least one characteristic related to a sporting objective of the user. The characteristic related to the sporting objective may simply be successfully covering the required distance, i.e., reaching the end of the event. The characteristic related to the sporting objective may be the user's average speed during the sporting event. The characteristic related to the sporting objective may be the duration of the sporting event.
[0093] The characteristics presented above remain in practice essentially the same within the framework of the same training plan and may vary from one training plan to another (and therefore from one sporting event to another).
[0094] These characteristics may have been entered by the user when they requested the creation of a training plan for the physical event. The characteristic related to the sporting objective may have been predicted based on the characteristics related to the user and the sporting event.
[0095] The process advantageously includes a step a04) of developing, by means of data processing 10, a training plan for the sporting event, based on characteristics relating to the user, the sporting event and / or the sporting objective.
[0096] A training plan includes a variety of training sessions.
[0097] Each session is advantageously associated with a target completion date.
[0098] Each session can be characterized by a distance to cover, a maximum speed, an average speed and / or a type (for example: interval training), etc.
[0099] Each session can be characterized by sequences of exercises, each sequence being characterized by a duration, one or more types of exercises, possibly a distance and / or a speed.
[0100] The training plan can be advantageously updated using data processing methods. To do this, it is useful to predict the user's performance based on their adherence to the training plan. Indeed, depending on the predicted performance, the training plan update can vary. The process includes step a) obtaining data relating to at least one training session completed from a training plan followed by the user in preparation for the sporting event. This data is called past data. Past data concerns training sessions already completed by the user.
[0101] Past data advantageously includes at least one piece of information relating to a distance travelled associated with a piece of temporal information.
[0102] In an advantageous embodiment, the past data includes a GPS track, that is, a collection of spatial locations (i.e., a collection of GPS coordinates) based on temporal information (i.e., a timestamp). A GPS track can be constructed using a GPS module on a user terminal that includes or is connected to the data processing means. The GPS track can be in various formats, for example, GPX (GPS Exchange Format), TCX (Training Center XML), or Fit.
[0103] Past data can include a collection of distance values traveled, each value associated with a timestamp. A stationary bike or treadmill / walking machine, for example, can provide this type of information.
[0104] A timestamp corresponds to information indicating a date and time.
[0105] Past data can include a collection of step count values, each associated with a timestamp. A smartwatch or smartphone, for example, can provide this type of information. This data can be converted, based on an average step length, into distance values, each associated with a timestamp.
[0106] Past data can include a collection of timestamps, each associated with a checkpoint. For example, past data can include timestamps, each associated with a lap number completed by an athlete.
[0107] In another embodiment, the past data includes at least one piece of information relating to a heart rate associated with temporal information. Advantageously, the past data includes a heart rate trace, that is, a collection of heart rate values (for example, a number of beats per minute) as a function of temporal information (i.e., a timestamp).
[0108] Advantageously, equipment 1 is a user terminal, and step a) of the process comprises the acquisition, by the terminal, of past data. For example, it is the user's smartphone that acquires a GPS track. The smartphone can be connected to a device, for example, a smartwatch, capable of measuring heart rate. The process then includes a step b) of calculating, from the past data, at least one score. Each score is assigned to a training session based on the user's adherence to that session. The score represents the similarity, or lack thereof, between the training session as performed by the user and the theoretical training session that the user was supposed to perform according to the training plan.
[0109] The calculation of a session's score is advantageously performed using past data for that session as well as expected theoretical data for that session. A correlation test between the past data and the theoretical data is then implemented.
[0110] The calculation may include preprocessing past data before comparing it to theoretical data.
[0111] For example, past data can be processed to represent a curve of the user's speed (in units such as m / s or km / h) as a function of time. An example of such a CP curve is shown in Figure 4. Theoretical data can represent an expected curve of speed as a function of time. An example of a theoretical CT curve is shown in Figure 4.
[0112] As a second example, past data can be processed to represent a curve of the evolution of the user's heart rate over time.
[0113] The comparison of past data and theoretical data can be implemented by comparing the two curves.
[0114] A score is assigned based on the similarity between past data and theoretical data.
[0115] The grade can be a numerical value relative to a total value. For example, the grade could be 3 / 5, where 3 is the grade given to the completed session and 5 is the maximum grade. A score of 5 would correspond to a session similar to the expected theoretical session.
[0116] The grade can be a categorical value. For example, the grade could be among the following categorical values: poor, average, good, and very good. Poor corresponds to a low similarity between the actual session and the theoretical session, and very good corresponds to a high similarity between the actual session and the theoretical session.
[0117] Step b) advantageously includes the calculation of a plurality of scores, each score being assigned to a different session of the training plan carried out by the user.
[0118] The process then includes a step c) of determining a variable relating to at least one grade.
[0119] Step c) advantageously includes a step c1) for obtaining a continuous function from at least one grade. In other words, the grades, which are discrete values, are converted into a continuous function. The continuous function thus represents the evolution of the grade(s) over time.
[0120] Advantageously, the continuous function defines grades as a function of time. For example, the continuous function can be denoted n(t) and define each grade n as a function of a time t corresponding to the moment during which the session associated with the grade takes place.
[0121] In one embodiment, the continuous function is obtained by aggregating at least one note. In other words, the at least one note is aggregated into a continuous function. The aggregation can, for example, consist of interpolation, connecting points (each point potentially representing a note at a given time) with segments, or smoothing (for example, in a function basis).
[0122] In another embodiment, to obtain a continuous function, the continuous function is obtained by approximating, from the grade(s) (which constitute a scatter plot), an integration (i.e., an integral function). This approximation can, for example, be performed by applying the rule of rectangles or trapezoids. The approximation of an integration of the grades represents a cumulative distribution of the grades over time. According to this embodiment, since the grades have positive values, the resulting continuous function is increasing by construction. The continuous function tends towards a linear function when the training plan is perfectly followed and increases less if the training plan is not followed. Note that one could also integrate, using classical methods, a continuous function obtained by aggregation.
[0123] Then, in step c2), at least one variable is obtained from the continuous function. Advantageously, this variable is obtained using a dimensionality reduction method. Preferably, this reduction method is a functional data analysis method such as functional principal component analysis (fPCA) or functional partial least squares (fLS). Such a method allows the continuous function to be "summarized," i.e., represented as one or more variables that can be used as input to a performance prediction model.
[0124] This allows us to obtain at least one variable related to the rating(s), which is very useful for accurately and reliably predicting user performance. Indeed, it has been calculated that performance prediction based on this variable alone yields a root mean square error (RMSE) 11% lower than the error when performance is predicted using a classic Riegel model.
[0125] We will see later that performance prediction is achieved using a predictive model, called the primary model. Advantageously, the process includes a step d0) of applying a model, called the secondary model, to predict data relating to at least one future training session of the training plan, called future data, based on past data. In other words, the secondary model aims to predict how the user will perform the remaining sessions of their training plan in light of the performance of the sessions already completed. To do this, the secondary model takes past data as input.
[0126] In one embodiment, the secondary model is an unsupervised learning neural network. Advantageously, the secondary model was trained using training plans performed by users. To this end, the secondary model advantageously associates each training plan used for training with a time axis ranging from 0% to 100%. 0% corresponds to the start of the training plan, and 100% corresponds to the date of the last training session before the sporting event. Therefore, each training session is associated with a percentage on a time axis based on when the training session is expected to be performed relative to the other training sessions in the same training plan. The secondary model thus learns, for example, to make links between the workouts belonging to the interval [0% - 30%] of the time axis of the training plan and the workouts belonging to the interval [30% - 100%] of the time axis of the training plan.Therefore, the secondary model learns to predict the performance of future training sessions based on past training sessions.
[0127] In another embodiment, the secondary model is a supervised learning neural network, for example, a model operating according to the k-nearest neighbors (KNN) method. The secondary model has advantageously been trained based on training plans created by users. For example, the portion of a training plan corresponding to [0% - 30%] of the time axis is an input, and the portion of the training plan corresponding to [30% - 100%] of the time axis is considered an output. The training data consists of pairs, each comprising two complementary portions along the time axis of a training plan.
[0128] The secondary model is capable of predicting future data, such as GPS tracks for each remaining session of the user's training plan, based on past data. Thus, the secondary model predicts (future) data for at least one training session based on (past) data for at least one training session. The secondary model enriches the data fed to the primary model, enabling the primary model to more reliably predict the user's performance in relation to the sessions already completed.
[0129] Thus, in a step dO), future data complementing past data are obtained.
[0130] Advantageously, the process includes a step d1) of preprocessing past data and / or predicted future data. This preprocessing allows the data to be summarized into a reduced number of values. The preprocessing advantageously includes the application of a functional multiple correspondence analysis (fMCA) algorithm.
[0131] Then, in step d), the performance prediction model, called the primary model, is applied to predict user performance. The primary model takes as input at least one variable and the past data.
[0132] Advantageously, the primary model also takes future data as input. This allows for more reliable predicted performance.
[0133] In one embodiment, there is no future data prediction step. Consequently, the primary model does not take future data as input. In this case, the process is less computationally intensive (no secondary model is required). In this embodiment, different intermediate primary models can be implemented, each specialized to predict performance based on past data corresponding to a specific interval on the training plan's time axis. For example, a first intermediate model could be specialized to predict performance based on past data corresponding to the [0% - 10%] interval of the training plan. A second intermediate model could be specialized to predict performance based on past data corresponding to the [0% - 20%] interval of the training plan, and so on.Therefore, we have several primary models. This implementation allows us to obtain a more reliable performance prediction from partial past data (i.e., corresponding to a partially completed training plan).
[0134] The primary model can also take as input data relating to the user and / or data relating to the sporting event.
[0135] The primary model can be a linear model.
[0136] The primary model can be another supervised learning neural network. The primary model predicts performance based on at least one variable related to a score and past data from at least one training session. Preferably, the method includes a step x) of training, using data processing means on a server, parameters of the primary model from a training dataset of training sessions performed from training plans followed by users for sporting events, the data being associated with observed performances. The server can be equipment 1 or another server.
[0137] In other words, the primary model learns to predict performance through training plans that have been followed by users and through final performances associated with those training plans.
[0138] The learning process is also based on variables calculated from scores derived from data relating to training plans followed by users. These variables can be stored in the training database or calculated on the fly from training data relating to training sessions, in the same way as in step c) of the process.
[0139] Step x) of learning the performance prediction model is advantageously implemented prior to the prediction process.
[0140] In step e), a predicted performance for said race is obtained using the primary model. Advantageously, the performance is characterized by a completion time for the sporting event and / or an average speed of the user during the sporting event.
[0141] Therefore, it may be possible to adapt the training plan in light of this predicted performance.
[0142] Product: computer program and readable storage media
[0143] Also proposed is a computer program product comprising code instructions for the execution (on the data processing means 10 of the equipment 1) of a method for predicting a user's performance for a sporting event.
[0144] Also proposed are storage means readable by computer equipment (for example, data storage means 12 of equipment 1) on which this computer program product is found.
Claims
DEMANDS 1. A method for predicting a user's performance in a sporting event, the method being implemented by data processing means (10) of a piece of equipment (1) and comprising the following steps: - obtaining (a) data relating to at least one training session carried out from a training plan followed by the user in preparation for the sporting event, referred to as past data; - calculation (b), from the past data, of at least one score, each score being assigned to a training session based on the user's compliance with said session; - determination (c) of at least one variable relating to at least one score; - application (d) of a performance prediction model taking as input the variable and past data.
2. A method according to claim 1, wherein step (c) comprises the steps of: - obtaining (c1) a continuous function from at least one note; - obtaining (c2) the variable by applying a dimension reduction method to the continuous function.
3. A method according to claim 2, wherein step (c1) comprises aggregating at least one note or approximating an integration of at least one note.
4. A method according to any one of claims 1 to 3, wherein at least one note is a numeric or categorical value.
5. A method according to any one of claims 1 to 4, wherein the model takes as input at least one feature relating to the user and at least one feature relating to the sporting event.
6. A method according to claim 5, wherein the user-related feature is among the following group comprising: - a maximum aerobic speed; - a heart rate; - a past performance; - the user's age; - a user height; and - a user weight.
7. A method according to any one of claims 5 and 6, wherein the feature relating to the sporting event is among the following group comprising: - a distance to be covered; - a date for the sporting event; - a venue for the sporting event; and - an altimetric profile of the sporting event.
8. A method according to any one of claims 1 to 7, comprising a step (e) of obtaining a predicted performance for the sporting event, the performance being characterized by a duration of completion of the sporting event and / or an average speed of the user during the sporting event.
9. A method according to any one of claims 1 to 8, wherein the data passed includes at least one piece of information relating to a distance traveled associated with a piece of time information.
10. A method according to any one of claims 1 to 9, wherein the equipment (1) is a user terminal, step (a) of the method comprising the acquisition, by the terminal, of past data.
11. A method according to any one of claims 1 to 10, wherein the method comprises an application step (dO) of a data prediction model for data relating to at least one future training session of the training plan, referred to as future data, said model taking as input the past data, and in which, at the application step (d), the performance prediction model further takes future data as input.
12. A method according to any one of claims 1 to 11, comprising a prior step (x) of learning, by means of data processing of a server, parameters of the performance prediction model from a training set comprising data relating to training sessions carried out from training plans followed by users for sporting events, the data being associated with observed performances.
13. Equipment (1) for predicting a user's performance in a sporting event, the equipment (1) comprising data processing means (10) configured to: - obtain data relating to at least one training session carried out from a training plan followed by the user in preparation for the sporting event; - calculate, from the data passed, at least one score, each score being assigned to a training session based on the user's compliance with said session; - determine a variable related to at least one grade; - apply a performance prediction model taking as input the variable and past data.
14. Product computer program comprising code instructions for the execution of a method according to any one of claims 1 to 12 of predicting a user's performance for a sporting event, when said program is executed on a computer.
15. Computer-readable storage means on which is stored a computer program product comprising code instructions for the execution of a method according to any one of claims 1 to 12 of predicting a user's performance for a sporting event, when said program is executed on a computer.
Citation Information
Patent Citations
Virtual athletic coach
US11684821B2
System and method for computing performance
US20080261776A1
Multi-sport biometric feedback device, system, and method for adaptive coaching with gym apparatus
US20170333755A1
Virtual athletic coach
US20210178226A1
Devices, systems, and methods for adaptive health monitoring using behavioral, psychological, and physiological changes of a body portion
US20240050032A1