Wearables Data

Wearables data is now part of your Axon database. This page explains what's in there, where it comes from, and how to read it, so you can query it with confidence through Ask Axon or your own AI tools.

Biomarkers

Cleaned, standardised metrics: steps, sleep duration, resting heart rate and more.

Daily · some weekly

Health Scores

Composite measures of sleep, activity, readiness and wellbeing, each with a factor breakdown that explains the number.

Daily

Archetypes

Stable behavioural labels built from weeks of data, such as regular_sleeper or highly_active.

Weekly & monthly

General

Where does the data come from?

Athletes connect through the Axon Pulse app on their phone. Pulse reads from Apple Health (iOS) or Health Connect (Android), the health data stores built into each platform. Anything the athlete's phone or wearable writes into those stores flows through to your database.

The data is deduplicated across sources, so an athlete carrying a phone and wearing a watch doesn't double-count steps.

Which wearables are supported?

Any device that writes to Apple Health or Health Connect. That covers Apple Watch, Garmin, WHOOP, Oura, Samsung and most consumer wearables. There's no device-specific integration to set up; if the athlete's wearable syncs to their phone's health store, the data comes through.

What if an athlete doesn't wear a device?

Phone-only athletes still produce meaningful data. Steps, active hours, sleep timing, sleep duration, sleep regularity and sleep debt all work from the phone alone. The Activity and Mental Wellbeing scores are fully phone-based.

What a wearable adds is physiology: sleep stages (deep, REM, light), awakenings, heart rate, HRV and the other vitals. Where a metric needs a wearable, it's flagged in the tables below.

How is the data organised?

Four tables, all keyed to the athlete:

TableOne row perKey columns
Biomarkersathlete + metric + periodCATEGORY, TYPE, PERIODICITY (daily/weekly), AGGREGATION, VALUE, UNIT, START_DATETIME, END_DATETIME
HealthScoresathlete + score + dayTYPE (which score), STATE, SCORE (0–1), FACTORS (JSON breakdown), DATA_SOURCES, SCORE_DATETIME
HealthScores_Factorsathlete + score + factor + daySCORE_TYPE, FACTOR_NAME, FACTOR_VALUE, FACTOR_GOAL, FACTOR_SCORE (0–1), FACTOR_STATE, FACTOR_UNIT
Archetypesathlete + archetype + periodNAME, VALUE, DATA_TYPE (ordinal/categorical), ORDINALITY (0–3), PERIODICITY (weekly/monthly), window start/end

HealthScores carries the factor breakdown as JSON; HealthScores_Factors is the same information flattened to one row per factor, which is usually the easier shape to query ("show me every low factor for this athlete this week").

How current is the data?

Scores recalculate within about a minute of new data arriving. When an athlete first connects, the system also backfills roughly the previous 14 days, so you're not starting from an empty history.

Is this medical data?

No. These are wellness and behaviour measures, not clinical ones. They don't diagnose conditions and shouldn't replace medical assessment. Treat them as daily patterns that shape how an athlete feels, performs and recovers.

Why are some values missing?

Coverage depends on what the athlete's device provides. If a source doesn't supply a metric (for example sleep stages without a wearable), that row simply doesn't appear rather than being estimated.

Scores adjust around missing factors, but each score needs a minimum number of contributing factors; below that, the score itself isn't produced. Build queries and reports to handle gaps rather than assume complete coverage.

Percentages and scores look like decimals. Why?

Scores, factor sub-scores and percentage-type biomarkers (sleep efficiency, sleep regularity, oxygen saturation) are all stored as decimals between 0 and 1. A Sleep Score of 0.72 is 72 on the familiar 0–100 scale; oxygen saturation of 0.962 is 96.2%.

Biomarkers

What is a biomarker?

A biomarker is a cleaned, product-ready metric: the raw samples from the phone and wearable are deduplicated, standardised into consistent units, and aggregated into daily totals, averages or point-in-time values. It's the layer to use for dashboards, trends and analysis.

What activity biomarkers are available?

All daily totals:

TypeUnitNotes
stepscountDaily total
active_hourshourHours of the day with movement
active_energy_burnedkcalEnergy burned during activity (an estimate)
total_energy_burnedkcalActive plus resting energy (an estimate)
floors_climbedcountVertical movement
activity_low_intensity_durationminuteLight activity time
activity_medium_intensity_durationminuteModerate activity time
activity_high_intensity_durationminuteVigorous activity time
activity_sedentary_durationminuteTime sedentary
What sleep biomarkers are available?
TypeUnitPeriodicityWearableNotes
sleep_start_time / sleep_end_timedatetimedailyNoTiming of the main sleep episode
sleep_durationminutedailyNoMinutes asleep
sleep_in_bed_durationminutedailyNoTime in bed, including awake time
sleep_regularitypercentage (0–1)weeklyNoConsistency of sleep timing
sleep_debthourweeklyNoAccumulated shortfall vs need; clears over several nights, not one
sleep_interruptionscountdailyYesAwakenings detected
sleep_awake_durationminutedailyYesAwake time within the sleep window
sleep_light_duration / sleep_deep_duration / sleep_rem_durationminutedailyYesEstimated sleep stages
sleep_latencyminutedailyYesTime to fall asleep (typical adult range 10–20 min)
sleep_efficiencypercentage (0–1)dailyYesSleep duration divided by time in bed
What vitals are available?

All daily averages, all wearable-dependent:

TypeUnitNotes
heart_rate_restingbpmResting heart rate; deviations from baseline often precede illness or under-recovery
heart_rate_variability_sdnnmsHRV (SDNN method); reflects stress and recovery state
respiratory_ratecount/minuteBreaths per minute
oxygen_saturationpercentage (0–1)Blood oxygen (SpO₂)
vo2_maxmL/kg/minCardio fitness estimate from the device
How precise are the values?

Steps and durations are solid. Energy burned, sleep stages and VO₂ max are estimates from consumer devices; use them directionally, not as lab measurements. For decisions, look at 7 to 14 day baselines rather than reacting to a single day.

Health Scores

What are health scores?

Scores condense several related biomarkers into one measure for a dimension of health. Each score row carries a STATE band alongside the number:

StateRange (0–100 scale)
high80–100
medium60–79
low40–59
minimal0–39

There are no hidden weights. Every score breaks down into independently scored factors, and each factor shows the measured value, a goal, a sub-score and its own state. The factor breakdown is the explanation.

Factor goals are set per athlete where it matters: resting heart rate and HRV goals, for example, come from the athlete's own baseline, not a population number.
Sleep Score

Sleep health across seven factors: sleep_duration, sleep_regularity, sleep_continuity, sleep_debt, circadian_alignment, physical_recovery (deep sleep) and mental_recovery (REM). Four are phone-based; continuity and the two recovery factors need a wearable.

Worth knowing: sleep regularity is one of the strongest predictors of sleep health, sometimes more impactful than duration itself.

Activity Score

Daily movement across six factors: steps, active_hours, extended_inactivity, active_calories, intense_activity_duration and floors_climbed. All six work from the phone alone.

The factor breakdown shows patterns raw totals hide, e.g. an athlete who hits their step count but sits for nine hours between sessions.

Readiness Score

Recovery and preparedness across eight factors in three domains: sleep recovery (sleep_duration, sleep_debt, physical_recovery, mental_recovery), activity strain (walking_strain_capacity, exercise_strain_capacity) and cardiovascular signals (resting_heart_rate, heart_rate_variability). Four factors are phone-based; the sleep-stage and cardiovascular factors need a wearable.

Everything is compared against the athlete's own rolling 30-day baseline, not population norms. The baseline becomes usable after about two weeks and well-tuned after a month.

RHR and HRV shifts often flag incomplete recovery, stress or oncoming illness a day or two before the athlete feels it.

Mental Wellbeing Score

Behavioural patterns linked to mental wellbeing: steps, active_hours, extended_inactivity, activity_regularity, sleep_regularity and circadian_alignment. All phone-based.

It doesn't measure mood and doesn't diagnose anything; it tracks routine consistency, which research links strongly to mental wellbeing. Treat it as a signal to check in, not a label.

Wellbeing Score

The broadest measure, spanning the activity factors and all seven sleep factors in one number.

Useful when you want one measure for how an athlete is doing overall, and the balance between training and rest.

How should I read the factors?

Query the factors table and start with the lowest-scoring factors on a given day; they're the drivers of the score. Each shows its value against its goal, so "Sleep Score is low" becomes "duration was 332 minutes against a 480-minute goal, and debt is at 10.3 hours". That's the level coaches can act on.

Archetypes

What are archetypes?

Archetypes turn weeks of data into stable, human-readable labels, refreshed weekly and monthly. Where scores move daily, archetypes smooth out one-off events (travel, a bad night, illness) and describe the athlete's underlying pattern.

Use them for grouping athletes and framing conversations, not day-to-day decisions.

What archetypes are available?
NameValues (low → high)Wearable
activity_levelsedentary → lightly_active → moderately_active → highly_activeNo
exercise_frequencyrare → occasional → regular → frequent_exerciserNo
sleep_durationvery_short → short → average → long_sleeperNo
sleep_qualitypoor → fair → good → optimal_sleep_qualityNo
sleep_regularityhighly_irregular → irregular → regular → highly_regular_sleeperNo
sleep_efficiencyhighly_inefficient → inefficient → efficient → highly_efficient_sleeperYes
sleep_patternconsistent/inconsistent × early/late sleeper (e.g. consistent_early_sleeper)No
bed_schedulevery_early → early → late → very_late_sleeperNo
wake_schedulevery_early → early → late → very_late_riserNo
mental_wellnesspoor → fair → good → optimal_mental_wellnessNo
overall_wellnesspoor → fair → good → optimal_wellnessNo

Most are ordinal: the values sit on a scale and each row carries an ORDINALITY number (0 lowest to 3 highest), so you can track movement up or down and aggregate across a squad. sleep_pattern is categorical (distinct groups, no ranking).

How would I use archetypes in practice?

Squad-level segmentation and flags: pull every athlete labelled irregular_sleeper or short_sleeper and you have a sleep-hygiene conversation list. Track whether an athlete's sleep_regularity ordinality moves up a band across a training block.

Because each label covers a week or month, it won't overreact to a single bad night the way a daily score can.

Next
Next

Ask Axon & AI