By PulsHealth. Updated
Real data exampleResearch reviewed . Figures use example Apple Health data.
Overview
Step count is the number of steps recorded over a period. Apple Health can receive steps from an iPhone, Apple Watch, other apps and manual entries. A useful view starts with daily totals, then checks the sources and intervals behind them. Apple explains how Health collects and prioritizes sources.
The examples below use example Apple Health data: a full reporting year, with a 92-day window for closer comparisons. They illustrate recording behavior, not population activity targets or clinical reference ranges.
How HealthKit stores steps
Steps are a cumulative quantity in units of count. One record contains a count over its start-to-end interval; one row is not one step, and its value is not necessarily a daily total. Apple's cumulative quantity documentation describes this representation.
In the 92-day case window, 22,823 records contained between 1 and 1,128 steps per interval. Record duration ranged from about 2.43 seconds to 10.02 minutes. Comparing counts without their durations mixes very different observations.
Why raw totals differ from Apple Health
Several sources can record the same period. Even within a source group, intervals and identical interval/count combinations can recur. Overlap is a reason to investigate, not sufficient evidence to delete a record: source revisions, interval boundaries and metadata also matter.
The figure shows actual stored intervals from one selected day, with anonymous labels for three source groups. Two watch groups had the same display name but different source identifiers. A display name alone would have hidden that distinction.
Adding every source's records therefore does not reproduce a source-merged HealthKit total. Use a suitable cumulative statistics query, and keep its function, source/device filter and boundaries alongside the result. Apple's statistics collection query defines interval buckets using an anchor date.
Several sources can cover the same time
Example user records on a selected day. Each bar is a cumulative step-count interval, not an individual step; source labels are anonymous.
View full-size figureHow this figure was made
Selected the middle day by record count among the 92-day focus window days with at least two source groups. All 110 records starting on that day are shown; widths use stored durations and hours since reporting-calendar midnight. Groups retain bundle and source name rather than merging identical display names. No overlap deduplication or count allocation.
What daily totals show
Before treating a bucket as a reporting day, check both boundaries in the intended timezone. A 23:00-to-23:00 interval is not midnight-to-midnight in that calendar, even when its label says “day.” Daylight-saving days can legitimately last 23 or 25 hours.
The full-year audit found 2,107 candidate daily step buckets: 1,055 matched both local midnight boundaries and 1,052 were shifted and excluded from this calendar comparison. That is a calendar compatibility check; excluded buckets remain evidence for another anchor or timezone.
| Example data measure | Observation in the 92-day window |
|---|---|
| Valid all-source daily buckets | 92 of 92 reporting days |
| Median all-source daily total | About 5,891 steps |
| Middle half of daily totals | About 4,607–8,481 steps |
| Lowest and highest daily totals | 2,106–14,715 steps |
| Valid watch-only / iPhone-only buckets | 72 days each; missing buckets are not zero |
The chart compares these validated daily series with the sum of raw records fully contained in each all-source bucket. That raw sum was a median 1.85 times the HealthKit total. This is a mismatch diagnostic, not a deduplication algorithm: boundary-crossing counts are not prorated, overlapping records remain, and device filters select different data. Some HealthKit totals were fractional despite integer raw counts; preserve returned precision and round only the display.
Daily HealthKit sums and raw sums answer different questions
The example 92-day window. All-source daily totals have 92 validated buckets; watch and iPhone have 72 each. Missing filtered buckets break the lines. The dashed line marks equal raw and HealthKit totals.
View full-size figureHow this figure was made
Keep only sum, one-day buckets whose actual start and end are consecutive America/Los_Angeles midnights, accepting 23/25-hour DST days. The full-year audit excludes 1,052 shifted buckets out of 2,107 candidates. The right panel uses 92 all-source valid focus buckets; raw sums include only records fully contained in each bucket, retaining overlaps and omitting crossing intervals rather than prorating counts. No reconstruction of Health source priority is claimed.
How cadence changes during workouts
Recording cadence and walking cadence answer different questions. Recording cadence describes how often records begin. Interval-average step rate is count divided by the whole interval's minutes; pauses and short intervals can make it a poor estimate of actual gait cadence.
Within one watch source group, fully contained records from 14 running workouts had a median duration and positive start-to-start gap of about 2.57 seconds. The 12,514 running records had a median interval-average rate of about 164 steps/minute. In 13 walking workouts from the same group, 48 fully contained records had a median duration of about 9.92 minutes. These different representations make row counts a misleading activity comparison.
Outliers stay in the research. A short interval can produce an unusually high arithmetic rate: the year's maximum was about 842 steps/minute. That number deserves interval/source review; it is not proof of someone walking at that cadence. Statistical flags identify unusual records without establishing measurement error.
What sleep overlap means
Only 52 step records in the case window overlapped an asleep-labelled interval; 51 were fully contained in a single asleep stage. Most belonged to one source group. Those counts cannot establish walking during sleep: detected movement, sleep classification and recording intervals all carry uncertainty. An interval touching sleep also does not locate its individual steps within that overlap.
Avoid turning sparse overnight records into a sleep-quality score. The analysis uses asleep categories, rather than including in-bed and awake records, and treats unmatched time as other or unknown.
Read steps alongside distance and energy
Walking/running distance helps explain a step total; active energy and workout type add context that steps alone miss. In this case, same-source daily step and walking/running-distance sums moved together across 92 matched days. The research retains overlaps in those raw diagnostic sums, so the relationship is descriptive rather than an independently validated distance estimate.
Running workout comparisons also showed positive associations with distance and active energy, while cycling comparisons did not show the same step–distance relationship. Steps are therefore an incomplete account of activity, especially for cycling and other activities whose effort is not well represented by footfalls.
Make comparisons that hold up
Compare like with like: the same calendar, query options and source selection across time. Review several days rather than interpreting one abrupt change in isolation, and check for a source revision or coverage change before attributing the pattern to behavior. A day containing records does not establish complete device wear, and absent data is different from a measured zero.
For an activity goal, personal circumstances matter. This page's observed ranges describe one recording history and do not define a healthy minimum, maximum or a diagnosis.
Understanding your records
Recording frequency, source and coverage affect what you can conclude from this data. Read the recording guide.
- One record
- A cumulative sample contains a number of steps over a time interval. One database row is not one step; interval lengths can vary substantially.
- Frequency
- Recording cadence varies with source and activity. In one researched case, running records from one watch group were much shorter than walking-workout records. Count divided by interval duration is an interval average, not directly observed gait cadence.
- Context
- Use interval overlap for screening, then inspect containment and source. Steps overlapping asleep intervals do not establish walking during sleep. Match workout type and compare like sources before interpreting cadence.
- Coverage and gaps
- A day with step samples is not proof that all movement was recorded. Missing rows, explicit empty aggregate buckets and measured zero totals have different meanings.
- Summaries
- Raw intervals from multiple sources may overlap. Use a suitable HealthKit statistics result for source-merged totals instead of naively summing raw records. Verify function, device filter, timezone and both bucket boundaries before comparing daily totals.
- Metadata
- Metadata is optional. Absence of metadata does not invalidate a step sample, and interval overlap alone is not enough to identify exact duplicate steps.
Recording guidance reviewed 2026-10-14