Перейти к основному содержимому

LBO-модель

Построение моделей выкупа с использованием заемных средств (LBO) в Excel — источники и использование, график погашения долга, денежный поток, мультипликатор на выходе, чувствительность IRR/MOIC. Работает в паре с excel-author. Используется для скрининга PE-сделок, оценки спонсорских сценариев или иллюстративного LBO в презентации.

Метаданные навыка​

ИсточникОпционально — установка: vibeos skills install official/finance/lbo-model
Путьoptional-skills/finance/lbo-model
Версия1.0.0
АвторAnthropic (адаптировано Nous Research)
ЛицензияApache-2.0
Платформыlinux, macos, windows
Тегиfinance, valuation, lbo, private-equity, excel, openpyxl, modeling
Связанные навыкиexcel-author, pptx-author, dcf-model, 3-statement-model

Справочник: полный SKILL.md​

к сведению

Ниже приведено полное определение навыка, которое VibeOS загружает при его активации. Агент видит эти инструкции, когда навык активен.

Окружение​

Этот навык предполагает headless openpyxl — вы создаете файл .xlsx на диске. Следуйте соглашениям навыка excel-author по цветовой маркировке ячеек, формулам, именованным диапазонам и таблицам чувствительности. Пересчитайте перед сдачей: python /path/to/excel-author/scripts/recalc.py ./out/model.xlsx.


ТРЕБОВАНИЕ К ШАБЛОНУ​

Этот навык использует шаблоны для LBO-моделей. Всегда сначала проверяйте наличие прикрепленного файла шаблона.

Перед началом работы над любой LBO-моделью:

  1. Если файл шаблона прикреплен/предоставлен: Используйте структуру этого шаблона точно — скопируйте его и заполните данными пользователя.
  2. Если шаблон не прикреплен: Спросите пользователя: «У вас есть конкретный шаблон LBO, который вы хотели бы использовать? Если нет, я могу использовать стандартный шаблон, который включает Источники и Использование, Операционную модель, График погашения долга и Анализ доходности.»
  3. При использовании стандартного шаблона: Скопируйте examples/LBO_Model.xlsx в качестве отправной точки и заполните его допущениями пользователя.

ВАЖНО: Когда файл, например LBO_Model.xlsx, прикреплен, вы ОБЯЗАНЫ использовать его в качестве шаблона — не создавайте модель с нуля. Даже если шаблон кажется сложным или содержит больше функций, чем необходимо, скопируйте его и адаптируйте под требования пользователя. Никогда не принимайте решение «создать с нуля», если шаблон предоставлен.


КРИТИЧЕСКИЕ ИНСТРУКЦИИ — ПРОЧИТАЙТЕ В ПЕРВУЮ ОЧЕРЕДЬ​

Используйте Python/openpyxl. Записывайте строки формул (ws["D20"] = "=B5*B6"), затем запускайте вспомогательный скрипт recalc.py навыка excel-author перед сдачей.

Основные принципы​

  • Каждое вычисление должно быть формулой Excel — НИКОГДА не вычисляйте значения в Python и не вставляйте результаты в ячейки как константы. При использовании openpyxl пишите cell.value = "=B5*B6" (строка формулы), а НЕ cell.value = 1250 (вычисленный результат). Модель должна быть динамической и обновляться при изменении входных данных.
  • Используйте структуру шаблона — Следуйте организации в examples/LBO_Model.xlsx или предоставленном пользователем шаблоне. Не придумывайте свою собственную структуру.
  • Используйте правильные ссылки на ячейки — Все формулы должны ссылаться на соответствующие ячейки. Никогда не вводите числа, которые должны браться из других ячеек.
  • Соблюдайте единообразие знаков — Следуйте соглашению о знаках, используемому в шаблоне (некоторые используют отрицательные значения для оттоков, другие — положительные). Будьте последовательны.
  • Работайте по разделам, проверяйте с пользователем на каждом этапе — Полностью завершите один раздел, покажите пользователю, что было построено, выполните проверки раздела и получите подтверждение ПЕРЕД переходом к следующему разделу. НЕ стройте всю модель целиком, а затем представляйте ее — последующие разделы зависят от предыдущих, и обнаружение ошибки в Источниках и Использовании после того, как доходность уже построена, означает переделку везде.

Цветовые соглашения для формул​

  • Синий (0000FF): Жестко заданные входные данные — введенные числа, не ссылающиеся на другие ячейки.
  • Черный (000000): Формулы с вычислениями — любая формула, использующая операторы или функции (=B4*B5, =SUM(), =-MAX(0,B4)).
  • Фиолетовый (800080): Ссылки на ячейки на том же листе — прямые ссылки без вычислений (=B9, =B45).
  • Зеленый (008000): Ссылки на ячейки на других листах — межлистовые ссылки (=Assumptions!B5, ='Operating Model'!C10).

Палитра заливки — профессиональные синие и серые (по умолчанию, если пользователь/шаблон не указал иное)​

  • Используйте минимум — используйте только синие и серые цвета для заливки ячеек. НЕ вводите зеленые, желтые, красные или множественные акценты. Профессиональная LBO-модель использует сдержанность.
  • Палитра заливки по умолчанию:
    • Заголовки разделов (Источники и Использование, Операционная модель и т.д.): Темно-синий #1F4E79 с белым жирным текстом.
    • Заголовки столбцов (Год 1, Год 2 и т.д.): Светло-синий #D9E1F2 с черным жирным текстом.
    • Ячейки ввода: Светло-серый #F2F2F2 (или просто белый) — синий шрифт является сигналом, заливка второстепенна.
    • Ячейки формул/вычислений: Белый, без заливки.
    • Ключевые результаты (IRR, MOIC, Собственный капитал на выходе): Средне-синий #BDD7EE с черным жирным текстом.
  • Это вся палитра. 3 синих + 1 серый + белый. Если шаблон использует свои цвета, следуйте шаблону.
  • Примечание: Синий/черный/фиолетовый/зеленый цвета шрифта выше предназначены для различения входных данных, формул и ссылок. Они отделены от палитры заливки здесь — оба работают вместе.

Стандарты форматирования чисел​

  • Валюта: $#,##0;($#,##0);"-" или $#,##0.0 в зависимости от шаблона.
  • Проценты: 0.0% (один десятичный знак).
  • Мультипликаторы: 0.0"x" (один десятичный знак).
  • MOIC/Детальные коэффициенты: 0.00"x" (два десятичных знака для точности).
  • Все числовые ячейки: Выравнивание по правому краю.

Сначала уточните требования​

Перед заполнением любых формул:

  • Изучите структуру шаблона — Определите все разделы, поймите временную шкалу (какие столбцы соответствуют каким периодам), отметьте существующие формулы.
  • Спросите пользователя, если что-то неясно — Если структура шаблона, методы расчета или требования неоднозначны, спросите, прежде чем продолжить.
  • Подтвердите ключевые допущения — Любые ключевые входные данные, предпочтения по расчетам или особые требования.
  • ТОЛЬКО ПОСЛЕ понимания шаблона приступайте к заполнению формул.

ЭТАП АНАЛИЗА ШАБЛОНА — СДЕЛАЙТЕ ЭТО В ПЕРВУЮ ОЧЕРЕДЬ​

Перед заполнением любых формул тщательно изучите шаблон:

  1. Сопоставьте структуру — Определите, где находится каждый раздел и как они связаны друг с другом. Отметьте, какие разделы передают данные в другие.

  2. Поймите временную шкалу — Какие столбцы представляют какие периоды? Есть ли столбец «Закрытие» или «Проформа»? Где начинается прогнозный период?

  3. Определите ячейки ввода и формулы — Шаблоны часто используют цветовую кодировку, границы или затенение, чтобы указать, какие ячейки требуют ввода, а какие — формул. Соблюдайте эти соглашения.

  4. Внимательно прочитайте существующие метки — Метки строк точно говорят, какое вычисление ожидается. Не предполагайте — прочитайте, что требует шаблон.

  5. Проверьте наличие существующих формул — Некоторые шаблоны могут быть частично заполнены. Не перезаписывайте работающие формулы, если это специально не запрошено.

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


ЗАПОЛНЕНИЕ ФОРМУЛ — ОБЩИЙ ПОДХОД​

Для каждой ячейки, требующей формулы, следуйте этой иерархии:

Шаг 1: Проверьте шаблон​

  • Есть ли в ячейке уже формула? Если да, проверьте ее правильность и переходите дальше.
  • Есть ли комментарий или примечание, указывающее ожидаемое вычисление?
  • Очевидно ли вычисление из метки строки/столбца?
  • Показывают ли соседние ячейки шаблон, которому вы должны следовать?

Шаг 2: Проверьте инструкции пользователя​

  • Указал ли пользователь конкретный метод расчета?
  • Есть ли сформулированные допущения, влияющие на эту формулу?
  • Есть ли какие-либо особые требования?

Шаг 3: Примените стандартную практику​

  • Если ни шаблон, ни пользователь не указали иное, используйте стандартные соглашения моделирования LBO.
  • Документируйте любые сделанные вами допущения.
  • Если вы действительно не уверены, спросите пользователя.

ОБЩИЕ ПРОБЛЕМНЫЕ ОБЛАСТИ​

Следующие шаблоны расчетов часто вызывают проблемы в LBO-моделях. Уделите им особое внимание, когда столкнетесь с ними:

Балансировка разделов​

  • Когда два раздела должны быть равны (например, Источники = Использование), один элемент обычно является «заглушкой» (балансирующей величиной).
  • Определите, какой элемент является заглушкой, и рассчитайте его как разницу.

Налоговые расчеты​

  • Налоговые формулы должны ссылаться только на соответствующую строку дохода и ставку налога.
  • НЕ должны ссылаться на несвязанные разделы (например, графики погашения долга).
  • Учитывайте, создают ли убытки налоговые щиты или просто игнорируются.

Проценты и циклические ссылки​

  • Расчеты процентов могут создавать циклические ссылки, если они ссылаются на остатки, на которые влияют денежные потоки.
  • Используйте Начальный остаток (не средний или конечный), чтобы разорвать циклические ссылки.
  • Шаблон: Проценты → Денежный поток → Погашение → Конечный остаток (если проценты используют конечный остаток, это зацикливается).

Погашение долга / Денежный поток (Cash Sweep)​

  • Когда существует несколько траншей долга, обычно существует приоритетный порядок.
  • Денежный поток должен соблюдать приоритетный водопад.
  • Остатки не могут быть отрицательными — используйте функции MAX или MIN соответствующим образом.

Расчеты доходности (IRR/MOIC)​

  • Денежные потоки должны иметь правильные знаки: Инвестиции = отрицательные, Поступления = положительные.
  • При использовании XIRR необходимы соответствующие даты.
  • При использовании IRR денежные потоки должны быть в последовательных периодах.
  • MOIC = Общие поступления / Общие инвестиции.

Таблицы чувствительности​

  • Используйте НЕЧЕТНЫЕ размерности (5×5 или 7×7) — никогда 4×4 или 6×6. Нечетные размерности гарантируют наличие истинной центральной ячейки.
  • Центральная ячейка = базовый сценарий. Постройте значения осей строк и столбцов симметрично вокруг фактических допущений модели (например, если базовый входной мультипликатор = 10.0x, ось = [8.0x, 9.0x, 10.0x, 11.0x, 12.0x]). IRR/MOIC в центральной ячейке ДОЛЖНЫ равняться фактическому результату IRR/MOIC модели — это доказательство правильности подключения таблицы.
  • Выделите центральную ячейку — заливка средне-синим (#BDD7EE) + жирный шрифт, чтобы базовый сценарий был визуально закреплен.
  • Функция ТАБЛИЦА ДАННЫХ Excel может не работать с openpyxl — вместо этого пишите явные формулы, ссылающиеся на заголовки строк и столбцов.
  • Каждая ячейка должна показывать РАЗНОЕ значение — если все одинаковы, формулы не варьируются правильно.
  • Используйте смешанные ссылки (например, $A5 для ввода строки, B$4 для ввода столбца).

КОНТРОЛЬНЫЙ СПИСОК ПРОВЕРКИ — ВЫПОЛНИТЕ ПОСЛЕ ЗАВЕРШЕНИЯ​

Запустите проверку формул​

python /path/to/excel-author/scripts/recalc.py model.xlsx

Должен вернуть успех с нулевым количеством ошибок.

Балансировка разделов​

  • Все разделы, которые должны балансироваться (Источники/Использование, Активы/Обязательства), балансируются точно.
  • Элементы-заглушки рассчитаны правильно как балансирующая величина.
  • Суммы, которые должны совпадать в разных разделах, согласованы.

Прогнозы доходов/операционные​

  • Выручка/верхняя строка строится правильно на основе драйверов или темпов роста.
  • Все статьи затрат и расходов рассчитаны соответствующим образом.
  • Промежуточные итоги и итоги суммируются правильно.
  • Маржа и коэффициенты разумны.
  • Ссылки на допущения верны.

Балансовый отчет (если применимо)​

  • Активы = Обязательства + Собственный капитал (должен балансироваться).
  • Все статьи связаны с соответствующими графиками или сверками.
  • Начальные остатки = конечные остатки предыдущего периода.
  • Строка проверки включена и показывает ноль.

Денежный поток (если применимо)​

  • Начинается с правильного показателя дохода.
  • Не денежные статьи добавлены/вычтены соответствующим образом.
  • Изменения оборотного капитала имеют правильные знаки.
  • Конечный остаток денежных средств = Начальный остаток + Чистый денежный поток.
  • Остатки денежных средств согласованы по всем отчетам.

Вспомогательные графики​

  • Графики сверки балансируются (Начало + Изменения = Конец).
  • Графики правильно связаны с основными отчетами. -- [ ] Рассчитанные статьи используют соответствующие драйверы.
  • Все периоды рассчитаны последовательно.

Графики долга/финансирования (если применимо)​

  • Начальные остатки привязаны к источникам или предыдущему периоду.
  • Проценты рассчитаны на основе соответствующего остатка (обычно начального).
  • Погашения учитывают наличие денежных средств и приоритет.
  • Конечные остатки не могут быть отрицательными.
  • Итоги правильно суммируют транши.

Анализ доходности/результатов​

  • Стоимость при выходе/терминальная стоимость рассчитана правильно.
  • Включены все соответствующие корректировки.
  • Знаки денежных потоков верны (отрицательные для инвестиций, положительные для поступлений).
  • Формулы IRR/MOIC ссылаются на полные диапазоны.
  • Результаты разумны для данного сценария.

Таблицы чувствительности (если применимо)​

  • Размерности сетки НЕЧЕТНЫЕ (5×5 или 7×7) — есть истинная центральная ячейка.
  • Значения осей строк и столбцов симметричны относительно базового сценария ([base-2Δ, base-Δ, base, base+Δ, base+2Δ]).
  • Результат центральной ячейки равен фактическому IRR/MOIC модели — подтверждает правильность подключения таблицы.
  • Центральная ячейка выделена (заливка средне-синим #BDD7EE, жирный шрифт).
  • Заголовки строк и столбцов содержат соответствующие входные значения.
  • Каждая ячейка данных содержит формулу (не жестко заданное значение).
  • Каждая ячейка данных показывает РАЗНОЕ значение.
  • Значения движутся в ожидаемых направлениях (более высокий мультипликатор на выходе → более высокий IRR и т.д.).

Форматирование​

  • Жестко заданные входные данные — синие (0000FF).
  • Вычисляемые формулы — черные (000000).
  • Ссылки на том же листе — фиолетовые (800080).
  • Межлистовые ссылки — зеленые (008000).
  • Все числа выровнены по правому краю.
  • Применены соответствующие числовые форматы по всему документу.
  • Ни в одной ячейке нет значений ошибок (#REF!, #DIV/0!, #VALUE!, #NAME?).

Логические проверки на здравый смысл​

  • Числа имеют разумный порядок величины.
  • Тенденции имеют смысл (рост, снижение, стабилизация, как и ожидалось).
  • Нет явно неверных значений (отрицательные там, где должны быть положительными, невозможные проценты и т.д.).
  • Ключевые результаты находятся в разумных диапазонах для данного типа анализа.

РАСПРОСТРАНЕННЫЕ ОШИБКИ, КОТОРЫХ СЛЕДУЕТ ИЗБЕГАТЬ​

ОшибкаВ чем проблемаКак исправить
Жесткое задание вычисляемых значенийМодель не обновляется при изменении входных данныхВсегда используйте формулы, ссылающиеся на исходные ячейки
Неправильные ссылки на ячейки после копированияФормулы указывают на неверные ячейкиПроверьте все ссылки, используйте соответствующую фиксацию $
Ошибки циклических ссылокМодель не может рассчитатьИспользуйте начальные остатки для расчетов типа процентов, разорвите круг
Разделы не балансируютсяИтоги, которые должны совпадать, не совпадаютУбедитесь, что один элемент является заглушкой (рассчитывается как разница)
Отрицательные остатки там, где это невозможноПлатежи/использование больше, чем доступноИспользуйте MAX(0, ...) или MIN соответствующим образом
Ошибки IRR/доходностиНеправильные знаки или неполные диапазоныПроверьте знаки денежных потоков и убедитесь, что формула охватывает все периоды
Таблица чувствительности показывает одно и то же значениеФормула не варьируется с входными даннымиПроверьте ссылки на ячейки — нужны смешанные ссылки ($A5, B$4)
Сверки не сходятсяНачало ≠ конец предыдущего периодаПроверьте связи между периодами
Несогласованные соглашения о знакахСложения становятся вычитаниями или наоборотПоследовательно следуйте соглашению шаблона

РАБОТА С ПОЛЬЗОВАТЕЛЕМ — КОНТРОЛЬНЫЕ ТОЧКИ ПО РАЗДЕЛАМ​

  • Если структура шаблона неясна, спросите, прежде чем продолжить.
  • Если требования пользователя противоречат шаблону, подтвердите его предпочтение.
  • После завершения каждого основного раздела ОСТАНОВИТЕСЬ и проверьте с пользователем, прежде чем продолжить:
    • После Источников и Использования → покажите сбалансированную таблицу, подтвердите правильность заглушки, получите одобрение перед построением операционной модели.
    • После Операционной модели / Прогнозов → покажите прогнозируемый P&L, подтвердите, что темпы роста и маржа выглядят правильно, получите одобрение перед графиком долга.
    • После Графика долга → покажите начальные/конечные остатки и проценты, подтвердите логику водопада, получите одобрение перед доходностью.
    • После Доходности (IRR/MOIC) → покажите ряд денежных потоков и результаты, подтвердите знаки и диапазоны, получите одобрение перед таблицами чувствительности.
    • После Таблиц чувствительности → покажите, что каждая ячейка варьируется, подтвердите, что базовый сценарий попадает туда, куда ожидалось.
  • Если во время проверки обнаружены ошибки, исправьте их, прежде чем переходить к следующему разделу.
  • Показывайте свою работу — объясняйте ключевые формулы или допущения, когда это полезно.
  • Никогда не представляйте завершенную модель без проверки на каждом разделе — быстрее поймать неверную ссылку на ячейку в источнике, чем проследить ее обратно от сломанного IRR.

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

Источники данных — сначала MCP, затем веб-резерв​

Во многих разделах ниже говорится «используйте S&P Kensho MCP / Daloopa MCP / FactSet MCP». Это коммерческие MCP финансовых данных из оригинального контекста плагина Cowork. В VibeOS:

  • Если у вас настроен какой-либо структурированный MCP финансовых данных (VibeOS поддерживает MCP — см. навык native-mcp), отдавайте ему предпочтение для сопоставимых компаний на текущий момент, прецедентных сделок и отчетности.
  • В противном случае используйте резервные варианты:
    • web_search / web_extract для SEC EDGAR (https://www.sec.gov/cgi-bin/browse-edgar) для отчетности США.
    • Страницы IR компаний для пресс-релизов, презентаций по доходам.
    • browser_navigate для интерактивных порталов данных.
    • Данные, предоставленные пользователем (явно спрашивайте, когда в контексте их нет).
  • Никогда не выдумывайте. Если мультипликатор, прецедент или номер отчета не могут быть получены, пометьте ячейку как [UNSOURCED] и сообщите об этом пользователю.

Атрибуция​

Этот навык адаптирован из набора плагинов Anthropic's Claude for Financial Services (Apache-2.0). Пути Office-JS / Cowork live-Excel удалены; эта версия ориентирована на headless openpyxl через соглашения навыка excel-author. Оригинал: https://github.com/anthropics/financial-services