A system to validate a stored segment, the stored segment consisting of GPS data, comprising: one or more processors configured to: determine that the stored segment meets a validation criterion; and validate the stored segment; wherein validating the stored segment includes the steps of: determining that a plurality of efforts (704, 706, 708, 710) match the stored segment, wherein the plurality of efforts (704, 706, 708, 710) is associated with respective ones of a plurality of instances of athletic activities, an effort comprising a recorded series of GPS data with timestamps; selecting an effort from the plurality of efforts (704, 706, 708, 710); and identifying the subset of GPS data points associated with the plurality of efforts_(704, 706, 708, 710) within each circular area (904, 1104) centered on each of the GPS points associated with the selected effort; and determining a centroid based on the identified portion of the sets of GPS data; and generating a validated segment based on the determined centroids; one or more memories coupled to the one or more processors and configured to store the validated segment. one or more processors configured to: determine that the stored segment meets a validation criterion; and validate the stored segment; wherein validating the stored segment includes the steps of: determining that a plurality of efforts (704, 706, 708, 710) match the stored segment, wherein the plurality of efforts (704, 706, 708, 710) is associated with respective ones of a plurality of instances of athletic activities, an effort comprising a recorded series of GPS data with timestamps; selecting an effort from the plurality of efforts (704, 706, 708, 710); and identifying the subset of GPS data points associated with the plurality of efforts_(704, 706, 708, 710) within each circular area (904, 1104) centered on each of the GPS points associated with the selected effort; and determining a centroid based on the identified portion of the sets of GPS data; and generating a validated segment based on the determined centroids; determine that the stored segment meets a validation criterion; and validate the stored segment; wherein validating the stored segment includes the steps of: determining that a plurality of efforts (704, 706, 708, 710) match the stored segment, wherein the plurality of efforts (704, 706, 708, 710) is associated with respective ones of a plurality of instances of athletic activities, an effort comprising a recorded series of GPS data with timestamps; selecting an effort from the plurality of efforts (704, 706, 708, 710); and identifying the subset of GPS data points associated with the plurality of efforts_(704, 706, 708, 710) within each circular area (904, 1104) centered on each of the GPS points associated with the selected effort; and determining a centroid based on the identified portion of the sets of GPS data; and determining that a plurality of efforts (704, 706, 708, 710) match the stored segment, wherein the plurality of efforts (704, 706, 708, 710) is associated with respective ones of a plurality of instances of athletic activities, an effort comprising a recorded series of GPS data with timestamps; selecting an effort from the plurality of efforts (704, 706, 708, 710); and identifying the subset of GPS data points associated with the plurality of efforts_(704, 706, 708, 710) within each circular area (904, 1104) centered on each of the GPS points associated with the selected effort; and determining a centroid based on the identified portion of the sets of GPS data; and generating a validated segment based on the determined centroids; one or more memories coupled to the one or more processors and configured to store the validated segment.