CPC A63B 24/0062 (2013.01) [A63B 2024/0065 (2013.01); A63B 2024/0068 (2013.01); A63B 2220/17 (2013.01); A63B 2220/62 (2013.01)] | 20 Claims |
1. A method for determining a current capability of a user, the method comprising:
accessing an exercise history for a user, the exercise history-comprising an exercise performed by the user and performance statistics of the user for the exercise, the performance statistics further comprising a capability of the user each time the user performed the exercise;
training, by a processor, a machine-learned model using the accessed exercise history for the user, the machine-learned model configured to produce a target weight to recommend to the user for the exercise based on performance statistics of the user;
partitioning, by the processor, the exercise history into a plurality of time periods;
for each time period, computing, by the processor, an aggregate capability of the user for the exercise based on the capabilities of the user in performing the exercise during the time period;
determining, by the processor, a moving average of the user's capability for the exercise based on the aggregate capabilities, wherein determining the moving average of the user's capability comprises:
assigning each aggregate capability a weight based on a recency of the time period corresponding to the aggregate capability;
determining the moving average of the user's capability based on each weighted aggregate capability; and
discounting the moving average of the user's capability where a threshold amount of time has passed since the user last performed the exercise;
determining a current capability of the user for the exercise based on the moving average of the user's capability;
applying, by the processor the machine-learning model to performance statistics of the user to determine a current target weight to recommend to the user for the exercise, wherein the performance statistics comprise at least the current capability of the user for the exercise; and
modifying, by the processor in real-time, a graphical user interface displayed by a client device of the user to display the current target weight in response to an input from the user requesting the target weight.
|