Почему у директора и у бухгалтера разные цифры?
Цифра рождается в трёх местах сразу. Менеджер записывает поступления, бухгалтерия проводит расходы, склад ведёт остатки — и каждый пишет в свой файл, в своё время, по своим правилам. Сводить некому, поэтому итоги расходятся.
Дальше включается второй механизм — двойной ввод. Одно и то же событие сотрудник заносит в программу, дублирует в таблицу и пересылает в мессенджер. Каждая копия живёт своей жизнью, и через месяц уже не найти, какая из них верна.
О том, что двойной ввод убивает любую систему, я писал в разборе перехода с бумаги на планшеты. В теме показателей у него есть отдельное последствие: пока событие вносится дважды, ни одна цифра не может быть правильной по определению — их всегда минимум две.
Третий механизм самый тихий: расчёт, сделанный однажды, продолжают считать верным. Разбор мебельного производства на vc.ru показывает, как это выглядит в цифрах. Плановая себестоимость кухни — 170 тысяч рублей. При трёх заказах в месяц факт совпадал с планом, при пяти поднимался до 190 тысяч, при семи — до 210 тысяч: на пиковой загрузке вылезали узкие места, сверхурочные и брак, которых в статическом расчёте не было. Сорок тысяч терялись на каждой кухне.
Почему таблицы врут даже у британского здравоохранения и JPMorgan?
Потому что врут не таблицы, а ручной процесс поверх них. Ошибки в файлах встречаются гораздо чаще, чем принято думать. Раймонд Панко, который тридцать лет собирает исследования по этой теме, сводит полевые аудиты к одной строке:
В совокупности эти исследования обнаружили ошибки в 94 % изученных таблиц.
Там же он делает вывод, который бьёт больнее самой цифры: ошибки крайне трудно обнаружить, а составители таблиц чрезмерно уверены в их точности.
Три публичные истории показывают, чем это заканчивается.
Агентство общественного здравоохранения Англии, октябрь 2020 года. Потеряно 15 841 положительный результат теста на коронавирус за неделю. Причина — устаревший формат файла с лимитом в 65 536 строк: всё, что не помещалось, обрезалось при импорте молча. Заболевшим результат сообщили, а их контакты не отследили.
JPMorgan, 2012 год. Внутренний отчёт по убытку около 6 млрд долларов описывает механику прямо: модель работала на цепочке таблиц, которые заполнялись вручную копированием данных из одного файла в другой. Одна из формул вместо среднего делила на сумму двух величин, и модель систематически занижала риск.
Экономическая статья Reinhart–Rogoff, 2010 год. Вывод о том, что при госдолге выше 90 % ВВП рост экономики уходит в минус, годами служил аргументом за жёсткую экономию. В 2013 году аспирант с двумя профессорами попробовал воспроизвести расчёт: при усреднении в формуле не был выделен весь диапазон строк, из расчёта выпали пять стран. После исправления минус 0,1 % превратился в плюс 2,2 %.
Если таблицы врут у государственного агентства и у инвестиционного банка, на небольшом производстве они врут тоже. Разница только в том, что об этом никто не напишет.
Понять, какие события у вас стоит писать автоматически, помогает бесплатное техническое задание: бот собирает его по вашим процессам и показывает, что войдёт в систему.
Пять источников, откуда берётся цифра
Откуда брать данные для отчёта, видно по происхождению каждой цифры — и по нему же понятно, насколько ей можно верить.
| Источник | Задержка | Чему можно верить | Чего стоит |
|---|---|---|---|
| Ручной ввод в тетрадь или таблицу | От часов до месяца | Дисциплине того, кто вносит | Времени сотрудника плюс ошибки переноса |
| Выгрузка из бухгалтерской системы | От недели до месяца | Деньгам и закрытым документам | Ничего сверх того, что уже есть |
| Система учёта в момент события: CRM, MES, WMS | Секунды | Событиям, которые в ней происходят | От 100 000 ₽ за CRM до 200 000 ₽ за MES, первый работающий этап 2–4 недели |
| Автоматический съём с оборудования: счётчики, датчики | Секунды | Физике — моточасы, температура, расход | От 90 000 ₽, первый работающий этап 2–4 недели |
| Внешние сервисы: банк, маркетплейс, транспорт | Минуты | Тому, что произошло вне вашего контура | Обычно бесплатно, нужна настройка обмена |
Цены в двух строках — мои, они опубликованы на странице услуг. Работает это линейно: чем позже цифра появляется, тем меньше ей веры и тем меньше с ней можно сделать. Данные, попавшие в отчёт через месяц, годятся для налоговой и не годятся для управления.
Чем позже появилась цифра, тем меньше в ней события и тем больше — воспоминания о нём.
Есть и обратная ловушка — считать, что программа сама наведёт порядок:
Программа не создаёт порядок сама. Она усиливает то, что уже есть в компании.
Дальше Соколов разворачивает мысль по пунктам: отлаженный процесс программа ускорит, готовую базу масштабирует, а хаос сделает обязательным для заполнения — и хаоса станет больше.
Поэтому порядок операций обратный привычному: сначала договориться, где именно рождается событие и кто его фиксирует, и только потом выбирать, чем его фиксировать.
Почему отчёт из 1С не заменяет оперативный?
Возражение «отчёты у нас есть, они в 1С» — самое частое по теме, и звучит оно резонно. Качество 1С тут ни при чём: вопрос в том, для чего она сделана.
Бухгалтерский контур работает с документами. Запись появляется, когда документ проведён: накладная закрыта, акт подписан, период закрыт. Это правильная механика для налоговой и для денег, и она по устройству отстаёт от цеха на дни, а иногда на месяц.
Оперативный вопрос звучит иначе: где заказ прямо сейчас, сколько брака дал участок за смену, успеваем ли мы к пятнице. Документа под эти события ещё нет, поэтому в бухгалтерской системе их тоже нет.
Разница между двумя контурами — в моменте появления записи. Бухгалтерия фиксирует факт после того, как он оформлен; оперативный учёт — в момент, когда он произошёл.
На практике это значит вот что. 1С остаётся у бухгалтера и продолжает делать свою работу, а рядом появляется контур, который пишет события сразу на месте и отдаёт в 1С готовые данные. Никто ничего не вводит дважды. Как выглядит такой обмен на производстве, видно в разборе минимального MES для цеха.
Как проверить, врут ли ваши цифры?
Три теста, которые занимают вечер и не требуют ни бюджета, ни программ.
- Спросите одну цифру у трёх человек. Сколько заказов сейчас в работе? Задайте вопрос мастеру, менеджеру и бухгалтеру по отдельности, не показывая ответы друг другу. Три разных числа означают, что единого источника у вас нет.
- Возьмите одну позицию и сходите на склад. Сравните остаток в таблице с тем, что лежит на полке. Расхождение по одной случайной позиции — почти всегда признак того, что расходятся и остальные.
- Пересчитайте один итог руками. Возьмите строку отчёта, за которой стоит формула, и посчитайте её на калькуляторе по исходным данным. Именно так нашли ошибку в статье Reinhart–Rogoff.
Если хотя бы один тест провалился, к самим показателям переходить рано: семь цифр, по которым видно состояние производства, будут врать ровно настолько, насколько врёт источник. А когда источники приведены в порядок, встаёт следующий вопрос — как на эти цифры смотреть, чтобы отчёт не умер через месяц. Про это — дашборд для директора.
Источники
- Panko R. «What We Don't Know About Spreadsheet Errors Today», Proc. 16th EuSpRIG Conference, London, 2015 — arxiv.org
- Public Health England, потеря 15 841 результата теста из-за лимита строк, октябрь 2020 — theregister.com
- JPMorgan Chase, отчёт Management Task Force об убытках CIO за 2012 год, 16.01.2013, сс. 124 и 128 — первоисточник (PDF); разбор — henricodolfing.ch
- Herndon T., Ash M., Pollin R. «Does High Public Debt Consistently Stifle Economic Growth? A Critique of Reinhart and Rogoff», PERI, University of Massachusetts Amherst, 2013 — peri.umass.edu
- Разбор себестоимости мебельного производства: план 170 тысяч против факта 210 тысяч на пиковой загрузке, 25.02.2025 — vc.ru
- Соколов Е. («Автологика») о том, что программа усиливает существующий порядок — vc.ru