Research · Дефекты ИИ-моделей

Что ломается в финмоделях,
которые собирает ИИ

Таксономия из 55 классов дефектов, снятая повторным экономическим аудитом 32 моделей. Не «ИИ иногда ошибается в формулах» — конкретные, повторяющиеся, классифицируемые способы, которыми модель становится неправильной, оставаясь внешне здоровой.

32

модели в аудите

55

классов дефектов

258

находок

4/10

медианный скор на пике отладки

Откуда эти данные — честная рамка

Все 32 модели собраны нашим собственным движком в отладочной программе 2026 года. Это не аудит чужих продуктов и не рыночная статистика — это наш внутренний отладочный датасет, который мы решили опубликовать.

Аудит датирован (2026-07-24) и снят единой таксономией: 19 накопленных классов плюс 36 новых кластеров, найденных этим прогоном. Медианный экономический скор — 4 из 10 на пике программы: алгебра моделей была доказана гейтами, а вот экономическое построение против брифа — нет.

Каждый класс из таблицы получает механизм или машинный детектор; волны исправлений доведены до продакшена. Мы публикуем это, потому что не видели, чтобы кто-то публиковал дефектологию ИИ-генерируемых моделей на собственных данных.

Восемь семейств дефектов

Полная таксономия аудита, сгруппированная по природе дефекта. Счётчик — находок в аудите; P0 — модели, где класс был критическим.

Механизация брифа

Самое дорогое семейство: бриф просил механизм — кредитную линию, эскроу, вторую очередь — а модель молча собрана без него. Число в ячейке не ошибочно; отсутствует кусок экономики.

Класс дефектаНаходокP0-моделей
Запрошенный KPI отсутствует в выдаче19
Бриф просил механизм — в модели его молча нет1616
Статья разнесена не в тот раздел отчёта137
Метод выхода молча подменён в расчёте доходности11
Контрактация признана выручкой целого года1
Условия предоплаты подключены с обратным знаком1
Семантика дефолта/потерь расходится с брифом1
Гринфилд-профиль CAPEX навязан работающему активу11
Стартовые допущения гринфилда у действующего бизнеса1
Поддерживающий CAPEX свален в фантомный год стройки1
Старт операций молча обрезает ряд объёмов1

Утечки шаблона

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

Класс дефектаНаходокP0-моделей
Дефолт шаблона просочился мимо фактов брифа28
Налоговый режим и перенос убытков — чужие дефолты22
Мёртвые драйверы: ряды вбиты за живыми на вид инпутами21
Мёртвый драйвер отмыт фиктивной ссылкой1
Годовой переключатель заморожен в скалярном драйвере1

Долг и финансирование

Графики долга константами, неверная амортизация, резервы, подогнанные обратным решением, противоречащие структуры капитала.

Класс дефектаНаходокP0-моделей
График долга вбит константами с неверной амортизацией1613
Резерв финансирования подогнан обратным решением65
Ряд DSCR обрезан или загрязнён22
Две противоречащие структуры капитала в одной модели11
Проценты на базе, не согласованной со строкой баланса1

Время и оборотный капитал

Фантомные нулевые годы, оборотный капитал на пустой базе, сезонность, заявленная, но ровная, призрачные хвосты за пределами жизни актива.

Класс дефектаНаходокP0-моделей
Оборотный капитал умножает пустую базу20
Фантомный нулевой год: блоки разъехались вокруг старта87
Дрейф горизонта: призрачный хвост за пределами жизни актива85
Сезонность заявлена, а ряд ровный2
Предоткрытие без расходов1
Годовая сетка засчитывает когортам полный год1
Ёмкость, равная спросу, срезает сезонный пик1
Месячный сателлит: ровный опекс при сезонной выручке1

Рост и индексация

Замороженные эскалаторы, ошибки компаундинга, асимметричная индексация затрат к выручке — и хвост разовых арифметических сбоев.

Класс дефектаНаходокP0-моделей
Единичные искажения (разовые арифметические сбои)24
Эскалатор заморожен на уровне первого года1
Драйвер роста заморожен в базовом году1
Разгон роста сложен с ошибкой компаундинга1
Затраты индексируются асимметрично выручке1

Доходность и терминал

Головной IRR, не отвечающий ни на один инвестиционный вопрос; декоративные cap rate при правящем терминале Гордона; терминальная стоимость без поддерживающего CAPEX.

Класс дефектаНаходокP0-моделей
Головной IRR, не отвечающий ни на один инвестиционный вопрос77
Головные метрики сняты не с того года2
Cap rate выхода декоративен — правит терминал Гордона11
Незапрошенный перпетуитет-выход доминирует в NPV11
Терминальная стоимость без поддерживающего CAPEX11
Невзвешенный по риску headline на rNPV-сделке11

Целостность выдачи

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

Класс дефектаНаходокP0-моделей
Ответ в чате расходится с книгой2
Вердикт пересертификации расходится с экспортом1
Факт брифа помечен как допущение1
Факт брифа понижен до шаблонного дефолта1
Метки происхождения перепутаны местами1
Происхождение значения теряет факт брифа1
Происхождение значений инвертировано1
Оси сценариев подключены к неработающим рычагам1
Вырожденная панель сценариев — все случаи схлопываются1
Синтетическая ось сценария, оторванная от модели1
Дельта сценария на нулевой строке даёт отрицательную себестоимость1
Кастомный ряд не совпадает длиной с сеткой модели1
CAPEX учтён дважды: разовым платежом и годовым рядом1

Структурная капитуляция

Редкое, но фатальное: балансовый бизнес (банк) натянут на generic-DCF без депозитов; цепочка затрат схлопнута в один процент.

Класс дефектаНаходокP0-моделей
Цепочка затрат схлопнута в один калиброванный процент43
Generic-DCF натянут на балансовый бизнес (банк без депозитов)22

Шесть профилей крупным планом

Самые поучительные классы: как выглядит дефект, почему он выживает и чем ловится машиной.

Бриф просил механизм — его молча нет

Как выглядит
Бриф описывает кредитную линию, эскроу-схему или вторую очередь стройки. Агент собирает модель без этого механизма — она сходится, сертифицируется и выглядит здоровой.
Почему выживает
Это класс №1 по критичности: 16 моделей из 32, все — P0. Ошибки нет ни в одной ячейке; отсутствует кусок экономики, и заметить это можно только сверкой выдачи с брифом, а не проверкой модели самой по себе.
Чем ловится
Интейк-гейт обязательных структур перед сборкой + сигнатурные детекторы блоковых вертикалей: модель с лексикой кредитования, но без кредитного блока, не проходит сборку.

Дефолт шаблона просочился мимо брифа

Как выглядит
Клиент назвал свою маржу, ставку или долю — а в модели осталась калибровка шаблона. Самый массовый класс: 28 находок.
Почему выживает
Число выглядит правдоподобно, потому что оно правдоподобно — для другого бизнеса. Без меток происхождения отличить факт клиента от дефолта шаблона в готовой книге невозможно.
Чем ловится
Провенанс-метки на каждом драйвере (факт брифа / калибровка / дефолт) и сверка: факты брифа обязаны пережить сборку дословно.

График долга вбит константами

Как выглядит
Ряд процентов и погашений вбит числами: амортизация не того типа (аннуитет вместо равных долей), рефинанс не отражён, при изменении ставки ряд не шевелится.
Почему выживает
13 из 16 случаев — P0. Долг — самая связная часть модели: вбитый ряд рвёт связь с балансом и DSCR, и модель перестаёт отвечать на вопрос «а если ставка выше».
Чем ловится
Долговой блок обязан строиться механизмом из условий кредита; детектор вбитых серий помечает ряды без формульной родословной.

Оборотный капитал умножает пустую базу

Как выглядит
Кредиторка задана долей от закупок — а строка закупок в этой модели пуста. Доля умножает ноль: оборотный капитал исчезает, кэш-флоу приукрашен. 20 находок.
Почему выживает
Ошибка невидима в отчётах: баланс сходится, знаки правильные, просто одна из строк тихо равна нулю на всём горизонте.
Чем ловится
База каждой доли — явный выбор, а не соглашение; линт пустой базы валит сборку, если доля умножает нулевую строку.

IRR, не отвечающий ни на один вопрос

Как выглядит
Заголовочный IRR посчитан от смеси несравнимых потоков — levered с unlevered, операционный поток с экзитом чужого горизонта. Число есть; вопроса, на который оно отвечает, нет.
Почему выживает
Все 7 случаев — P0: это число уходит в решение. IRR — самая цитируемая метрика модели и самая лёгкая в порче: функция вернёт результат почти для любого ряда.
Чем ловится
Дисциплина подписей 2×2 (проектный/акционерный × с плечом/без) и гард множественных корней: неоднозначный IRR не публикуется как головной.

Призрачный хвост за пределами жизни актива

Как выглядит
Актив конечен — лицензия, месторождение, аренда — но поток продолжает жить за пределом: выручка после исчерпания, D&A после списания, долг, не погашенный к концу жизни.
Почему выживает
Хвост из двух-трёх лишних лет может дать заметную долю NPV. Модель выглядит консервативной по каждому году и лжёт совокупностью.
Чем ловится
Finite-life механика: срок жизни — свойство актива, а не сетки; терминальные гейты сверяют выживание каждой строки с жизнью актива.

Как это соотносится со стандартами

Стандарты моделирования существуют, и мы на них опираемся: FAST Standard — признанный стандарт ремесла; ICAEW Financial Modelling Code — свод принципов, по которому мы замеряем собственный экспорт; SSRB и методологии модельного аудита — зрелая дисциплина проверки руками.

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

Что проверяется в каждой сборке

Таксономия — не музей: каждый класс закрыт механизмом или детектором, и проверка выполняется машиной при каждой сборке модели.

  • Паритет Python ↔ Excel: каждая формула книги пересчитывается независимо, допуск 1e-6.
  • Схождение трёх отчётов: баланс обязан сойтись, несведённая модель не собирается.
  • Полосы правдоподобия с источниками: головные метрики против отраслевых диапазонов с документами.
  • Сигнатурные детекторы структур: лексика брифа без соответствующего блока валит сборку.
  • Линты мёртвых драйверов и пустых баз: «живой» инпут обязан влиять на модель.
  • Провенанс-метки: факт брифа, калибровка или дефолт — у каждого значения есть родословная.

Аудит датирован 2026-07-24; таксономия: 55 классов на 32 моделях.

Постройте модель, которую проверила машина

Rootsmodel собирает трёхотчётную модель с живыми формулами и прогоняет её через все проверки из этого списка — сертификат целостности прилагается к каждой сборке.