Как мы считаем калории
У Wolkup нет одной формулы «на все тренировки». Ходьба, бег, велосипед, ролики, шаги в помещении — у каждого вида своя физика, и я прохожусь по ним по очереди: сам катаюсь и бегаю с приложением, сравниваю то, что оно посчитало, с тем, что показывают часы, что говорят опубликованные уравнения и что чувствуется по факту, и подкручиваю формулы и параметры под конкретный вид. Это постоянная работа, а не разовая настройка на старте.
Последний такой проход был по калориям, и он получился самым содержательным. Расскажу, что нашёл — заодно это ответ на вопрос «почему у вас не так, как в Apple».
Началось с того, что я закрыл пробежку, экспортировал её в Apple Health и увидел там две записи об одной и той же тренировке. В одной 631 ккал, в другой 752. Вторая была наша.
Чтобы дальше не жонглировать абстрактными числами, вот эта тренировка целиком — все цифры в тексте относятся именно к ней:
| Вечерний бег на улице | 27 июля, 19:43–20:25 |
| Время | 42:04 |
| Дистанция | 5,12 км (наш GPS-трек) |
| Средний темп | 8:13 /км |
| Средний пульс | 164 уд/мин |
| Максимальный пульс | 179 уд/мин |
| Каденс | 154 шага/мин |
Обычная спокойная пробежка, без интервалов и без заметных горок. Дальше — что разные модели сказали про её расход.
Gross и active — не одно и то же
Пульсовая формула, которой мы считали (Keytel), выдаёт gross расход: всё, что тело сожгло за эти 42 минуты, включая то, что оно сожгло бы, просто лежа. Apple, как и любое фитнес-приложение, показывает active energy — только то, что сверх покоя. Расход покоя считается по моим весу, росту, возрасту и полу из профиля и для меня выходит около 1,3 ккал в минуту — то есть примерно 55 ккал из тех 752 были не «сожжено на пробежке», а «сожжено за 42 минуты жизни».
Это звучит как мелочь, но это ровно тот класс расхождений, который труднее всего заметить: число не выглядит сломанным. Оно выглядит просто чуть щедрым. Пульсовый расчёт прожил в таком виде около месяца — и всё это время добавлял в Health, а заодно и в кольцо активности, лишние проценты: поле, в которое мы писали, означает именно активную энергию, а приходил в него gross.
Починили: вычитаем расход покоя (Mifflin-St Jeor, по весу, росту, возрасту и полу), и теперь в Health уходит два числа вместо одного — активная энергия и отдельно энергия покоя. Так «Общие килокалории» в Fitness наконец означают то, что написано, а не копию активных.
А потом я сравнил наши собственные две модели
Вот это оказалось важнее. У нас их две: если на тебе часы, расход считается по пульсу; если нет — по дистанции. И на одной и той же тренировке они расходились в 1,7 раза.
То есть один и тот же человек, пробежав одинаково, видел принципиально разное число — в зависимости от того, надел ли он часы. Причём модель «без часов» видит большинство пользователей: часы есть у меньшинства.
Расхождение с Apple на этом фоне перестало меня волновать. Apple — чужое приложение, с ним можно и не совпадать. А вот когда приложение противоречит само себе, доверять ему не за что.
Что мы взяли за основу: физику
Энергия, нужная чтобы переместить массу на дистанцию, ограничена механикой. Высокий пульс не создаёт метров. Поэтому основой стал расчёт по работе, а не по пульсу — и для каждого вида тренировки этот расчёт свой, потому что физика у них разная.
Для ходьбы и бега я взял уравнения Американской коллегии спортивной медицины (ACSM) — те самые, по которым считают расход в спортивной медицине и в кардиотренажёрах в залах. Они простые: расход зависит от скорости, от массы и отдельно от того, в горку ты бежишь или по плоскому.
Тут меня ждал приятный сюрприз. Если раскрыть эти уравнения на всю дистанцию, получается почти ровно то, что у нас и так стояло: около 1 ккал на килограмм веса на километр бега. То есть расчёт, который я шёл переделывать, был почти прав — цена километра действительно почти не зависит от того, быстро ты его пробежал или медленно.
Не хватало ему другого, и вот это важно: он не учитывал подъёмы вообще. Прогулка 5 км по плоскому и та же 5 км с восемьюдесятью метрами набора высоты давали одинаковый расход. Теперь подъём считается отдельно и добавляет заметно — поднимать собственный вес дорого.
На той пробежке из таблицы выше уравнения ACSM дают около 450 ккал активного расхода. Против 752, которые показывали мы, и 631 у Apple.
Для велосипеда и роликов пришлось поступить иначе, и здесь изменение самое резкое. «Столько-то калорий на километр» на колёсах — бессмысленная величина: сопротивление воздуха растёт как куб скорости, поэтому 20 и 30 км/ч стоят совершенно разного. Теперь мы считаем мощность (сопротивление катанию, аэродинамика, подъём, масса) и переводим работу в калории через КПД. Практическая разница: 20 км за час раньше давали столько же, сколько 20 км за 40 минут. Теперь — примерно вдвое меньше, и это честно: 20 км/ч — это в среднем около 70 ватт, то есть очень спокойная покатушка.
Тогда зачем вообще пульс
Он остался, но сменил роль: теперь пульс не считает расход, а корректирует его в пределах ±20%.
Логика такая. Пульс — единственное, что знает про жару, ветер, обезвоживание, усталость, рюкзак и песок под ногами. Всё это правда стоит дополнительной энергии, и механика её не видит. Но в литературе эта надбавка — 5-15%, а не 55%, которые получались из сырой формулы. Плюс у пульса есть две системные ошибки, которые никакой коэффициент не лечит: примерно с 150 уд/мин формула начинает завышать, а сам пульс на длинной работе уползает вверх на 5-10 ударов при неизменной нагрузке — просто потому что организм греется и теряет воду.
Так что механика — якорь, пульс — поправка. Тяжёлый день по пульсу поднимет число, легкий опустит, но ни то ни другое не уедет в полтора раза.
Вот как это сходится на той самой пробежке:
| Оценка | Активные ккал |
|---|---|
| Наш старый расчёт по дистанции | ~395 |
| Уравнения ACSM (теперь основа) | ~450 |
| Что покажет приложение сейчас | ~540 |
| Apple | 631 |
| Наш старый расчёт по пульсу | 752 |
Пульс на этой тренировке был высоким для такого темпа, поэтому поправка ушла в свой максимум: 450 плюс 20% — это 540. Не 752, но и не сухая механика: жара в тот вечер и правда стоила дополнительной работы, просто не полутора раз.
Почему мы не подгоняем числа под Apple
Здесь важно не перепутать две разные вещи. Пульс Apple Watch измеряет отлично — в исследованиях ошибка около 5%, и именно поэтому мы берём пульс с часов и доверяем ему. А вот калории — самая слабая из их метрик: метаанализ 2025 года по 56 работам даёт для оценки расхода Apple Watch среднюю ошибку порядка 28%, и ни в одном исследовании она не опускалась ниже 20% хотя бы в одном режиме. Причём ошибается в сторону завышения.
Так что цифра Apple — не эталон, к которому надо стремиться. Это ещё одна оценка, сделанная по пульсу с запястья, и та самая, которая на моём забеге дала на 40% больше, чем табличная физиология для такого темпа.
Для нашего основного случая — ходьба, бег, велосипед, где известны дистанция, время и уклон — физика ограничивает ответ куда жёстче, чем оптический пульс: цена километра бега известна с разбросом порядка ±10-15% между людьми. А на велосипеде преимущество совсем очевидное: запястье физически не видит мощность, а мы её считаем.
Я не буду заявлять, что наши числа точнее: на группе людей мы это не проверяли, пока у нас только рассуждение, а не замеры. Но у Apple есть настоящее преимущество, и оно не в физике: их модель персонализирована под конкретное запястье и покрывает то, где внешней работы вообще не измерить — силовые, HIIT, тренажёры. Там у пульса альтернативы нет, и там мы пока слабее. Наша пульсовая формула тоже ещё не учитывает тренированность — это следующий шаг.
Что касается самих чисел: у нас теперь часто меньше, чем у Apple, и почти всегда меньше, чем было у нас месяц назад. Понимаю, что это не то, что человек хочет видеть в фитнес-приложении. Но завышенная цифра — это не подарок, а испорченный инструмент: по ней нельзя планировать питание и нельзя сравнивать две свои тренировки между собой.
Что это значит для тебя
Прогулки почти не изменились. Бег на плоском не изменился, с горками — вырос. Велосипед и ролики ощутимо снизились, особенно на спокойной скорости. Прошлые тренировки мы не пересчитывали: переписывать историю задним числом мне кажется хуже, чем оставить в ней заметный шов.
И то, что я обещаю не делать: показывать четыре числа сразу. В приложении калории — одно число. Если оно вызывает вопросы — вот этот текст и есть ответ.
Что дальше в этой работе
Пульсовая формула пока не знает, насколько человек тренирован. А это важно: два человека с пульсом 164 сжигают разное. У тренированного сердца больше объём одного удара, поэтому при тех же 164 ударах через него проходит больше крови и кислорода — и расход выше. Оценить тренированность можно по пульсу покоя, а его мы и так забираем из Health, так что это следующее, что мы добавим.
Расчёт для велосипеда пока исходит из того, что ты сидишь как на шоссейнике — низко и узко. На городском прямом велосипеде сопротивление воздуха больше, а значит там мы занижаем; нужна настройка типа велосипеда. И как у любой модели такого рода, точность для конкретного человека — ±10-20%; ни у кого в этой области она не лучше, включая тех, у кого на коробке написано иначе.
Поэтому к каждой тренировке мы записываем обе исходные оценки — механическую и пульсовую — отдельно от итоговой. Это даёт возможность проверять формулы на реальных данных, а не на рассуждениях, и разбирать не «у вас неправильные калории», а конкретную тренировку с конкретными числами. Следующие проходы по видам тренировок будут опираться уже на это.
Источник по точности Apple Watch: The accuracy of Apple Watch measurements: a living systematic review and meta-analysis, npj Digital Medicine, 2025.