1. A method comprising: by one or more computing devices, receiving from a mobile device one or more sensor signals indicative of motion associated with activities of a user of the mobile device; by one or more computing devices, determining a plurality of activity types that correspond to a portion of the sensor signals; by one or more computing devices, determining one or more activity periods of the user, wherein each activity period comprises a period of time corresponding to one or more activity types, by: analyzing the sensor signals against each of the activity types; and calculating a probability of each of the activity types of the user based on the analysis; by one or more computing devices, determining whether two or more of the activity periods should be combined into a single activity period, wherein the determining is based on a heuristics-type analysis based on a length of time for each of the two or more activity periods and activity types corresponding to each of the two or more activity periods; and by one or more computing devices, sending the activity periods to the mobile device.