A computer-implemented method of analyzing repetitive motion of a user performing a gesture, wherein the gesture is associated with at least a movement performed by the user, comprising: accessing depth image data captured by means of a capture device and tracking the user performing the repetitive motion; analyzing the depth image data to determine a plurality of data points for different points in time for tracking a parameter associated with the repetitive motion over time, wherein the parameter is determined based on at least one from the group of: a depth based center of mass associated with the user; a depth based inertial tensor associated with the user; a position on a body model of the user; and a position on a silhouette of the user; forming a parameter signal of the parameter versus time based on the plurality of data points, wherein the parameter signal tracks the repetitive motion of the user performing the gesture; dividing the parameter signal into a plurality of repetitions of the repetitive motion tracked by the parameter signal by: computing the derivative of the parameter signal with respect to time to generate a derivative signal; and determining for each of the plurality of repetitions a bracket of the parameter signal that corresponds to a portion of the derivative signal which has a pattern, the pattern being that the derivative signal goes negative, then positive before returning to zero or close to zero, or that the derivative signal goes positive, then negative before returning to zero or close to zero; analyzing a first repetition of the plurality of repetitions in the parameter signal by fitting a curve to a bracket of the parameter signal that corresponds to the first repetition of the plurality of repetitions; determining differences between the fitted curve and the parameter signal; and evaluating the user's performance of the repetitive motion based on the determined differences between the fitted curve and the parameter signal. accessing depth image data captured by means of a capture device and tracking the user performing the repetitive motion; analyzing the depth image data to determine a plurality of data points for different points in time for tracking a parameter associated with the repetitive motion over time, wherein the parameter is determined based on at least one from the group of: a depth based center of mass associated with the user; a depth based inertial tensor associated with the user; a position on a body model of the user; and a position on a silhouette of the user; a depth based center of mass associated with the user; a depth based inertial tensor associated with the user; a position on a body model of the user; and a position on a silhouette of the user; forming a parameter signal of the parameter versus time based on the plurality of data points, wherein the parameter signal tracks the repetitive motion of the user performing the gesture; dividing the parameter signal into a plurality of repetitions of the repetitive motion tracked by the parameter signal by: computing the derivative of the parameter signal with respect to time to generate a derivative signal; and determining for each of the plurality of repetitions a bracket of the parameter signal that corresponds to a portion of the derivative signal which has a pattern, the pattern being that the derivative signal goes negative, then positive before returning to zero or close to zero, or that the derivative signal goes positive, then negative before returning to zero or close to zero; computing the derivative of the parameter signal with respect to time to generate a derivative signal; and determining for each of the plurality of repetitions a bracket of the parameter signal that corresponds to a portion of the derivative signal which has a pattern, the pattern being that the derivative signal goes negative, then positive before returning to zero or close to zero, or that the derivative signal goes positive, then negative before returning to zero or close to zero; analyzing a first repetition of the plurality of repetitions in the parameter signal by fitting a curve to a bracket of the parameter signal that corresponds to the first repetition of the plurality of repetitions; determining differences between the fitted curve and the parameter signal; and evaluating the user's performance of the repetitive motion based on the determined differences between the fitted curve and the parameter signal.