# US 12,109,454 B2 · Determining a user's current exercise capability

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,109,454 B2
- Document ID: US12109454B2
- Status: Granted
- Kind: B2
- Application number: 17/233,254
- Filed: 2021-04-16
- Published: 2022-10-20
- Granted: 2024-10-08
- Earliest claimed: 2021-04-16
- Assignees: Fitbod, Inc.
- Applicants: Fitbod, Inc.
- Inventors: Allen Chen; Jess Venticinque; Louis Gutierrez; Charles Edouard Gibbons; Jie Fang; Yihui Liu
- Web page: https://patentgrep.com/patent/US12109454B2

## CPC

- A63B 24/0062: {Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance}
- G16H 20/30: relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising
- G16H 40/63: for local operation
- G16H 40/67: for remote operation
- G16H 50/20: for computer-aided diagnosis, e.g. based on medical expert systems
- G16H 50/70: for mining of medical data, e.g. analysing previous cases of other patients
- A63B 2024/0065: {Evaluating the fitness, e.g. fitness level or fitness index}
- A63B 2024/0068: {Comparison to target or threshold, previous performance or not real time comparison to other individuals}
- A63B 2220/17: Counting, e.g. counting periodical movements, revolutions or cycles, or including further data processing to determine distances or speed
- A63B 2220/62: Time or time measurement used for time reference, time stamp, master time or clock signal
- A63B: APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT (apparatus for passive exercising, massage A61H)
- G16H: HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA

## Abstract

An exercise recommendation system determines a current capability of a user. The exercise recommendation system accesses an exercise history for a user. The exercise history comprises an exercise performed by the user and a capability of the user each time the user performed the exercise. The exercise recommendation system partitions the exercise history into a plurality of time periods, and, for each time period, computes an aggregate capability of the user for the exercise during the time period. The exercise recommendation system calculates a moving average capability of the user for the exercise based on the aggregate capabilities and determines a current capability of the user for the exercise based on the moving average capability. The current capability of the user may be discounted at least in part based on how recently the user performed the exercise.

## Claims

### Claim 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.

### Claim 2 (depends on 1)

The method of claim 1, wherein the exercise history further comprises, for each exercise in the exercise history, a number of sets performed by the user, a number of repetitions performed by the user for each set, and a weight used by the user.

### Claim 3 (depends on 1)

The method of claim 1, wherein the exercise history comprises information about exercises performed within a recent time period.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
responsive to determining that a threshold amount of time has passed since the user has exercised, decaying the current capability of the user.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
applying an exponential smoothing operation to the moving average of the user's capability.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
responsive to receiving, via an interface presented at a device associated with the user, a request for a current capability of the user for the exercise, modifying the interface to display the determined current capability.

### Claim 7 (depends on 1)

The method of claim 1, wherein the capability is a maximum amount of weight that the user can use to do for one repetition of the exercise.

### Claim 8 (depends on 1)

The method of claim 1, wherein the capability is a maximum number of repetitions the user can do of the exercise in a single set.

### Claim 9

A non-transitory computer-readable storage medium comprising instructions executable by a processor, the instructions comprising:
instructions for 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;
instructions for 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;
instructions for partitioning, by the processor, the exercise history into a plurality of time periods;
instructions for, 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;
instructions for 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;
instructions for determining a current capability of the user for the exercise based on the moving average of the user's capability;
instructions for 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
instructions for 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.

### Claim 10 (depends on 9)

The non-transitory computer-readable storage medium of claim 9, wherein the exercise history further comprises, for each exercise in the exercise history, a number of sets performed by the user, a number of repetitions performed by the user for each set, and a weight used by the user.

### Claim 11 (depends on 9)

The non-transitory computer-readable storage medium of claim 9, wherein the exercise history comprises information about exercises performed within a recent time period.

### Claim 12 (depends on 9)

The non-transitory computer-readable storage medium of claim 9, the instructions further comprising:
responsive to determining that a threshold amount of time has passed since the user has exercised, instructions for decaying the current capability of the user.

### Claim 13 (depends on 9)

The non-transitory computer-readable storage medium of claim 9, the instructions further comprising:
instructions for applying an exponential smoothing operation to the moving average of the user's capability.

### Claim 14 (depends on 9)

The non-transitory computer-readable storage medium of claim 9, the instructions further comprising:
responsive to receiving, via an interface presented at a device associated with the user, a request for a current capability of the user for the exercise, instructions for modifying the interface to display the determined current capability.

### Claim 15 (depends on 9)

The non-transitory computer-readable storage medium of claim 9, wherein the capability is a maximum amount of weight that the user can use for one repetition of the exercise.

### Claim 16 (depends on 9)

The non-transitory computer-readable storage medium of claim 9, wherein the capability is a maximum number of repetitions the user can do of the exercise in a single set.

### Claim 17

A computer system comprising:
a computer processor; and
a non-transitory computer-readable storage medium storing instructions that when executed by the computer processor perform actions 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 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.

### Claim 18 (depends on 17)

The computer system of claim 17, wherein the exercise history further comprises, for each exercise in the exercise history, a number of sets performed by the user, a number of repetitions performed by the user for each set, and a weight used by the user.

### Claim 19 (depends on 17)

The computer system of claim 17, wherein the exercise history comprises information about exercises performed within a recent time period.

### Claim 20 (depends on 17)

The computer system of claim 17, the actions further comprising:
responsive to determining that a threshold amount of time has passed since the user has exercised, decaying the current capability of the user.
