Перейти к содержанию

ADR-0005 · Цели: ни одна не обещана, построены три измерителя#

Статус:    принят · 2026-09-18
Метод:     D-10 v1.0 · шаблон ADR v1.2
Участники: сопровождение (3 человека), Каменев — руководитель операционного блока

Учебная запись: часть прогона E-03, система вымышлена. Форма и рассуждение настоящие.

Контекст#

Вход — 00-context.md. Сюда сходятся три висящих входа предыдущих этапов: понижение доступности склада до 99,5 % (ADR-0001), неизвестная доля расхождений, ловимых потоком (ADR-0002), и значение N для сигнала «пункт молчит» (ADR-0004).

Область — один сценарий: обнаружение расхождения с физическим миром. Продуктовая цель — сократить время обнаружения с 90 суток до суток [продукт].

Семь вопросов#

Вопрос Ответ
Какой сценарий и с чьей точки зрения измеряется Расхождение учёта с полкой. Точка зрения — полка, а не система: система о расхождении не знает по построению
Что считается «работает» Посылка числится там, где лежит. Неудача — не числится или числится не там. Третьего нет, и это редкость
Откуда цель — из потери или из круглого числа Из потери: 4 320 посылок × 3 500 ₽ = 15,1 млн ₽ подвешено в любой момент [расчёт]. Число «сутки» при этом круглое и не выведено ни из чего [продукт]
Чем измеряется — и существует ли сигнал сегодня Не существует ни один. Предметных метрик нет; единственный измеритель — квартальная инвентаризация [орг]
Сколько стоит измерение и как растёт Считается ниже — это главный расчёт этапа
Что происходит при исчерпании бюджета и кто решает [нет данных] — не спрашивали продукт. Закрыто на этом этапе разговором, см. решение
На какой вопрос система обязана отвечать в инциденте Разборов не ведётся вовсе. Повторяющийся вопрос — «где посылка», 1 200 раз в сутки в поддержке [замер]

Дисквалификаторы#

Сработали четыре из пяти.

Условие Что вышло
Цель обещана, сигнала нет Сработал в упор. Одиннадцать лет действует неформальное обещание «расхождения находим на инвентаризации», и оно не проверяется ничем, кроме самой инвентаризации. Это ровно то, что D-10 называет худшим исходом: нулевой вариант, которому приписали свойства первого
Измеряется не с точки зрения пользователя Сработал дважды. По расхождениям — измеряется только инвентаризацией, то есть с точки зрения полки, и это верно. По доступности склада из ADR-0001 — измеряется временем работы процесса, то есть с точки зрения сервиса. 99,5 % склада обещать нечем
Исчерпание бюджета ни к чему не приводит Сработал. Инвентаризация показывает 0,4 % четыре раза в год, и после неё не меняется ничего: расхождения списываются, причина не разбирается
Цель выбрана без цены Сработал. «Сутки» названы без единого расчёта. Расчёт сделан здесь и цель отменил
Измеритель падает вместе с измеряемым Не сработал: инвентаризация выполняется людьми и от системы не зависит

Цена цели «сутки»#

Расхождений 0,4 % при 1,08 млн посылок. Чтобы измерять уровень выборкой, нужна точность, различающая изменение; при доле 0,4 % погрешность считается как √(p(1−p)/n).

Частота и объём выборки Погрешность (2σ) Что это значит Цена
2 000 ячеек в сутки ±0,28 п.п. Диапазон 0,12–0,68 % — суточное число бессмысленно 33 человеко-часа в сутки [расчёт]
То же, накопленно за неделю (14 000) ±0,11 п.п. Диапазон 0,29–0,51 % — годится Те же 33 ч/сут ≈ 2 970 ч/квартал
63 700 ячеек в сутки ±0,05 п.п. Суточное число годится 1 065 человеко-часов в сутки [расчёт]
Полная инвентаризация раз в квартал (сегодня) Точно Раз в 90 суток 7 200 ч/квартал [замер]

Суточное измерение уровня стоит около 96 000 человеко-часов в квартал — в тринадцать раз дороже нынешней полной сверки. Продуктовая цель «сутки», понятая как уровень по сети, не достижима ни при каком разумном бюджете, и выяснилось это арифметикой, а не спором.

Выборка за неделю, наоборот, дешевле сегодняшнего: 2 970 часов в квартал против 7 200, то есть 41 % нынешней цены при непрерывном измерении вместо четырёх точек в год.

Рассмотренные варианты#

Формы цели из D-10, применимые к сценарию. Ведущая — корректность: единственная форма, где нарушение не видно пользователю сразу.

Ось Что записывать 0 · не обещать Противоречия в потоке Выборочная сверка Полная инвентаризация
Измеримость сегодня Есть ли сигнал, что достроить Неприменимо Данные есть, метрики нет: запрос по журналу — день работы [схема] Нет: нужен регламент и наряд кладовщику Есть, это сегодняшний измеритель
Точка зрения Чья — Системы — ловит только противоречия внутри данных Полки Полки
Цена измерения Что добавится 0 0 — запрос к имеющемуся 33 ч/сут ≈ 2 970 ч/квартал [расчёт] 7 200 ч/квартал [замер]
Чувствительность к росту При ×10 — Не меняется Линейно по числу пунктов Линейно
Следствие исчерпания Что меняется и кто решает Ничего — и так ничего Разбор в приоритет над плановыми задачами; объявляет Каменев [продукт] То же Сегодня — ничего
Связь с потерей Что теряет пользователь 15,1 млн ₽ подвешено и никто не знает Часть расхождений — какая, неизвестно Уровень по сети, не конкретная посылка То же, четыре раза в год

Ячейка, решающая исход, пуста. Какая доля из 0,4 % ловится потоком — [нет данных], и это различающая ось: если доля высока, дорогая выборка почти не нужна; если низка, поток измеряет не то. Закрыть её нечем, кроме как запустив оба измерителя и сравнив.

Решение#

Ни одна цель не обещана. Построены три измерителя и назначена дата, после которой цели назначаются.

Измеритель Что считает Цена Когда показывает число
Противоречия в потоке Выдача без приёмки · две выдачи одной посылки · операция по посылке, которой нет на этом пункте · посылка старше срока хранения без выдачи и возврата 0 — запрос по журналу Через неделю
Выборочная сверка 2 000 ячеек в сутки, 2–3 ячейки на пункт; уровень оценивается недельным накоплением 33 ч/сут Через месяц — три недельных точки
Полная инвентаризация Остаётся раз в квартал — как калибровка выборки, а не как основной измеритель 7 200 ч/квартал Уже показывает

Цели назначаются через месяц, когда все три покажут числа и станет известна доля расхождений, ловимых потоком. Раньше — обещание вслепую.

Что решено сегодня и не требует ожидания:

  1. Доступность склада 99,5 % не обещается — измерителя с точки зрения пользователя нет. До его появления это не цель, а расхождение между документами, и оно записано таковым ещё в ADR-0001.
  2. Значение N для сигнала «пункт молчит» — 90 минут, в сезон 3 часа. Выведено из профиля офлайна: 40 минут в сутки норма, до 2 часов в сезон; порог ниже сезонного офлайна утопит дежурного в ложных срабатываниях. Это параметр, а не константа, и сезонное значение меняется вместе с профилем.
  3. Следствие исчерпания бюджета назначено: при превышении цели (когда она появится) разбор расхождений получает приоритет над плановыми задачами троих сопровождающих. Объявляет Каменев. Это единственное следствие, которое команда из трёх человек способна исполнить.

Обоснование#

Цель отменена расчётом, а не мнением. «Сутки» — круглое число, не выведенное ни из чего; в тринадцатикратной цене оно и кончилось. Форма, которая осталась достижимой, — недельный уровень, и она дешевле того, что делают сейчас.

Нулевой вариант «не обещать» выбран сознательно и на срок. D-10 называет его законным и отличает от худшего исхода — обещать, не измеряя. Система одиннадцать лет находилась именно в худшем: обещание существовало, измерителя не было.

Три измерителя, а не один, потому что они меряют разное. Поток видит противоречия внутри данных и не видит молчаливого расхождения; выборка видит уровень и не видит конкретной посылки; инвентаризация точна и редка. Ни один не заменяет остальных, и D-10 прямо говорит, что форм обычно нужно две.

Инвентаризация переназначена из измерителя в калибровку. Без неё смещение выборки неизвестно: кладовщик, которому дали наряд на 2–3 ячейки, выберет удобные.

Последствия#

Отрицательные:

  • Месяц без целей. Продукт просил сутки, получает «через месяц скажем, что достижимо». Разговор с операционным блоком на этом не кончается.
  • 33 человеко-часа в сутки — новая постоянная работа для сети, где кладовщики уже заняты. В сезон эти же часы дороже всего.
  • Выборка смещена по построению, и калибровка кварталом — слабая защита: между калибровками смещение не видно.
  • Противоречия в потоке могут оказаться почти пустыми. Если молчаливое расхождение даёт 90 % из 0,4 %, бесплатный измеритель почти ничего не ловит, и вся тяжесть ложится на выборку. Это выяснится через месяц, и решение придётся пересматривать.
  • Доступность склада остаётся необещанной, хотя остановка склада останавливает сеть на следующий день. Это второе расхождение с бизнес-ожиданием, записанное и не закрытое.

Положительные: впервые за одиннадцать лет появляется число, получаемое чаще четырёх раз в год; непрерывное измерение стоит 41 % от нынешнего разового; исчерпание бюджета впервые к чему-то приводит, и у следствия есть имя.

Замечание к методу: шестая проверка сработала как дисквалификатор#

Местная проверка D-10 — «измеритель существует и показывает число сегодня, а не будет настроен» — стоит в конце документа, после семи разделов, как последний пункт перед принятием.

Здесь она отменяет решение целиком, и отменяет его на входе: ни один измеритель числа не показывает. Пройдя все семь разделов и заполнив матрицу, мы приходим к выводу, который был виден на четвёртом вопросе раздела 1.

Четвёртый вопрос — «чем измеряется и существует ли сигнал сегодня» — помечен в документе как дисквалификатор, и он же продублирован шестой проверкой в конце. Дублирование не избыточно: вопрос отвечает «сигнала нет», а проверка отвечает «значит, обещания нет». Но порядок таков, что работа проделывается между ними целиком.

Стоит ли из этого делать правку — вопрос ревизии. Замечено: это второй случай в прогоне, когда документ даёт верный ответ не тем разделом, которым ожидалось. Первый — ADR-0003, где параметр выбирался раньше вопроса о нём.

Условия пересмотра#

  • Через месяц: измерители показали числа — цели назначаются, и этот ADR замещается.
  • Доля расхождений, ловимых потоком, оказалась ниже половины — поток не измеритель, а вспомогательный сигнал.
  • Калибровка кварталом показала смещение выборки больше её погрешности — выборка выбрана неверно.
  • Появился измеритель доступности склада с точки зрения пользователя — 99,5 % можно обещать.
  • Цена сверки изменилась: 2–3 ячейки на пункт стали занимать заметно больше 2–3 минут.
  • Сигнал «пункт молчит» даёт ложные срабатывания чаще раза в неделю на пункт — порог N подобран неверно.

Самая дорогая будущая граница#

Граница между тем, что меряется данными, и тем, что меряется людьми. Сегодня она проведена по доле: поток бесплатен, выборка стоит 33 часа в сутки. Если через месяц окажется, что поток ловит мало, граница сдвинется в сторону людей — и каждый следующий процент точности будет стоить человеко-часов, растущих квадратично: чтобы вдвое сузить погрешность, выборку надо учетверить.

Связанные ADR#

Зависит от: ADR-0001 — понижение доступности склада; ADR-0002 — журнал как единственный источник порядка и незакрытая ячейка о доле; ADR-0004 — требование сигнала «пункт молчит». Будет замещён через месяц, когда измерители покажут числа и цели станут назначаемыми.