1.2 Закон Гудхарта и психология метрик
Обзор и мотивация
Закон Гудхарта, названный в честь экономиста Чарльза Гудхарта, обычно формулируется так: когда мера становится целью, она перестаёт быть хорошей мерой. Первоначальное наблюдение Гудхарта 1975 года касалось денежно-кредитной политики, но более поздняя формулировка антрополога Мэрилин Стратерн: это версия, которая на самом деле нужна командам разработки программного обеспечения, и это предложение, на котором построена вся эта книга. Каждая метрика в каждой последующей теме, частота развёртывания, тестовое покрытие, оценки удовлетворённости, несёт этот риск, и каждая рекомендация в этой книге в той или иной форме является стратегией управления им.
Механизм здесь не таинственный. Люди реагируют на стимулы, и метрика, привязанная к вознаграждению, ревью или репутации, является стимулом независимо от того, задумывал ли её кто-то как таковой. Как только команда узнаёт, что за «частотой развёртывания» следят, самый дешёвый способ сдвинуть это число не всегда оказывается предполагаемым: разбить одно значимое изменение на пять тривиальных развёртываний, и число растёт, пока ничего реального не улучшилось. Это не история о злонамеренных людях. Обычные, добросовестные инженеры реагируют именно так на плохо спроектированные стимулы, потому что именно стимул, а не намерение за ним, формирует поведение под давлением.
Для крупных организаций ставки выше, потому что расстояние между создателем метрики и человеком, чьё поведение она формирует, растёт вместе с масштабом. Руководитель команды, создающий метрику для своей собственной команды из восьми человек, может напрямую следить за манипулированием и быстро скорректировать курс. Метрика, развёрнутая в подразделении из шестисот человек, или опубликованная в государственном отчёте об эффективности, который читает законодательный орган, проходит через слои людей, которые никогда не встречались с её автором и имеют все основания относиться к букве метрики как к цели. Искажение усиливается с расстоянием, и именно поэтому книга помещает свой центр тяжести в эту тему, а не в более позднюю.
Ключевые принципы
- Предполагайте, что каждая стимулируемая метрика будет подвергнута манипулированию. Проектируйте против этого с первой версии, а не после того, как искажение уже обнаружено.
- Манипулирование рационально, а не злонамеренно. Люди разумно реагируют на созданный вами стимул; обвинять их в этом ничего не исправляет.
- Расстояние от владельца метрики увеличивает риск искажения. Чем дальше число удаляется от человека, понимающего его замысел, тем больше оно становится буквой правила, а не его духом.
- Отношения и диапазоны лучше сопротивляются манипулированию, чем сырые подсчёты. Сырой подсчёт вознаграждает объём; хорошо выбранное отношение вознаграждает фактическое поведение, которое вам нужно.
- Страховочная метрика не опциональна для стимулируемой метрики. Каждая метрика, к которой вы привязываете вознаграждение, нуждается в парной контрметрике, которая не должна ухудшаться.
Рекомендации
Классифицируйте каждую метрику по степени стимульной экспозиции
Прежде чем публиковать метрику где-либо видимо, спросите прямо: зависит ли чьё-то вознаграждение, ревью, репутация или бюджет от движения этого числа в определённом направлении? Если да, это стимулируемая метрика, и ей нужна страховочная метрика (ниже), прежде чем она станет публичной. Если нет, это диагностическая метрика (тема 1.1), и она несёт более низкий риск манипулирования, хотя никогда не нулевой, потому что люди всё равно могут формировать число, по которому они лишь ожидают быть оценёнными позже, даже без формально привязанного сегодня стимула.
Предпочитайте отношения, ставки и когорты сырым подсчётам
Сырой подсчёт вроде «закрытых заявок» легко подделать, делая больше чего-то малоценного. Отношение вроде «процент заявок, решённых с первого обращения» вознаграждает лежащее в основе поведение вместо объёма. Когорта, группа, определённая общей отправной точкой, например все развёртывания за данную неделю, не даёт плохому недавнему тренду спрятаться внутри приукрашивающего долгосрочного агрегата. Везде, где вы выбираете между подсчётом и ставкой, отражающими то же самое лежащее в основе поведение, выбирайте ставку.
Сочетайте каждую стимулируемую метрику со страховочной метрикой
Страховочная метрика (guardrail metric): парная контрметрика, которая не должна ухудшаться, пока улучшается основная метрика. Частота развёртывания сочетается с долей неудачных изменений; время выполнения сочетается с частотой вырвавшихся дефектов; время обработки обращения командой поддержки сочетается с удовлетворённостью клиентов. Страховочная метрика делает дешёвое манипулирование видимо дорогим: команда, улучшающая стимулируемое число за счёт ухудшения страховочной метрики, попадается именно благодаря этой паре, а не по удаче. Проектируйте страховочную метрику одновременно с основной, никогда не как запоздалую мысль после того, как манипулирование уже обнаружено.
Следите за четырьмя классическими паттернами манипулирования
Искажение под действием закона Гудхарта, как правило, подпадает под небольшое число узнаваемых форм. Манипулирование порогом оптимизирует ровно до цели и останавливается (цель тестового покрытия в 95% производит тривиальные тесты, чтобы достичь ровно 95%, а не подлинное покрытие). Манипулирование определением меняет то, что считается, а не то, что происходит (переопределение «решено» так, чтобы исключить сложные случаи). Манипулирование временем сдвигает момент записи работы, а не момент, когда она произошла (накопление развёртываний прямо перед закрытием отчётного окна). Манипулирование подменой доставляет букву метрики, отказываясь от её замысла (разделение одного реального изменения на множество тривиальных, чтобы раздуть частоту развёртывания). Явное называние этих паттернов вашей команде значительно облегчает их обнаружение, когда они появляются в ваших собственных числах.
Отделяйте измерение от вознаграждения везде, где можете
Самая сильная страховка из всех структурная: отвязать метрику от индивидуального вознаграждения. Метрика, используемая исключительно для понимания системы, без чьей-либо зарплаты, рейтинга или положения, зависящих от её направления, сталкивается с гораздо более слабым давлением манипулирования, чем та, что привязана к оценке. Именно поэтому различие диагностического и оценочного использования из темы 1.1 так важно на практике: сохранение метрики диагностической часто дешевле и эффективнее, чем любой объём инженерии страховочных метрик, применённой постфактум.
Компромиссы: плюсы и минусы
| Подход | Плюсы | Минусы |
|---|---|---|
| Сырые подсчёты | Просты для вычисления и объяснения | Легко манипулируются объёмом |
| Отношения и ставки | Вознаграждают правильное поведение, сопротивляются манипулированию объёмом | Могут скрыть проблему сжимающегося знаменателя |
| Парная страховочная метрика | Делает дешёвое манипулирование видимо дорогим | Удваивает число метрик для определения, владения и обслуживания |
| Только диагностика (без индивидуального вознаграждения) | Самое низкое давление манипулирования среди всех вариантов | Более слабый прямой мотивационный рычаг для руководства |
| Сильно стимулируемые метрики | Сильная, быстрая поведенческая реакция | Высокий риск искажения, часто в пределах одного отчётного цикла |
Центральное напряжение: мотивационная сила против риска искажения. Метрики, быстрее всего двигающие поведение, напрямую привязывающие число к вознаграждению, оказываются именно теми, что наиболее подвержены закону Гудхарта. Разрешайте это напряжение, резервируя сильные стимулы для метрик результата, которые по-настоящему трудно дёшево подделать, и сочетая всё, что вы стимулируете, со страховочной метрикой, спроектированной одновременно, а не прикрученной после появления первого искажения.
Вопросы для обсуждения в команде
Для каждой метрики, от которой зависит чьё-то вознаграждение: каков самый дешёвый способ её подделать, и поймали бы мы такое манипулирование сегодня? Сядьте и намеренно спроектируйте эксплойт для каждого стимулируемого числа на вашем дашборде: как рациональная, добросовестная команда заставила бы это выглядеть хорошо, не делая лежащей в основе работы? Если вы не можете назвать способ, которым вы бы поймали такое манипулирование, вы ещё не готовы стимулировать эту метрику. Это упражнение неудобно, и этот дискомфорт и есть суть.
Какие из наших текущих метрик уже дрейфовали в один из четырёх паттернов манипулирования, порогом, определением, временем или подменой, без того, чтобы кто-то на это указал? Искажение редко объявляет о себе; оно проявляется как число, выглядящее отлично, в то время как лежащие в основе жалобы, инциденты или отзывы клиентов рассказывают другую историю. Пройдитесь по вашему дашборду, сверяя с каждым паттерном по имени, и будьте честны относительно совпадений.
Имеет ли каждая стимулируемая метрика на нашем дашборде парную страховочную метрику, и была ли эта страховочная метрика спроектирована одновременно с основной? Страховочная метрика, добавленная только после обнаружения манипулирования, это ремонт, а не дизайнерское решение, и она обычно прибывает слишком поздно, чтобы предотвратить первый раунд ущерба доверию. Проверьте ваши стимулируемые метрики именно на наличие этой пары.
Как далеко эта метрика путешествует от человека, понимающего её замысел, прежде чем достигнуть человека, чьё поведение она формирует? Метрика, созданная платформенной командой и потребляемая тремя управленческими слоями дальше, или опубликованная в публичном отчёте, который читают люди, никогда не видевшие инструментирование, гораздо более подвержена манипулированию по букве, а не по духу, чем та, что команда спроектировала для себя. Отобразите это расстояние для ваших самых значимых метрик.
Убирали ли мы когда-либо стимул из метрики после обнаружения, что ею манипулировали, и во что нам обошлось восстановление доверия? Организации часто обнаруживают закон Гудхарта трудным путём, после квартала или года искажённого поведения, и ремонт обходится дороже, чем обошлась бы профилактика. Принесите реальный инцидент, если он у вас есть, и явно извлеките урок, а не тихо двигайтесь дальше.
Где мы предполагали, что манипулирование это проблема личной честности, а не рациональный ответ на плохо спроектированный стимул? Обвинение отдельных людей за предсказуемую реакцию на созданный вами стимул редко что-то исправляет и часто дополнительно подрывает доверие. Переформулируйте каждый вспоминаемый вами инцидент манипулирования как проблему дизайна метрики, а не проблему характера человека, и спросите, какой редизайн предотвратил бы его.
Отраслевой взгляд
Стартап. С крошечной командой самая быстрая страховка это прямой разговор: все могут увидеть число и немедленно спросить «подождите, почему оно подскочило». Реальный риск: основатель привязывает метрику к нарративу для привлечения инвестиций (рост любой ценой) без парной страховочной метрики, потому что внешние инвесторы применяют именно такое отдалённое, высокоставочное давление, которое делает манипулирование привлекательным.
Малый бизнес. Готовые инструменты часто поставляются с дашбордами по умолчанию, построенными вокруг подсчётов (закрытые заявки, обработанные звонки), потому что подсчёты легко вычислять. Активно превращайте их в ставки везде, где инструмент это позволяет, и сопротивляйтесь привязке любого отдельного числа к премии или ревью, прежде чем сначала определите его страховочную метрику.
Корпорация. Расстояние доминирующий риск: метрика, спроектированная платформенной командой для внутренней диагностики, подхватывается тремя слоями управления позже и превращается в KPI, который не узнал бы никто из её создателей. Управляйте этим явно (тема 1.4): требуйте документированную страховочную метрику, прежде чем любая метрика будет одобрена для использования в оценке эффективности или в руководительской сводной таблице.
Государство. Публикуемые показатели эффективности сталкиваются с самым сильным давлением манипулирования среди всех категорий в этой книге, потому что непопадание в цель может нести бюджетные или политические последствия. Проверяйте само определение с фиксированной периодичностью, а не только число, поскольку классический паттерн манипулирования в государственном секторе это тихое переопределение того, кто считается (список ожидания, «решённый» переклассификацией того, кто ожидает), а не улучшение лежащей в основе услуги.
Примеры
Корпорация. Компания розничных технологий установила цель 99% автоматизированного тестового покрытия по всем сервисам, привязанную к командной оценке качества, используемой в квартальных ревью. В течение двух кварталов покрытие достигло 99%, а частота инцидентов выросла. Аудит обнаружил, что команды писали тривиальные тесты, утверждающие, что функция вернула значение без исключения, исключительно чтобы удовлетворить инструмент покрытия, в то время как подлинное тестирование граничных случаев вообще не улучшилось. Исправление заменило сырую цель покрытия парной метрикой: покрытие плюс оценка мутационного тестирования (тема 4.2), измеряющая, действительно ли тесты улавливают внедрённые дефекты, что гораздо труднее дёшево подделать.
Государство. Агентство страхования по безработице одного штата оценивалось по медианному числу дней до первой выплаты, публикуемому для законодательного органа. Под давлением достичь цели одно региональное отделение начало тихо переклассифицировать более трудные для обработки заявления как «неполные» и исключать их из знаменателя, что делало опубликованную медиану выглядящей отлично, пока некоторые заявители ждали гораздо дольше, чем предполагал отчёт. Независимый аудит самого определения, а не только числа, раскрыл эту практику. Исправление агентства заморозило определение, опубликовало критерии исключения публично и добавило страховочную метрику, отслеживающую саму долю неполных заявлений, так что всплеск переклассификации теперь становился бы видимым, а не скрытым.
Бизнес-кейс: мотивация, ROI и TCO
Отдача от серьёзного отношения к закону Гудхарта: избегнутая переделка. Организация, проектирующая страховочные метрики заранее, тратит скромное количество дополнительных усилий на определение второй метрики рядом с первой. Организация, пропускающая этот шаг, часто тратит целый квартал или больше неправильно направленных усилий, прежде чем искажение всплывает, за чем следует гораздо более тяжёлая стоимость отмены поведения, вызванного манипулированием, и восстановления доверия к числу впоследствии. Пример из розничной торговли выше типичен: дёшево предотвратить, дорого исправить.
Полная стоимость владения страховочной метрикой не бесплатна: это вторая метрика для определения, инструментирования и ревью. Но эта стоимость небольшая и фиксированная по сравнению с неограниченной стоимостью стимула, который месяцами тихо вознаграждает неправильное поведение, прежде чем кто-то это заметит. Каждая последующая тема закладывает этот компромисс в свою цену, поэтому сочетание со страховочной метрикой появляется как рекомендация на протяжении всей остальной части этой книги, а не только здесь.
Антипаттерны и ловушки
- Публикация стимулируемой метрики без страховочной метрики: самая частая первопричина искажённого дашборда в этой книге.
- Отношение к манипулированию как к личному недостатку: обвиняет отдельных людей за рациональную реакцию на плохо спроектированный стимул и ничего не исправляет.
- Аудит числа, но никогда определения: классический провал в государственном секторе, когда метрика выглядит нормально, потому что то, кто считается, тихо изменилось.
- Предположение, что метрика, работавшая как диагностическая, останется безопасной, когда станет оценочной: экспозиция меняется в момент привязки вознаграждения, даже если ничего другого в метрике не изменилось.
- Проектирование страховочной метрики только после первого инцидента манипулирования: ремонт, прибывающий после того, как ущерб доверию уже нанесён.
- Игнорирование расстояния: предположение, что метрику будут читать так, как задумал её создатель, после того как она проходит через несколько управленческих слоёв или публичный отчёт вдали от него.
Модель зрелости
- Уровень 1, Инициация: Метрики стимулируются случайным образом без учёта риска манипулирования, и искажение обнаруживается только после того, как качество или доверие видимо пострадали.
- Уровень 2, Развитие: Некоторые команды распознают манипулирование постфактум и корректируются неформально, но нет последовательной практики заблаговременного проектирования страховочных метрик.
- Уровень 3, Стандартизация: Каждая стимулируемая метрика по всей организации требует документированной страховочной метрики перед одобрением, и четыре паттерна манипулирования названы и преподаются.
- Уровень 4, Управление: Риск манипулирования активно отслеживается: определения периодически проверяются, парные страховочные метрики пересматриваются на предмет того, по-прежнему ли они улавливают искажение, а инциденты манипулирования отслеживаются как метрика сами по себе.
- Уровень 5, Оркестрация: Организация относится к закону Гудхарта как к постоянному конструктивному ограничению, автоматически рассматриваемому при каждом предложении новой метрики, и может указать на конкретные редизайны, предотвратившие искажение до того, как оно произошло, а не только после.
Идеи для обсуждения
- Какая самая значимая метрика в нашей организации сегодня не имеет страховочной метрики?
- Видели ли мы когда-нибудь, как число улучшается, пока лежащая в основе реальность ухудшается?
- Кто бы заметил, если бы определение, стоящее за одной из наших публичных метрик, тихо изменилось?
- К какому из четырёх паттернов манипулирования (порог, определение, время, подмена) наиболее склонна наша организация?
- Во что бы нам обошлось в доверии обнаружить, что крупная метрика подвергалась манипулированию в течение года?
Основные выводы
- Закон Гудхарта: мера, становящаяся целью, перестаёт быть хорошей мерой, и это управляет каждой метрикой в этой книге.
- Манипулирование это рациональная реакция на стимул, а не изъян характера; исправляйте дизайн стимула, а не людей.
- Предпочитайте отношения, ставки и когорты сырым подсчётам везде, где они отражают то же самое поведение.
- Каждая стимулируемая метрика нуждается в страховочной метрике, спроектированной одновременно, а не добавленной после обнаружения искажения.
- Следите за четырьмя паттернами манипулирования по имени: манипулирование порогом, определением, временем и подменой.
- Расстояние между создателем метрики и человеком, чьё поведение она формирует, увеличивает риск искажения; держите это расстояние коротким там, где можете.
Источники и дальнейшее чтение
- Goodhart, C. A. E., “Problems of Monetary Management: The UK Experience” (1975).
- Strathern, Marilyn, “‘Improving Ratings’: Audit in the British University System” (1997).
- Seeing Like a State, Джеймс К. Скотт.
- The Tyranny of Metrics, Джерри З. Мюллер.
- Lean Analytics, Алистер Кролл и Бенджамин Йоскович.
- Руководство Главного контрольно-финансового управления США (GAO) по измерению эффективности и Закону о модернизации GPRA.