See also complementary vignettes on: General introduction to GGIR, Day segment analyses, GGIR parameters, Embedding external functions (pdf), and Reading ad-hoc csv file formats.

1 Considerations

The physical activity research field has used so called cut-points to segment accelerometer time series based on level of intensity. In this vignette we have compiled a list of published cut-points with instructions on how to use them with GGIR. Please note that GGIR refers to cut-points as thresholds, but we are referring to the same thing: A value or a set of values to help split levels of movement intensity. As newer cut-points are frequently published the list below may not be up to date. Please let us know if you are aware of any published cut-points that we missed!

1.1 Cut-points expressed in gravitational units (this vignette)

This vignette focuses on cut-points for metrics that attempt to quantify average acceleration per epoch in gravitational units. The strength of these metrics is that their values are not affected by sampling rate and epoch length improving comparability across studies.

1.2 Cut-points NOT expressed in gravitational units (not in this vignette)

However, GGIR also facilitates some metrics whose values are not expressed in gravitational units that were historically used. For example, the metric as described by Neishabouri (see GGIR argument do.neishabouricounts) which reflects the indicator of accumulated body movement over time, referred to as counts, calculated by the ActiLife software from the ActiGraph accelerometer brand. Cut-points for counts corresponding to the ActiGraph brand have been recurrently proposed in the literature, for example, see this systematic review with a stratification by age group. Note that cut-points for ActiGraph counts proposed before the introduction of multiday raw data collection are most likely hardware-based calculations which may not perfectly align with ActiGraph software-based (Actilife) calculations of counts that Neishabouri described. As a result, older cut-points may need to be used with caution.

The cut-points you find in the literature for ActiGraph counts cannot be applied to Neishabouri counts directly because both are epoch length specific. The cut-points from the literature need to be corrected by a conversion factor. The conversion factor is calculated as the epoch length in the new study (e.g. 5 seconds) divided by the epoch length in the original study (e.g. 60 seconds). Note that no correction for differences in sampling rate is needed because Neishabouri counts already account for this via down-sampling.

If we would want to use cut-point “100 counts per minute” from the literature on 5 second epoch data, the GGIR function call would look like this:

GGIR([...],
     mode = 1:5,
     windowsizes = c(5, 900, 3600),
     do.neishabouricounts = TRUE,
     acc.metric = "NeishabouriCount_y",
     threshold.in = 100 * (5/60),
     [...])

2 Relevant arguments to use cut-points in GGIR

The argument mvpathreshold is used in part 2 to quantify the time accumulated over a user-specified threshold over which the moderate-to-vigorous intensity is expected to occur. The mvpathreshold is applied over all the metrics extracted in part 1 with the arguments do.metric (e.g., do.enmo, do.mad, do.neishabouricounts).

In part 5, threshold.lig, threshold.mod, and threshold.vig are used to indicate the thresholds to separate inactivity from light, light from moderate, and moderate from vigorous, respectively.These thresholds are applied over the metric defined with acc.metric (default = “ENMO”). Here a summary table for the parameters definition to calculate some of the acceleration metrics that has been previously used for the calibration of cut-points and how to define them to be used in the physical activity intensity classification with cut-points.

Metric To derive metric Define metric for cut-points
ENMO do.enmo = TRUE acc.metric = "ENMO"
ENMOa do.enmoa = TRUE acc.metric = "ENMOa"
LFENMO do.lfenmo = TRUE acc.metric = "LFENMO"
MAD do.mad = TRUE acc.metric = "MAD"
Neishabouri
counts
do.neishabouricounts = TRUE acc.metric = "NeishabouriCount_x"
acc.metric = "NeishabouriCount_y"
acc.metric = "NeishabouriCount_z"
acc.metric = "NeishabouriCount_vm"

3 Summary of published cut-points

3.1 Cut-points for preschoolers

Cut-points Device
Attachment site
Age Relevant arguments thresholds
Roscoe 2017* GENEActiv
Non-dominant wrist
4-5 yr do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 61.8
Moderate: 100.4
Vigorous: N/A
Roscoe 2017* GENEActiv
Dominant wrist
4-5 yr do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 94.5
Moderate: 108.5
Vigorous: N/A

*These publications used acceleration metrics that sum their values per epoch rather than average them per epoch like GGIR does. So, to use their cut-point in GGIR, we provide a scaled version of the cut-points presented in the paper as: (CutPointFromPaper_in_gsecs/85.7) * 1000. Note that sample frequency of 87.5 as reported in the publication was incorrect and based on correspondence with authors we replaced this by 85.7.

3.2 Cut-points for children/adolescents

Cut-points Device
Attachment site
Age Relevant arguments thresholds
Phillips 2013* GENEA
Left wrist
8-14 yr do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 87.5
Moderate: 250
Vigorous: 750
Phillips 2013* GENEA
Right wrist
8-14 yr do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 75
Moderate: 275
Vigorous: 700
Phillips 2013* GENEA
Hip
8-14 yr do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 37.5
Moderate: 212.5
Vigorous: 637.5
Schaefer 2014* GENEActiv
Non-dominant wrist
6-11 yr do.bfen = TRUE
lb = 0.2
hb = 15
do.enmo = FALSE
acc.metric = "BFEN"
Light: 190
Moderate: 314
Vigorous: 998
Hildebrand 2014
Hildebrand 2016
ActiGraph
Non-dominant wrist
7-11 yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 35.6
Moderate: 201.4
Vigorous: 707.0
Hildebrand 2014
Hildebrand 2016
GENEActiv
Non-dominant wrist
7-11 yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 56.3
Moderate: 191.6
Vigorous: 695.8
Hildebrand 2014
Hildebrand 2016
ActiGraph
Hip
7-11 yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 63.3
Moderate: 142.6
Vigorous: 464.6
Hildebrand 2014
Hildebrand 2016
GENEActiv
Hip
7-11 yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 64.1
Moderate: 152.8
Vigorous: 514.3
Aittasalo 2015 ActiGraph
Hip
13-15 yr Default values
do.mad = TRUE
do.enmo = FALSE
acc.metric = "MAD"
Light: 26.9
Moderate: 332
Vigorous: 558.3
Aittasalo 2015 Hookie AM20
Hip
13-15 yr Default values
do.mad = TRUE
do.enmo = FALSE
acc.metric = "MAD"
Light: 28.7
Moderate: 338
Vigorous: 558.3

*These publications used acceleration metrics that sum their values per epoch rather than average them per epoch like GGIR does. So, to use their cut-point in GGIR, we provide a scaled version of the cut-points presented in the paper as: (CutPointFromPaper_in_gmins/(sampleRateFromPaper * EpochLengthInSecondsPaper)) * 1000 ** This publication used acceleration metrics that expressed their cut-points in g units. So, to use their cut-point in GGIR, we provide a cut-point multiplied by 1000.

3.3 Cut-points for adults

Cut-points Device
Attachment site
Age Relevant arguments thresholds
Esliger 2011* Left wrist 40-65 yr do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 45
Moderate: 134
Vigorous: 377
Esliger 2011* Right wrist 40-65 yr do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 80
Moderate: 92
Vigorous: 437
Esliger 2011* Waist 40-65 yr do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 16
Moderate: 46
Vigorous: 428
Hildebrand 2014
Hildebrand 2016
ActiGraph
Non-dominant wrist
21-61 yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 44.8
Moderate: 100.6
Vigorous: 428.8
Hildebrand 2014
Hildebrand 2016
GENEActiv
Non-dominant wrist
21-61 yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 45.8
Moderate: 93.2
Vigorous: 418.3
Hildebrand 2014
Hildebrand 2016
ActiGraph
Hip
21-61 yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 47.4
Moderate: 69.1
Vigorous: 258.7
Hildebrand 2014
Hildebrand 2016
GENEActiv
Hip
21-61 yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 46.9
Moderate: 68.7
Vigorous: 266.8
Vähä-Ypyä 2015 Hookie AM20
Hip
35 (SD=11) yr do.mad = TRUE
do.enmo = FALSE
acc.metric = "MAD"
Light: N/A
Moderate: 91
Vigorous: 414
Dillon 2016*,† GENEActiv
Non-dominant wrist
50-69 yr do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 105.6
Moderate: 174.2
Vigorous: 330
Dillon 2016*,† GENEActiv
Dominant wrist
50-69 yr do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 127.8
Moderate: 187.6
Vigorous: 396.4
Buchan 2023*,† activPAL
Right thigh
23 (SD=4) yr **Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 26.4
Moderate: N/A
Vigorous: N/A
Buchan 2023*,† activPAL
Right thigh
23 (SD=4) yr do.mad = TRUE
do.enmo = FALSE
acc.metric = "MAD"
Light: 30.1
Moderate: N/A
Vigorous: N/A

*These publications used acceleration metrics that sum their values per epoch rather than average them per epoch like GGIR does. So, to use their cut-point in GGIR, we provide a scaled version of the cut-points presented in the paper as: (CutPointFromPaper_in_gmins/(sampleRateFromPaper * EpochLengthInSecondsPaper)) * 1000 In this publication, there are cut-point based on data sampled at 30 Hz and 100 Hz. When scaling the cut-points as specified in (*), the resulting thresholds are virtually the same (the ones presented in this table).

3.4 Cut-points for older adults

Cut-points Device
Attachment site
Age Relevant arguments thresholds
Sanders 2019* GENEActiv
Non-dominant wrist
60-86 yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 20
Moderate: 32
Vigorous: N/A
Sanders 2019** GENEActiv
Non-dominant wrist
60-86 yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 57
Moderate: 104
Vigorous: N/A
Sanders 2019* ActiGraph
Hip
60-86 yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 6
Moderate: 19
Vigorous: N/A
Sanders 2019** ActiGraph
Hip
60-86 yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 15
Moderate: 69
Vigorous: N/A
Migueles 2021 ActiGraph
Non-dominant wrist
≥70 yr
(mean: 78.7 yr)
Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 18
Moderate: 60
Vigorous: N/A
Migueles 2021 ActiGraph
Dominant wrist
≥70 yr
(mean: 78.7 yr)
Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 22
Moderate: 64
Vigorous: N/A
Migueles 2021 ActiGraph
Hip
≥70 yr
(mean: 78.7 yr)
Default values
do.enmo = TRUE
acc.metric = "ENMO"
Light: 7
Moderate: 14
Vigorous: N/A
Bammann 2021 ActiGraph
Hip
62.9 (SD=3.6) yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Moderate: 94
Vigorous: 230
Bammann 2021 ActiGraph
Dominant Wrist
62.9 (SD=3.6) yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Moderate: 122
Vigorous: 234
Bammann 2021 ActiGraph
Non-dominant Wrist
62.9 (SD=3.6) yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Moderate: 100
Vigorous: 245
Bammann 2021 ActiGraph
Dominant Ankle
62.9 (SD=3.6) yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Moderate: 342
Bammann 2021 ActiGraph
Non-dominant Ankle
62.9 (SD=3.6) yr Default values
do.enmo = TRUE
acc.metric = "ENMO"
Moderate: 331
Fraysse 2020 GENEActiv
Non-dominant wrist
≥70 yr
(mean: 77 yr)
do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 42.5
Moderate: 98
Vigorous: N/A
Fraysse 2020 GENEActiv
Dominant wrist
≥70 yr
(mean: 77 yr)
do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 62.5
Moderate: 92.5
Vigorous: N/A
Dibben 2020 GENEActiv
Right wrist
70.7 (SD=14.1) yr do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 18.6
Moderate: 45.5
Vigorous: N/A
Dibben 2020 GENEActiv
Right wrist
70.7 (SD=14.1) yr do.mad = TRUE
do.enmo = FALSE
acc.metric = "MAD"
Light: 18.3
Moderate: 26.2
Vigorous: N/A
Dibben 2020 GENEActiv
Left wrist
70.7 (SD=14.1) yr do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 16.7
Moderate: 43.6
Vigorous: N/A
Dibben 2020 GENEActiv
Left wrist
70.7 (SD=14.1) yr do.mad = TRUE
do.enmo = FALSE
acc.metric = "MAD"
Light: 18.7
Moderate: 22.8
Vigorous: N/A
Dibben 2020 GENEActiv
Hip
70.7 (SD=14.1) yr do.enmoa = TRUE
do.enmo = FALSE
acc.metric = "ENMOa"
Light: 7.6
Moderate: 40.6
Vigorous: N/A
Dibben 2020 GENEActiv
Hip
70.7 (SD=14.1) yr do.mad = TRUE
do.enmo = FALSE
acc.metric = "MAD"
Light: 1
Moderate: 2.4
Vigorous: N/A

*Cut-points derived from applying the Youden index on ROC curves.
** Cut-points derived from increasing Sensitivity over Specificity for light and vice versa for moderate on ROC curves (see paper for more details).
These publications used acceleration metrics that sum their values per epoch rather than average them per epoch like GGIR does. So, to use their cut-point in GGIR, we provide a scaled version of the cut-points presented in the paper as: (CutPointFromPaper_in_gmins/(sampleRateFromPaper * EpochLengthInSecondsPaper)) * 1000 More cut-points excluding data on aided walking and washing up activities can be found in the publication.

4 Notes on cut-point validity

Sensor calibration

In all of the studies above, excluding Hildebrand et al. 2016, no effort was made to calibrate the acceleration sensors relative to gravitational acceleration prior to cut-point development. Theoretically this can be expected to cause a bias in the cut-point estimates proportional to the calibration error in each device, especially for cut-points based on acceleration metrics which rely on the assumption of accurate calibration such as metrics: ENMO, EN, ENMOa, and by that also metric SVMgs used by studies such as Esliger 2011, Phillips 2013, and Dibben 2020.

Idle sleep mode and ActiGraph

As discussed in the main package vignette, studies using the ActiGraph sensor often forget to clarify whether idle sleep mode was used and if so, how it was accounted for in the data processing.

How about all the criticism towards cut-point methods?

For a more elaborate reflection on the limitations of cut-points and a motivation why cut-points still have value in GGIR see: https://www.accelting.com/updates/why-does-ggir-facilitate-cut-points/