Floors climbed (sometimes shown as flights climbed) is the number of “floors” of elevation a user climbs over a day. It’s measured as a count. Higher values generally indicate more frequent stair climbing or uphill elevation gain — a practical signal of higher-intensity daily movement.
Key Takeaways
- What it measures: vertical movement (stairs/elevation) expressed as a floor/flight count.
- Why it matters: climbing elevation is typically more demanding than flat walking and can be a strong “everyday intensity” signal.
- How to use it: power stair challenges, intensity nudges, and “activity variety” features alongside steps.
- Best practice: interpret relative to the user’s baseline and context (workdays vs weekends, travel, accessibility).
Metric Spec
| Item | Value |
|---|---|
| Sahha field name | floors_climbed |
| What it represents | Total number of floors climbed throughout the day |
| Unit | Count (count) |
| Typical cadence | Daily (daily) |
| Aggregation | Total (total) |
| Data requirements | Dependent on source coverage; accuracy is often better with wearables that estimate elevation |
| Best used for | Daily activity summaries, intensity nudges, stair challenges, wellbeing/activity driver context |
What Does “Floors Climbed” Mean?
Most platforms estimate floors/flights climbed using changes in elevation, often with a barometer/altimeter plus motion signals.
A helpful rule-of-thumb used in consumer health platforms is that a “flight” corresponds to roughly ~3 meters (10 feet) of elevation gain (about one story of a building). The exact definition and detection can vary by device and platform, so it’s best treated as an estimated count rather than a literal building-floor measurement.
Why Floors Climbed Matters
Floors climbed is valuable because it captures a type of movement that steps can miss:
- Higher effort movement: stairs and uphill walking typically demand more cardiovascular and muscular effort than flat walking.
- Real-world intensity signal: users with similar step counts can have very different “effort” days depending on elevation.
- Behavior-friendly: it’s intuitive (“I took the stairs”) and pairs well with achievable goals.
Product takeaway: floors climbed is an excellent “bonus intensity” metric — it’s often a stronger indicator of challenging daily movement than steps alone.
How Sahha Represents Floors Climbed
Sahha provides floors climbed as an Activity biomarker:
Biomarker: floors_climbed
- Unit:
count - Periodicity:
daily - Aggregation:
total - Description: total number of floors climbed
Floors climbed also appears as a contributing factor in higher-level scores that use activity inputs, such as:
- Activity Score (alongside steps, active hours, and other activity factors)
- Wellbeing Score (as one of the activity factors)
Example biomarker object (shape may differ by endpoint/version, but conceptually):
{
"name": "floors_climbed",
"value": 12,
"unit": "count",
"periodicity": "daily",
"aggregation": "total"
}
How to Interpret Floors Climbed
Use these interpretation rules:
- Higher than baseline: more stair climbing or elevation gain than usual (often a “more intense day” signal).
- Lower than baseline: fewer elevation events than usual (may still be a great day if steps/exercise were high).
- Zero or missing: could mean “no stairs,” but it can also indicate device/source limitations.
Use baselines, not rigid targets
Floors climbed is heavily context-dependent:
- building access, commute patterns, occupation, and geography
- mobility constraints and accessibility needs
- weather and travel
A good default is baseline framing:
- “Compared to your usual…”
How to Use Floors Climbed in Your Product
1) Stair challenges and micro-goals
Low-friction experiences that work well:
- “Take the stairs once today”
- “Add +2 floors compared to yesterday”
- “Stairs streak” (reward consistency, not huge numbers)
2) Intensity-aware activity messaging
Use floors climbed to refine coaching or nudges:
- high steps + high floors → “great effort day”
- high steps + low floors → “solid movement, mostly flat”
- low steps + high floors → “short but intense day”
3) Activity variety and “everyday fitness” features
Floors climbed is a simple way to highlight variety:
- walking vs elevation days
- “city day” vs “outdoor day”
- commuting patterns
4) Better explanations for score movement
If a user’s Activity Score or Wellbeing Score shifts, floors climbed can be a clear driver:
- “Your steps were steady, but floors climbed increased — that’s part of why your activity factor improved.”
5) Use thoughtful UX for accessibility
Avoid framing floors climbed as mandatory. For many users, stairs aren’t feasible or safe. Consider:
- optional challenges
- alternative equivalents (e.g., brisk walking minutes)
- personalization based on user preferences
Implementation Suggestions for your Products
-
Request the right permissions
- Floors climbed typically maps to platform permissions like “flights climbed” (Apple Health) or “floors climbed” (Health Connect), depending on your integration strategy.
-
Design for coverage variability
- Some phones/devices may not provide reliable elevation detection.
- Treat missing values (
null) differently from true zeros where possible. - Provide graceful UI fallback (e.g., hide the tile, or show “Not available on this device”).
-
Trend it and compare to baseline
- A 7–14 day baseline is usually more informative than daily comparisons.
-
Use simple decision rules Examples:
- If
floors_climbedrises week-over-week → celebrate “more intensity in daily movement” - If steps are high but
floors_climbedis consistently zero → don’t push stair challenges; suggest alternative intensity options - If
floors_climbedis present but volatile → use weekly summaries rather than daily nudges
- If
FAQ
Are “floors climbed” and “flights climbed” the same thing?
In most consumer platforms, yes — they refer to the same concept: an estimated count of elevation gain events roughly equivalent to climbing building stories.
Does it count hills, or only stairs?
It can include both stairs and uphill elevation gain, depending on how the device estimates elevation and movement.
Why is my floors climbed value missing (null) or always zero?
Common reasons include device limitations (no reliable elevation estimation), user permissions not granted, or the chosen data source not providing floors climbed for that period. Build your experience to degrade gracefully.
Can elevators or escalators be counted?
Devices try to infer active climbing using motion + elevation signals, but misclassification can occur. Treat floors climbed as an estimate.
What’s a good goal for floors climbed?
There isn’t a universal target. Floors climbed is best used relative to the user’s baseline and context. Small increases (e.g., +1–3 floors/day) are often more sustainable than large goals.
Related Metrics
Floors climbed is strongest when combined with other activity signals:
- Steps (movement volume):
steps - Active Hours (movement frequency):
active_hours - Active Duration (time moving):
active_duration - Active Energy Burned (effort proxy):
active_energy_burned - Intensity breakdown (low/medium/high intensity durations)
Notes
This content is educational and designed for product personalization and engagement. It is not medical advice and should not be used to diagnose health conditions.
References
Sahha
-
Data Dictionary (Biomarkers:
floors_climbed)
https://docs.sahha.ai/docs/get-started/data-dictionary -
Wellbeing Score (factors include floors climbed; permissions mention flights/floors climbed)
https://docs.sahha.ai/docs/products/scores/wellbeing -
Activity Score (data requirements mention floors climbed)
https://docs.sahha.ai/docs/products/scores/activity -
Activity Score Scientific References (floors climbed)
https://docs.sahha.ai/docs/connect/sdk/app-store-submission/scientific-references/score-activity
Platforms
-
Apple Health community definition of “flight of stairs” (consumer-facing reference)
https://discussions.apple.com/thread/252584142 -
Android Health Connect: FloorsClimbedRecord
https://developer.android.com/reference/android/health/connect/datatypes/FloorsClimbedRecord