Email Us

Point Data Science Overview

Behind the scenes, Point is always listening for new wearables health data, and continually deriving new health metrics, health score updates, personalized health insights, and workout recommendations.

For a complete compatibility chart of the wearable devices and health metrics Point integrates with, see this page.

Glossary of Terms

  1. Raw health samples
    • New data collected directly from the users’ wearables devices, which are in the device manufacturers’ proprietary data formats
  2. Point health metrics & Point workouts
    • Derived from the raw health samples, Point health metrics are in a normalized, consistent data format across all devices - and cover more metrics than any specific device - and are in a more readily-available form for analysis and insight generation
  3. Point health insights
    • Derived from Point health metrics and workouts, these personalized health insights help guide the user towards making better lifestyle and exercise decisions to improve their Point health scores
  4. Point workout recommendations
    • Derived from Point workouts, these weekly workout recommendations provide the user with suggestions for next week’s workout routine
  5. Point health scores
    • Derived from Point health metrics, and based on the user’s fitness goals, these scores between 0-100 quantify the user’s weekly progress in improving their health, by attribute (e.g. in Strength or Recovery), and overall

Raw Health Samples

Once Point has been granted permissions to access the end-user’s health data from their wearable devices, the Point listeners begin tracking updates in the user’s health data in Apple Health, Oura Cloud, and other data sources for wearables data.

A health sample is a raw data point or series of data points representing an update to the user’s health data.

Each health sample is of a specific sample type - for example AppleHealth.restingHeartRate , AppleWatch.stepCount, or Oura.sleep - in the proprietary data formats specific to each device.

For a complete listing of supported sample types (including a complete listing of the mappings between raw sample types and Point health metrics), see this table.

  • Some sample types are for a single data point measured at a specific time
    • e.g. the user’s most recent measurement of their HRV
  • Other sample types are daily time series taken each day
    • e.g. the user’s total sleep duration last night, or their resting heart rate last night
  • Still others are high-frequency time series data
    • e.g. the user’s heart rate time series over the course of the last 24 hours, taken at 5m or intra-minute intervals

Here are some examples of health sample data:

  • AppleHealth.restingHR

        "startDate": "2022-02-26T06:05:00",
        "endDate": "2022-02-26T10:45:00",
        "sourceId": "",
        "sourceName": "My Apple Watch",
        "value": 58
        "startDate": "2022-02-27T05:00:00",
        "endDate": "2022-02-27T11:32:00",
        "sourceId": "",
        "sourceName": "My Apple Watch",
        "value": 55
        "startDate": "2022-02-28T07:05:00",
        "endDate": "2022-02-28T9:45:00",
        "sourceId": "",
        "sourceName": "My Apple Watch",
        "value": 54
  • AppleHealth.workout

        "activityId": 52,
        "activityName": "Walking",
        "calories": 1.6090531397057999,
        "device": "Watch5,1",
        "distance": 0.01928860473194773,
        "end": "2020-08-24T19:37:40.273-0300",
        "sourceId": "",
        "sourceName": "Lucas’s Apple Watch",
        "start": "2020-08-24T19:36:36.545-0300",
        "tracked": true
        "activityId": 59,
        "activityName": "CoreTraining",
        "calories": 44.53526530483691,
        "device": "Watch5,1",
        "distance": 0,
        "end": "2020-08-24T18:52:30.444-0300",
        "sourceId": "",
        "sourceName": "Lucas’s Apple Watch",
        "start": "2020-08-24T18:42:27.205-0300",
        "tracked": true
  • Oura.sleep

      "summary_date": "2022-01-05",
      "period_id": 0,
      "bedtime_start": "2022-01-06T02:13:19+02:00",
      "bedtime_end": "2022-01-06T08:12:19+02:00",
      "score": 70,
      "temperature_delta": -0.06,
      "rmssd_5min": [0, 0, 62, 0, 75, 52, 56, 56, 64, 57, 55, 78, 77, 83, 70, 35, 21, 25, 49, 44, 48, 48, 62, 69, 66, 64, 79, 59, 67, 66, 70, 63, 53, 57, 53, 57, 38, 26, 18, 24, 30, 35, 36, 46, 53, 59, 50, 50, 53, 53, 57, 52, 41, 37, 49, 47, 48, 35, 32, 34, 52, 57, 62, 57, 70, 81, 81, 65, 69, 72, 64, 0]

Notice that the health sample data format varies between devices, and different data is available depending on the device.

Point collects data across all the available data sources, and (where possible) normalizes the data into a consistent Point proprietary data format, so that health data can be used across devices.

Every time a new health sample arrives in any one of the tracked data sources, the Point listeners collect the new health sample and store it into the Point database for processing.

Point then begins to process this new health sample into a more convenient form for analysis, including any additional health metrics that can be derived from this new data.

Point Health Metrics & Point Workouts

When a new raw (unprocessed) health sample arrives in the Point database, the Point Health server processes the raw health sample into one or more Point health metrics (or zero, if no metrics are able to be processed).

For example:

  1. The single AppleHealth.restingHR input sample above would be processed into 3 RestingHR metrics in the Point database - one for 2/26, 2/27, and 2/28.

  2. The single Oura.sleep (sample above) would be processed into several derived sleep-related Point metrics for 1/5, like:

    • SleepDuration
    • SleepLatency
    • SleepTemperatureChange
  3. A new AppleHealth.workout or new Oura.workout sample would be processed into several derived workout-related metrics, like:

    • WorkoutCalories
    • WorkoutDuration
    • ExertionRate
    • WorkoutAvgHR

    And the processed workout event itself would also be stored in the Point database - the metrics are linked to the workout, so that we know which health metrics are associated with which workouts.

Every time Point processes a new health metric, it checks to see if it can generate new health scores, personalized health insights, and/or workout recommendations. If it is able to, it generates these derivations and stores them in the Point database for convenient access.

For a complete listing of available metrics, see this table.

If the user has multiple wearable devices, Point also normalizes and selects the canonical data source for each metric. For a complete compatibility chart between metrics, see this table.

Point Health Insights

Every time we collect a new health metric, the Point Health server checks to see if we can derive any new personalized health insights.

Currently, we have health science logic and machine learning models for insights like:

  • workout intensity insights
  • workout trends
  • HR Zone tips
  • alerts the user needs recovery
  • (and much more - see this table for a list of all currently supported insights)

Point Workout Recommendations

Each week (as midnight approaches on Sunday night in the user’s local time), the Point Health server analyzes the last 1 month of the user’s workouts, and recommends the optimal workout routine for the user for next week.

Currently, we use an optimization algorithm to find the best possible workout routine (in terms of total calories burned) from the user’s preferred types of workouts and their average time available to work out in a given week.

In the future, we’ll be building machine learning-based recommender systems to automatically suggest workout recommendations, and have plans to integrate with data sources of local workout classes, so that we can suggest specific workout classes and exercises to the user.

Point Health Scores

When giving Point permission to access their wearables health data, users may also set a goal, such as weightLoss or athleticPerformance.

Based on their goal, we use Point’s proprietary health scoring algorithm to give the user a score between 0 - 100 for their weekly progress in Strength , Recovery, and Endurance.

The Point health scoring algorithm is as follows:

  1. Look at the user’s metrics for this week

  2. Based on the user’s goal, rate each metric as Poor, Average, or Excellent

    • The user gets 0 points for Poor metrics, 0.5 points for Average, and 1 point for Excellent
    • For example,
      • If the user’s goal is athleticPerformance, we rate their average RestingHR for this week:
        • more than 80 bpm → Poor RestingHR (0 pts)
        • 61 - 80 bpm → Average RestingHR (0.5 pts)
        • less than 61 bpm → Excellent RestingHR (1 pt)
      • If the user’s goal is weightLoss, RestingHR is not taken into account for their Recovery score - instead, just their SleepDuration matters.
  3. Based on their goal, we weight the metric points differently, to arrive at weekly health attribute scores, for Strength, Endurance, and Recovery.

    • Note: we actually scale these raw 0-100 scores to give even users with Poor in every metric at least a score of 20, and scale it so that it gets successively harder to get 100 if they’re close to Excellent in every metric.
  4. Finally, depending on the goal, we weight the health attribute scores differently to arrive at a weekly overall health score.

    • If the user’s goal is weightLoss,
      • Strength is given a weight of 2
      • Endurance is given a weight of 1
      • Recovery is given a weight of 0.5
    • If the user’s goal is athleticPerformance,
      • Endurance is given a weight of 2
      • Strength is given a weight of 1
      • Recovery is given a weight of 0.5

Next Steps

Learn more about Point's Health Metrics.

Connect with Us

Terms & Conditions | Privacy Policy © 2023 Point® (Key Point Technologies, Inc.)