Раньше итог недели стоял двумя строчками внутри ежедневного отчёта: баланс калорий
и изменение веса. Он показывался каждое утро, а менялся раз в неделю — и к седьмому
разу его переставали читать.
Теперь неделя приходит сама, по понедельникам, отдельным сообщением. И рассказывает
не только про баланс.
📅 Итоги недели: 15–21 сентября
📉 Вес: 82,0 → 81,0 кг (−1,0 за неделю)
⚖️ Баланс: −500 ккал в день — по 5 дн. из 7 с дневником
съедал 2 100 · тратил 2 600
🦶 Шаги: 9 500 в день — вся неделя
⏱ Минуты активности: 45 в день — вся неделя
🏋️ Занятия: 3 за неделю, 2 ч 30 мин
😴 Сон: 7,0 ч в среднем — 5 ночей из 7
🥩 Белок: 120 г в день — 5 дн. из 7
Почему неделя, а не день. Расход за сутки — величина расчётная, и она
заметно гуляет: «вчера 2 800, сегодня 2 400» чаще всего означает не изменение
образа жизни, а обычный разброс. За семь дней разброс среднего падает втрое.
Ровно поэтому недельные числа можно сравнивать между собой, а суточные — нет.
И на неделе появляются вопросы, на которые день не отвечает. Сколько тренировок
было на самом деле — не «занимаюсь регулярно», а число. Сколько ночей вообще
записался сон. Каким был рацион, а не один вторник.
Сколько дней стоит за каждым числом. У каждой строки написано, на скольких
сутках она держится: «вся неделя» или «5 ночей из 7». Это не мелкий шрифт, а часть
самого числа: средний сон по двум ночам и средний сон по семи — разные утверждения,
и выглядеть одинаково они не должны.
Расход показан один раз — рядом со съеденным. Считать еду за пять дней
против расхода за семь нельзя: получится дефицит, которого не было. Поэтому обе
величины берутся по одним и тем же суткам — тем, где вёлся дневник.
Тренеру приходит такая же сводка на каждого активного клиента, с именем в шапке,
в его час и в его часовом поясе — те же настройки, что у ежедневного отчёта.
Если величины не было хотя бы три дня из семи, строки не будет
вовсе — вместо неё не появится ноль. Среднее по двум дням это не среднее. А если
за неделю не набралось ничего, сводка не придёт: пустое сообщение хуже, чем его
отсутствие. Во время паузы сводка тоже молчит.
🤖 Разбор AI-коуча убран из отчёта
Под каждым отчётом стоял короткий разбор от AI-коуча: что сегодня хорошо, на что
обратить внимание, что сделать завтра. Мы его убрали — и клиентам, и тренерам.
Если вы заметили, что блок пропал, это не поломка.
Почему. Разбор иногда уводил от настоящей причины. Свежий пример: у человека
в отчёте не было сна, и коуч посоветовал включить запись сна в приложении — а сон
отсутствовал не поэтому, а потому что выгрузка с телефона оборвалась на середине
дня. Совет звучал разумно и вёл чинить не то.
Отдельная история — целевые калории, от которых коуч отсчитывал рекомендации. Наша
методология прямо говорит, что эта оценка сейчас неустойчива: на одном и том же
человеке за один месяц она может дать значения, отличающиеся в несколько раз.
Строить на ней советы — значит уверенно говорить то, чего мы не знаем.
Что осталось. Всё остальное в отчёте — числа, планки, пометки о
неполных сутках. Изменилась ровно одна вещь: исчез комментарий.
Разбор вернётся тогда, когда мы сможем за него отвечать. Сроков не
называем — их нет. Пока правило простое: лучше молчание, чем совет, который уводит
в сторону.
⏳ Отчёт приходит, когда данные готовы
Отчёт за вчера уходил в назначенный час — и в половине случаев показывал не день,
а его начало. Приложение на телефоне отправляет данные, когда ему даёт время iOS;
если к утру оно ещё не успело, в отчёте оказывались утренние две тысячи шагов
вместо вчерашних четырнадцати. Замер за месяц: 53% отчётов уходили по
незакрытому дню.
Пометка про неполные сутки внизу отчёта не спасала. Человек читает сверху вниз:
число он видит первым и вывод делает по нему — и вывод получался «продукт врёт».
Тренеру было хуже всех: он смотрит чужой день и проверить его не может.
Теперь отчёт ждёт данные, а не часы. Он приходит, когда сутки закрылись —
то есть когда телефон прислал день целиком. Если к вечеру следующего дня данные
так и не доехали, отчёт всё равно придёт, но предупреждение будет стоять
первой строкой, до всех чисел.
Так выглядит отчёт по неполному дню
⚠️ Числа за часть дня: прибор передавал до 13:00.
⚖️ Вес: 73,6 кг
🦶 Шаги: 2 315
А когда данные подтянутся, продукт пришлёт уточнённый отчёт сам — следить за этим
и переспрашивать не нужно.
⚖️ Заодно: баланс за неделю
В отчёте появилась строка о неделе: сколько вы в среднем съедали и сколько тратили
в сутки, разница между ними и — рядом — фактическое изменение веса за то же время.
Так это выглядит в отчёте
📅 ЗА НЕДЕЛЮ
⚖️ Баланс: −400 ккал в день — по 6 дн. из 7 с дневником
📉 Вес: 74,9 → 73,6 кг (−1,3 за неделю)
Почему за неделю, а не за день. Расход — величина расчётная, с точностью
±10–15%. На суточных двух с половиной тысячах килокалорий это ±250–350, и обычная
разница «съел минус потратил» за сутки лежит внутри этой погрешности: знак у неё не
определён. За неделю случайная часть ошибки падает втрое, и разговор становится
осмысленным.
Вес рядом с балансом стоит не для красоты. Модель говорит, что должно было
произойти; весы говорят, что произошло. Расхождение между этими двумя строками
видно сразу, и верить первой на слово не нужно.
Баланс появляется, когда в неделе набирается хотя бы три дня, где
известно и съеденное, и потраченное. Если баланс меньше собственной погрешности,
продукт так и напишет — «около нуля», а не нарисует дефицит из шума.
📭 Пропущенные дни больше не исчезают молча
Приложение на телефоне отправляет данные само, когда ему даёт время iOS. Обычно
это происходит по нескольку раз в день, и заметить тут нечего. Но если телефон
замолчал на несколько суток — лежал разряженным, приложение выгрузилось из
памяти, — пропущенные дни так и остаются пустыми: приложение шлёт последние
сутки и до старой даты уже не достаёт.
Раньше продукт говорил об этом ровно один раз: «прибор молчит». А как только
связь возвращалась, замолкал и он — хотя дни за время тишины оставались
дырявыми навсегда, и узнать об этом было неоткуда, кроме странной цифры в
отчёте неделю спустя.
Теперь продукт следит за самими днями, а не только за связью. Раз в сутки он
смотрит неделю назад и, если за какой-то день данные не приехали целиком,
называет дату и путь в приложении по шагам.
Так выглядит сообщение
📭 За 12.03 и 13.03 данных нет.
Сами эти дни не заполнятся: приложение шлёт окно последних
суток и до этих дат уже не достаёт.
Чтобы вернуть — Health Auto Export → Automations →
ваша автоматизация → Date Range: поставьте эти даты и нажмите Export Now.
Одна настройка, после которой дни возвращаются сами. В приложении есть окно
выгрузки — сколько суток уезжает за один раз. Поставьте в поле Date Range
значение Previous 7 Days, и любая случившаяся выгрузка закроет всю
неделю разом: телефон вышел на связь однажды — и пропущенное приехало без вашего
участия. Инструкция в гайде теперь просит именно эту настройку, а продукт
проверяет по самим данным, какое окно у вас стоит, и один раз говорит, если оно
слишком узкое — до того, как оно что-нибудь потеряет.
Пропавшую величину тоже видно. Бывает, что связь в порядке и данные идут, а
одной строки в них больше нет: сон, шаги или HRV перестали приходить. Чаще всего
это значит, что прибор их просто не записал — часы сняли на ночь. Продукт скажет
и об этом, назвав, с какого дня величины нет.
Почему так, а не проще. Забрать данные из Apple Health со стороны сервера
нельзя: у него нет облака, к которому можно обратиться, — всё живёт на телефоне и
уходит только тогда, когда приложение решит их отправить. Поэтому продукт не может
сходить за пропущенным сам. Зато он может вовремя заметить пропажу и сказать, что
с ней делать, — а с недельным окном чинить обычно уже нечего.
Сон, которого прибор не записал, никакая настройка не вернёт: если
часы сняли на ночь, восстанавливать нечего. Продукт скажет о пропаже, но не станет
достраивать день за прибор.
🎯 Планки считаются по всем приборам сразу
Про один и тот же день у продукта говорят четверо: отчёт, планки, Светофор и
итоги дня от коуча. Отчёт давно научился читать все приборы сразу, а остальные
трое — нет: они смотрели только на браслет. Пока браслет на руке, разницы не
видно. Стоило его снять — и день с двенадцатью тысячами шагов от часов выглядел
пустым: коуч писал, что данных нет, планка по шагам числилась невыполненной,
а в Светофоре стоял красный.
Теперь все четверо смотрят на один и тот же день целиком — из какого бы прибора
он ни пришёл. Часы, браслет, весы, телефон в кармане: день складывается из того,
что есть.
Заодно планки разбираются построчно. Раньше в итогах дня стояло
«0/4 выполнено», и в эти ноль попадало всё подряд — и то, чего вы не сделали,
и то, чего мы не померили.
Так это выглядит в итогах дня
🎯 Планки: 2/2 выполнено
✅ шаги ≥ 10 000 — по факту 12 000
✅ сон ≥ 7 ч — по факту 7,5
⚪ белок ≥ 160 г — нет данных
Счёт идёт от измеренного: две из двух, а не две из четырёх. Планка, по которой
данных нет, не считается ни выполненной, ни проваленной — она так и подписана,
отдельной строкой.
Почему это важнее, чем кажется. «Нет данных» и «не сделал» — разные вещи,
и путать их продукт больше не имеет права: по этим строкам вы принимаете решения,
а тренер видит их в своём списке. День, за который вы прошли двенадцать тысяч
шагов, не может называться днём без отчёта.
Если данных правда нет, продукт так и скажет. Пустой день остаётся
пустым: недостающее мы не достраиваем и не заменяем средним.
👥 Один экран на клиента: занятия, деньги, прогресс
Вести человека — это не только тренировки. Это ещё «когда он был в прошлый раз»,
«сколько занятий осталось», «о чём мы договорились» и «что у него с формой».
Раньше это лежало в двух разных местах бота, и за полным набором действий
приходилось ходить туда и обратно.
Теперь у человека один экран, и на нём всё сразу.
👤 Мария
💰 баланс: 60 € · 🏷 цена занятия: 30 €
Последнее занятие: 14.08
💪 Занятие 30 €
🚦 Состояние · 🏋️ Упражнения
📝 Заметки · 🧠 Что было
💸 Оплата · ± Правка баланса
📜 История · ⚙️ Настройки
Порядок кнопок — по частоте: сверху то, что делают каждое занятие, внизу то,
к чему возвращаются раз в месяц. Записали занятие — баланс пересчитался сам,
клиенту ушло сообщение с новой суммой.
Клиенты, которые перестали ходить, больше не мешают. У списка появился
архив: человек уходит из ежедневного списка, но не из истории — занятия, платежи
и заметки остаются на месте, а вернуть его можно одной кнопкой. Список
открывается теми, с кем вы работаете сейчас, и отвечает на вопрос «с кем у меня
занятие сегодня», а не «кто когда-либо ко мне приходил».
Прогресс — там же. Контрольные показатели клиента — рабочие веса, повторы,
время — открываются с той же карточки: видно, с чего начинать сегодня и что
изменилось с прошлого раза.
Что переименовано. «Журнал» стал «Мои клиенты» — за этой кнопкой и правда
список людей с балансами. «Корректировка» стала «Правкой баланса»: это ручное
изменение со знаком — штраф, скидка, доплата, исправление прошлой суммы. Старые
кнопки, если они остались у вас на клавиатуре, продолжают работать.
Заодно: отчёт перестал выдавать частичные данные за полные. Если прибор
прислал только часть дня, отчёт теперь так и говорит — до какого часа есть данные
и что сделать, чтобы догрузить остальное. А расход энергии больше не исчезает
у тех, кто давно не вставал на весы: он считается по последнему известному весу,
и рядом сказано, по какому именно.
И Apple Health теперь подключается из бота самостоятельно: «🔌 Интеграции →
🍎 Apple Health» выдаёт адрес, показывает, что появится после подключения,
и проверяет, дошли ли данные.
Продукт считает деньги, а не проводит платежи: эквайринга, чеков
и налогового учёта здесь нет. Баланс — это ваша запись о том, кто сколько должен,
и она всегда под рукой.
🔥 В отчёте появился расход энергии за день
Дневник питания отвечал только на половину вопроса. «Съел 2100 ккал» — это много
или мало? Зависит от того, сколько потрачено, а расхода в продукте не было вовсе.
Теперь он есть — и не одним числом, а с разбором.
Так это выглядит в отчёте
🦶 Шаги: 12 000
🔥 Потрачено: 2600 ккал
покой 1700 · ходьба и быт 600 · тренировка 300
⏱ Минуты активности: 60
🏋️ Тренировка: силовая — 45 мин
Разбор здесь важнее итога. Расход покоя — это то, что тело тратит на само себя,
и он почти не меняется день ото дня. А ходьба, быт и тренировки меняются, и
именно они в ваших руках — и видно, насколько.
Часы для этого не нужны. Расход появится и в тот день, когда они остались
дома: ходьбу видит телефон в кармане. Единственное, без чего расчёт не делается, —
вес: без него не посчитать расход покоя.
Заодно: тренировки теперь видны с двух сторон. Если занятие записали и
браслет, и часы, в отчёте оно остаётся одним — но берётся то название,
которое понятнее человеку: браслет может назвать занятие
functional-fitness, а часы — «Силовая тренировка»; в отчёте вы увидите
второе.
Почему не написано «вы в дефиците». Расход и съеденное стоят рядом, но
продукт не вычитает одно из другого. Чтобы говорить про дефицит, нужна калибровка
по вашему весу и питанию за несколько недель — это следующая работа, и обещать её
сейчас нечестно.
Это оценка, а не измерение. Точность порядка ±10–15%: точного
суточного расхода не знает ни один прибор — у носимых устройств ошибка по энергии
доходит до 28%. Поэтому сравнивать «вчера против сегодня» бессмысленно, смысл
появляется на недельном масштабе.
💚 Восстановление с браслета теперь в ваших данных
Whoop каждое утро показывает одну главную цифру — восстановление в процентах.
До сих пор она жила только на экране браслета: приходила к нам каждую ночь и
выбрасывалась при разборе. Теперь она сохраняется и видна в динамике — вместе с
тем, из чего складывается: пульсом покоя, ВСР и сном.
Рядом появились две величины про сон: сколько сна прибор считал нужным именно
на эту ночь и какая часть этой нормы — возврат накопленного недосыпа.
Норма у Whoop не константа: она плавает от вчерашней нагрузки и от того, сколько
вы недоспали раньше, и в отдельные ночи уходит далеко за восемь часов.
Поэтому «спал 6,5 часа» само по себе не говорит, недоспали вы или нет, — а теперь
есть с чем сравнить.
Так это выглядит в отчёте
💚 Восстановление — 63 %
😴 Спали — 7 ч 30 мин
🎯 Прибор считал нужным — 8 ч 15 мин
↩️ из них добор недосыпа — 20 мин
История собрана целиком — не только с сегодняшнего дня: всё, что Whoop
присылал за время наблюдений, разобрано заново. Так что динамику видно сразу, а не
через месяц накопления.
Почему бот по этой цифре ничего не советует. Восстановление — закрытый
композит Whoop: формула не опубликована и независимо не проверена. Смотреть на
неё полезно, принимать по ней решения — нет. Поэтому сигналы и пороги у нас
по-прежнему считаются по пульсу покоя, ВСР и сну — величинам, которые прибор
измеряет, а не выводит. По той же причине у восстановления нет личной базовой
линии: отклонений «от вашей нормы» по нему мы не показываем.
Подсказка. Смотреть эти цифры удобнее не по одной, а рядом:
восстановление 63% в ночь, когда прибор просил 8 часов и вы их проспали, — это
про вчерашнюю нагрузку, а не про сон.
🍽 В отчёте видно, из чего сложился день
Раньше питание в отчёте было четырьмя числами за сутки: калории, белки, жиры,
углеводы. Теперь под ними стоит строка вида «🧾 12 позиций в 4 приёмах», а рядом
с отчётом — кнопка 🍽 Подробнее.
Одно нажатие — и прямо в том же сообщении раскрывается состав дня: завтрак,
обед, ужин и перекусы, в каждом приёме — что съедено и в каком весе, рядом с
приёмом — его калории. Второе нажатие, 🍽 Свернуть, возвращает сводку.
Новых сообщений в чат при этом не приходит.
🔥 Калории: 2000 ккал
🥩 Белок: 150 г
🧈 Жиры: 60 г
🌾 Углеводы: 200 г
🧾 12 позиций в 4 приёмах
🍽 Подробнее
→
🌅 Завтрак — 350 ккал
• Творог 5% — 150 г, 180 ккал
• Хлопья — 30 г, 120 ккал
• Молоко 1,5% — 100 мл, 55 ккал
☀️ Обед — 700 ккал
• Курица варёная — 150 г, 250 ккал
🍽 Свернуть
Почему под кнопкой, а не сразу. Отчёт должен оставаться коротким: его
читают с телефона, а у тренера в чате — отчёты нескольких клиентов подряд. По
умолчанию всё выглядит как прежде, а состав дня открывается тогда, когда вы
решили в него смотреть.
Числа стали точнее. Раньше дробные граммы каждого продукта отбрасывались, и
суточные белок с жирами выходили чуть меньше настоящих. Теперь суммы считаются
без округления вниз — в отчётах за прошлые дни белок и жиры могли слегка
подрасти. Это не расхождение, а тот же день, посчитанный точнее.
Отпуск больше не оставляет дыру в данных. В режиме отпуска бот по-прежнему
молчит: не пишет и ни о чём не спрашивает. Но данные из подключённых сервисов
всё это время продолжают собираться — вернулись, и история за эти дни на месте.
Правка калорий держится. Если вы поправили калории или белок вручную, ночное
обновление из FatSecret больше не возвращает прежнюю цифру.
💡 Кнопка появляется только у дня, в котором есть записи в дневнике
питания — если раскрывать нечего, нет и кнопки. Как только записи появятся,
состав дня будет в отчёте за тот же вечер.
⏰ Тренер сам выбирает время ежедневного отчёта
Раньше отчёт по клиентам приходил тренеру строго в 11:00. Теперь вы можете выбрать
любой удобный час — например, до утренних тренировок или, наоборот, вечером,
когда есть время спокойно разобрать день.
А ещё можно указать свой часовой пояс: если вы в Вильнюсе, Дубае или Нью-Йорке,
«13:00» будет означать 13:00 по вашему местному времени, а не по времени сервера.
Как настроить:
Откройте ⚙️ Настройки тренера в боте.
Нажмите ⏰ Время отчёта.
Выберите час из сетки (06:00–22:00).
При необходимости нажмите 🌍 Пояс и выберите регион → город.
Рядом с каждым городом показан его текущий сдвиг (например, Лос-Анджелес (UTC−7)).
💡 По умолчанию всё остаётся как прежде — 11:00 по Мадриду.
Меняйте, только если хотите другое время. Настройка — одна на всех ваших клиентов:
все отчёты приходят одной пачкой в выбранный час.
Изменение вступает в силу со следующего отчёта. Если новое время на сегодня уже прошло —
отчёт придёт в выбранный час уже завтра.