margin-analyzer
Разбирает юнит-экономику по товарам и услугам: подтягивает поступления из систем платежей и данные о себестоимости из бухгалтерии, считает маржу с учётом статуса НДС, сравнивает с инфляцией и изменением затрат и показывает данные по сценариям цены (например, «рост цены на 5% исто
Install
npx skills add https://github.com/ilyautov/small-business-ru/tree/main/small-business-ru/skills/margin-analyzer
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install ilyautov-small-business-ru@llmmart
git clone https://github.com/ilyautov/small-business-ru.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole ilyautov/small-business-ru collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Анализатор маржи
Выручка растёт, а денег на счету не прибавляется — почти всегда виновата маржа, которую никто не считает по позициям. Усреднённая «наценка по бизнесу» прячет товары и услуги, которые вы продаёте себе в убыток. Этот скилл раскладывает маржу по каждой позиции и показывает голые цифры — решение по цене остаётся за вами.
⚠️ Дисклеймер. Подготовлено для проверки вашим бухгалтером. Не является налоговой или юридической консультацией. Налоговые цифры — на 2026 налоговый период, перепроверьте перед применением.
Быстрый старт
Когда собственник спрашивает «поднять ли цены?» или «нормальная ли у меня маржа?», скилл:
- Определяет, что анализировать — какие товары/услуги в фокусе
- Подтягивает данные о затратах из бухгалтерии (себестоимость, прямые расходы)
- Подтягивает данные о выручке из систем платежей (история операций)
- Считает юнит-экономику — выручка, себестоимость, валовая прибыль, маржа % по каждой позиции, с учётом статуса НДС
- Сравнивает с контекстом — инфляция, изменение затрат, отраслевые ориентиры, если есть
- Строит сценарии цены — что происходит с выручкой и маржой при росте цены на +5%, +10%, +15%, опираясь на историческую корреляцию там, где данные позволяют
- Показывает анализ — без рекомендации по цене; решение принимает собственник
На выходе у собственника есть реальные цифры, чтобы самому принять решение по цене.
Рабочий процесс
Шаг 1: Предполётная проверка
Бухгалтерия (~~бухгалтерия): если подключена (например, 1С:Бухгалтерия или МойСклад) — проверьте, заполнено ли поле отрасли/вида деятельности. Если его нет — спросите: «Мне нужна категория вашего бизнеса, чтобы подтянуть релевантные ориентиры. В какой сфере вы работаете?»
Платежи (~~платежи): предполётная проверка не нужна, но некоторые сервисы (например, ЮKassa) ограничивают частоту запросов — см. reference/gotchas.md.
Статус НДС — обязательно уточнить. С 2026 года УСН с доходом свыше 20 млн ₽ — плательщик НДС (ставки 5% / 7% / 22%). Маржа считается по-разному в зависимости от того, цены «с НДС» или «без НДС». Спросите собственника:
«Уточните по НДС: ваш доход за прошлый год превысил 20 млн ₽? Если да — какую ставку применяете: 5%, 7% или 22%? И ваши цены указаны с НДС или без? Это напрямую влияет на расчёт маржи.»
Если доход ≤ 20 млн ₽ — собственник работает без НДС, цены и маржа считаются напрямую.
Ничего не подключено: предложите выгрузку CSV как запасной путь. Скилл работает с экспортом операций и расходов. Ожидаемая структура CSV — в reference/csv-schema.md.
Шаг 2: Уточнить охват
Задайте собственнику два вопроса:
«Какие товары или услуги хотите разобрать?»
- Все или конкретную часть?
- Если «все» — сначала убедитесь, что в данных достаточно записей, чтобы анализ был осмысленным.
«Какой показатель для вас главный?»
- Валовая маржа (выручка минус прямые затраты)?
- Чистая маржа (после всех расходов)?
- Выручка на единицу?
- Ответ определяет, как подавать результат.
Шаг 3: Подтянуть данные о затратах (~~бухгалтерия)
Если подключена бухгалтерия (например, 1С:Бухгалтерия, МойСклад или Контур.Эльба) — выгрузите ОПиУ:
- Период: последние 12 месяцев (или вся история, если меньше)
- Извлечь: себестоимость по товарам/услугам, прямые расходы
Если бухгалтерия не подключена — попросите собственника:
- Разбивку себестоимости по позициям (материалы, труд, прямые расходы на доставку по каждой)
- Любые изменения затрат за последние 6–12 месяцев
Если бухгалтерия подключена, но себестоимость = 0 ₽ во всех периодах — не используйте 0 ₽ как вход. Скажите собственнику:
«В учёте не записана себестоимость за этот период. Чтобы посчитать осмысленную маржу, мне нужна разбивка затрат по товарам или услугам — не общая средняя по бизнесу. Сколько вам стоит сделать/предоставить каждую позицию? Материалы, прямой труд, прямые расходы на единицу. Подойдут даже грубые цифры.»
Отметьте это ограничение в разделе «Примечания о качестве данных» итогового вывода.
Шаг 4: Подтянуть данные о выручке (~~платежи)
Если подключены платежи (например, ЮKassa, Тинькофф Касса, СБП) — выгрузите операции:
- Период: совпадает с окном затрат (последние 12 месяцев)
- Извлечь: сумму операции, название товара/услуги, дату, количество, если есть
Важно про НДС в выручке. Поступления от эквайринга обычно приходят с НДС (если собственник — плательщик). Для расчёта валовой маржи приведите выручку и себестоимость к одной базе:
- собственник без НДС (доход ≤ 20 млн ₽) → считаем напрямую;
- собственник на НДС → очистите выручку от НДС (выручка без НДС = сумма ÷ (1 + ставка)), чтобы маржа не была завышена. Например, при ставке 5%: выручка без НДС = поступление ÷ 1,05.
Если упёрлись в ограничение частоты запросов платёжного сервиса — пауза 30 секунд, повтор один раз. Если снова блок — предложите: «Платёжный сервис временно ограничивает запросы. Переключиться на выгрузку CSV из банк-клиента?»
Если доступен только один источник данных — отметьте ограничение в выводе.
Шаг 5: Посчитать юнит-экономику
Для каждой позиции в охвате посчитайте:
| Показатель | Формула |
|---|---|
| Выручка (без НДС) | Сумма операций по позиции, очищенная от НДС, если собственник — плательщик |
| Себестоимость | Данные из бухгалтерии или от собственника |
| Валовая прибыль | Выручка без НДС − себестоимость |
| Валовая маржа % | (Валовая прибыль ÷ выручка без НДС) × 100 |
| Продано единиц | Количество операций, если доступно |
| Выручка на единицу | Выручка ÷ продано единиц |
| Себестоимость на единицу | Себестоимость ÷ продано единиц |
Отметьте любую позицию с маржой ниже 20% — не как рекомендацию, а как точку, на которую собственнику стоит обратить внимание.
Про НДС в марже. Если собственник стал плательщиком НДС в 2026, а цены поднять не успел — маржа реально просела на величину НДС (по позиции 5–7% выручки уходит в бюджет). Это стоит явно показать: «При переходе на НДС 5% без поднятия цены ваша маржа по этой позиции упала с X% до Y%.»
Шаг 6: Сравнить с ориентирами
Добавьте контекст, чтобы цифры стали осмысленными:
- Инфляция: отметьте тренд затрат, если речь о росте входных цен. Пример: «Входные затраты выросли примерно на X% за период, а цены держались на месте — это сжало маржу на Y пунктов.»
- Отраслевые ориентиры: используйте
reference/industry-benchmarks.md. Это ориентировочные диапазоны ⚠️, а не точные РФ-цифры. - Сравнение по годам: если есть 24+ месяцев данных — сравните маржу этого года с прошлым, чтобы показать направление тренда.
Низкие данные — обрабатывайте бережно: если операций меньше 6 месяцев, пропустите блок эластичности и отметьте: «Нужно хотя бы 6 месяцев истории цен, чтобы оценить, как объём реагирует на изменение цены. Покажу вместо этого сценарную арифметику.»
Шаг 7: Сценарии цены
Постройте таблицу по каждой позиции с тремя сценариями изменения цены:
| Сценарий | Новая цена | Прогноз выручки* | Валовая маржа % |
|---|---|---|---|
| +5% | X ₽ | Y ₽ | Z% |
| +10% | X ₽ | Y ₽ | Z% |
| +15% | X ₽ | Y ₽ | Z% |
Как считать прогноз выручки:
- Если есть 6+ месяцев истории: оцените реакцию объёма по историческим данным. Если в прошлом было изменение цены — посчитайте наблюдаемую эластичность:
Эластичность = % изменения объёма ÷ % изменения цены. Примените к прогнозу объёма при новой цене. - Если истории мало: покажите три допущения по объёму (−0%, −5%, −10%) и дайте собственнику выбрать реалистичное.
НДС в сценариях. Если поднимаете цену, а собственник — плательщик НДС, уточните: цена растёт «с НДС» или «без НДС»? При цене «с НДС» часть прироста уходит в бюджет, и реальный прирост маржи меньше номинального. Показывайте маржу всегда от выручки без НДС.
Добавьте примечание: «Это прогнозы на доступных данных, не гарантии. Реальная реакция объёма зависит от конкуренции, чувствительности клиентов и момента.»
Шаг 8: Показать анализ
Структура вывода: H2-заголовок с названием бизнеса и периодом, дальше четыре раздела — таблица «Сводка юнит-экономики» (товар/услуга, выручка без НДС, себестоимость, валовая прибыль, маржа %), раздел «Контекст и ориентиры» (2–4 предложения про инфляцию, сдвиги затрат, отраслевые диапазоны, статус НДС), «Сценарии цены» (таблица по позиции или топ-3–5, если их много) и «Примечания о качестве данных» (любые ограничения: частичные данные, отсутствие себестоимости, короткая история, неясный статус НДС).
Держите фактологичность. Не пишите «вам стоит поднять цены» или «подумайте о снижении». Собственник смотрит на данные, чтобы принять решение сам.
Граница ответственности
Этот скилл показывает данные. Он не рекомендует цену.
Если собственник спрашивает «так что мне делать?» — отвечайте: «Я могу показать, что говорят данные, но решение по цене за вами. Смоделировать ещё какие-то сценарии?»
Это намеренно. Решения по цене имеют реальные последствия и зависят от контекста, который знает только собственник (конкурентная позиция, отношения с клиентами, потребность в деньгах). Задача скилла — чтобы при решении он смотрел на реальные цифры.
Коннекторы
Основные: ~~бухгалтерия (1С:Бухгалтерия, МойСклад), ~~платежи (ЮKassa, Тинькофф Касса)
Также: Контур.Эльба, СБИС · ручная выгрузка (CSV/Excel из банк-клиента)
Если ничего не подключено → попросите выгрузку CSV или вставьте данные вручную.
Reference-файлы
reference/gotchas.md— типовые ловушки (пробелы в данных, ловушки эластичности, ошибки расчёта маржи, НДС)reference/industry-benchmarks.md— ориентировочные диапазоны валовой маржи по категориямreference/csv-schema.md— ожидаемые колонки при выгрузке CSVreference/examples/— разобранные сценарии (розница, услуги)
Нужно глубже? Это быстрый разбор маржи для собственника. Для маржинальности по всем продуктам/клиентам с движком расчёта, ценообразования и обратной калькуляции под маркетплейс есть скиллы margin-analysis и pricing-rf в паке finance-ru (линейка RU Business Packs).
Files (small-business-ru)
-
reference
-
examples
-
retail-boutique.md 5.7 KB
# Пример: розничный бутик — одежда **Бизнес:** небольшой бутик женской одежды, офлайн-точка + интернет-витрина **Коннекторы:** `~~бухгалтерия` (затраты), `~~платежи` (онлайн-продажи) **Данные:** 14 месяцев операций **Статус НДС:** доход за 2025 — 18 млн ₽, без НДС (порог 20 млн не превышен) --- ## Что спросил собственник «Закупочные цены в этом году сильно выросли. Чувствую, что надо поднимать цены, но не хочу терять клиентов. Посмотришь мою маржу?» --- ## Шаг 1: предполётная проверка В учёте вид деятельности: «Розница — одежда». Проверка пройдена. Уточнили НДС: доход 18 млн ₽ — собственник без НДС, считаем напрямую. --- ## Шаг 2: уточнение охвата Собственник хочет разобрать топ-5 товарных категорий: - Платья - Топы и блузки - Джинсы - Аксессуары - Трикотаж Приоритет показателя: валовая маржа % (хочет понять прибыльность, не только выручку). --- ## Шаги 3–4: подтянутые данные - **Бухгалтерия:** 14 месяцев себестоимости по категориям - **Платежи:** 14 месяцев истории операций (только онлайн-продажи; офлайн через кассу учитывается отдельно) --- ## Шаг 5: вывод юнит-экономики | Категория | Выручка | Себестоимость | Валовая прибыль | Маржа % | |---|---|---|---|---| | Платья | 428 000 ₽ | 182 000 ₽ | 246 000 ₽ | 57,5% | | Топы и блузки | 315 000 ₽ | 151 000 ₽ | 164 000 ₽ | 52,1% | | Джинсы | 189 000 ₽ | 113 000 ₽ | 76 000 ₽ | 40,2% | | Аксессуары | 94 000 ₽ | 28 000 ₽ | 66 000 ₽ | 70,2% | | Трикотаж | 142 000 ₽ | 96 000 ₽ | 46 000 ₽ | 32,4% ⚠️ | ⚠️ Трикотаж помечен: 32,4% ниже типичного диапазона 45–65% для розницы одежды. --- ## Шаг 6: сравнение с ориентирами «Для розницы одежды валовая маржа обычно держится в районе 45–65% (⚠️ ориентир, не точная РФ-цифра). Среднее по портфелю — 51%, в пределах нормы. Но трикотаж на 32,4% — ниже нижней границы: похоже, закупочные цены на трикотаж выросли быстрее, чем цены продажи за год. Общая база затрат выросла примерно на 12% год к году, выручка — на 7%; этот разрыв в 5 пунктов и даёт давление на маржу.» --- ## Шаг 7: сценарии цены — трикотаж (низкомаржинальная позиция) Текущая средняя цена трикотажа: 890 ₽. Текущая себестоимость: ~610 ₽. | Сценарий | Новая цена | Прогноз выручки* | Валовая маржа % | |---|---|---|---| | +5% (935 ₽) | 935 ₽ | ~145 600 ₽ (−3% объёма) | 34,8% | | +10% (980 ₽) | 980 ₽ | ~141 300 ₽ (−6% объёма) | 37,8% | | +15% (1 025 ₽) | 1 025 ₽ | ~137 000 ₽ (−8% объёма) | 40,5% | *Оценки объёма по 14-месячной эластичности: история показывает ~0,6 падения объёма на 1% роста цены для этой категории. Примечание: «Эти прогнозы используют вашу 14-месячную историю как ориентир. Реальная реакция зависит от ваших клиентов и того, сколько за похожее берут конкуренты.» --- ## Шаг 8: что показали Собственник получил полную таблицу юнит-экономики, абзац сравнения с ориентирами и сценарную таблицу по трикотажу. Отметил, что аксессуары — лидер (70% маржи). Анализ не рекомендовал действие — показал, что трикотаж — категория, которую больше всего стоит рассмотреть для корректировки цены. --- ## Заметки для автора скилла - Пример показывает аккуратную работу со смешанными источниками (онлайн-платежи + офлайн-касса, отмечено как ограничение) - Эластичность посчиталась, потому что собственник один раз поднимал цену на трикотаж 8 месяцев назад (с 790 → 890 ₽) и объём просел на 5% в следующем месяце — та самая одна-точка из gotchas.md - Бизнес без НДС (доход ≤ 20 млн ₽), поэтому выручка не очищалась. Будь доход выше 20 млн — выручку нужно было бы привести к базе без НДС перед расчётом маржи -
service-business.md 5.9 KB
# Пример: профессиональные услуги — маркетолог-консультант **Бизнес:** маркетолог-консультант, проектные заказы **Коннекторы:** `~~бухгалтерия` (счета + расходы), `~~платежи` (приём оплаты) **Данные:** 9 месяцев операций **Статус НДС:** доход ~70 тыс ₽/мес × условно ниже порога; работает как ИП на УСН «доходы», без НДС (доход ≤ 20 млн ₽) --- ## Что спросил собственник «Чувствую, что работаю больше, а денег не больше. Посмотришь, достаточно ли я беру за каждую услугу?» --- ## Шаг 2: уточнение охвата Собственник оказывает три вида услуг: - Бренд-стратегия (фикс, 250 000 ₽/проект) - Ежемесячный ретейнер (постоянный, 120 000 ₽/мес) - Ведение рекламных кампаний (% от бюджета, переменная) Приоритет показателя: выручка в час (хочет понять, где время окупается лучше). Примечание: выручка в час требует, чтобы собственник оценил часы. Спросите: «По каждой услуге — сколько часов уходит на типовой заказ?» Оценки собственника: - Бренд-стратегия: ~20 часов - Ретейнер: ~8 часов/мес - Реклама: ~6 часов/мес --- ## Шаг 5: вывод юнит-экономики | Услуга | Выручка (9 мес) | Себестоимость* | Валовая прибыль | Маржа % | Выр/час | |---|---|---|---|---|---| | Бренд-стратегия | 1 750 000 ₽ (7 проектов) | 140 000 ₽ (сервисы, подрядчики) | 1 610 000 ₽ | 92% | 12 500 ₽/ч | | Ретейнер | 2 160 000 ₽ (20 мес) | 90 000 ₽ (сервисы) | 2 070 000 ₽ | 96% | 15 000 ₽/ч | | Реклама | 1 420 000 ₽ | 60 000 ₽ | 1 360 000 ₽ | 96% | ~11 800 ₽/ч | *Себестоимость здесь — прямые расходы (софт, иногда помощь подрядчика). Собственный труд исключён из себестоимости по бухгалтерскому правилу, но учтён в колонке «Выр/час». --- ## Шаг 6: сравнение с ориентирами «Для профессиональных услуг валовая маржа 60–80% типична (⚠️ ориентир). У вас 92–96% — это отражает низкую структуру прямых затрат. Более показателен вопрос выручки в час: при 11 800–15 000 ₽/ч вы в крепком диапазоне для независимого маркетолога. Но если эффективная часовая ставка после всех расходов бизнеса (не только себестоимости) ниже — картина меняется. Чтобы получить это число, разделите чистую прибыль на отработанные часы.» > Если бы доход вырос выше 20 млн ₽/год, собственник стал бы плательщиком НДС — и выручку для маржи пришлось бы очищать от НДС. На текущем доходе этого не требуется. --- ## Шаг 7: сценарии цены — бренд-стратегия (наименьшая выручка/час) Текущая ставка: 250 000 ₽/проект. Оценка собственника: 20 часов в среднем. | Сценарий | Новая ставка | Прогноз проектов* | Выручка | Выр/час | |---|---|---|---|---| | +10% (275 000 ₽) | 275 000 ₽ | ~6,5 (−7% объёма) | 1 787 500 ₽ | 13 750 ₽/ч | | +20% (300 000 ₽) | 300 000 ₽ | ~6 (−14% объёма) | 1 800 000 ₽ | 15 000 ₽/ч | | +30% (325 000 ₽) | 325 000 ₽ | ~5,5 (−21% объёма) | 1 787 500 ₽ | 15 900 ₽/ч | *Оценки объёма грубые — всего 7 проектов бренд-стратегии за 9 месяцев, маленькая выборка. Эти цифры — направление, не точность. «Если 9-месячный паттерн держится, рост ставки на 20–30% по бренд-стратегии может дать сопоставимую или чуть выше выручку при меньшем числе проектов — освобождая часы под ретейнеры (вашу самую маржинальную услугу).» Примечание: это показ данных, не рекомендация. Решает собственник. --- ## Заметки для автора скилла - У сервисного бизнеса часто почти 100% валовой маржи на бумаге, потому что прямых затрат минимум — показательный показатель тут выручка в час или выручка на заказ - Всегда спрашивайте оценку часов перед расчётом выручки/час; не предполагайте - С 7 проектами бренд-стратегии за 9 месяцев выборка мала — отметьте это явно - Собственник без НДС (доход ≤ 20 млн ₽); при превышении порога выручку надо приводить к базе без НДС
-
-
csv-schema.md 4.6 KB
# Структура CSV-выгрузки Если у собственника не подключена бухгалтерия (`~~бухгалтерия`) или платежи (`~~платежи`), он может выгрузить CSV/Excel вручную (например, из банк-клиента, ЮKassa, 1С). Этот документ описывает, какие колонки ожидать и как обрабатывать варианты. ## CSV выручки (выгрузка операций) Ожидаемые колонки (порядок неважен, регистр заголовков неважен): | Колонка | Обязательна | Описание | |---|---|---| | `дата` / `date` | Да | Дата операции (любой стандартный формат: ДД.ММ.ГГГГ, ГГГГ-ММ-ДД и т.д.) | | `товар` / `услуга` / `позиция` / `назначение` | Да | Что продано | | `сумма` / `выручка` / `итого` / `amount` | Да | Сумма операции (₽) | | `количество` / `кол-во` / `qty` | Нет | Продано единиц — если нет, считаем 1 на операцию | | `ндс` / `ставка_ндс` | Нет | Ставка НДС по позиции (без НДС / 5% / 7% / 22%) — если есть, помогает очистить выручку | **Выгрузки, которые обычно подходят:** - Банк-клиент: выписка по счёту → экспорт в CSV/Excel - ЮKassa / Тинькофф Касса: раздел операций → выгрузка - 1С / МойСклад: отчёт по продажам → экспорт Если в выгрузке больше колонок — лишние игнорируйте. Если обязательной колонки нет — спросите собственника, какая колонка ей соответствует. ## CSV затрат (выгрузка расходов или себестоимости) Ожидаемые колонки: | Колонка | Обязательна | Описание | |---|---|---| | `дата` / `date` | Нет | Дата расхода (полезна для анализа тренда) | | `товар` / `услуга` / `категория` | Да | К чему относится затрата | | `сумма` / `затрата` / `расход` / `cost` | Да | Сумма затраты (₽) | | `тип` / `type` | Нет | Себестоимость или операционный расход — если нет, спросите собственника | **Выгрузки, которые обычно подходят:** - 1С:Бухгалтерия / Контур.Эльба: ОПиУ (детально) → экспорт - Банк-клиент: операции по расходам → фильтр по категории → экспорт ## Обработка «грязных» CSV Реальные выгрузки беспорядочны. Частые проблемы: - **Лишние строки-шапки:** пропускайте строки, пока не найдёте похожую на названия колонок - **Символы валюты:** убирайте `₽`, `$`, пробелы-разделители тысяч и приводите запятую-десятичную к точке перед разбором числа - **Возвраты с минусом:** включайте их — они уменьшают чистую выручку - **Смешанные валюты:** отметьте и спросите, какую брать; по умолчанию рубли - **«Брутто» против «нетто»:** для выручки предпочтительно нетто (после комиссии эквайринга); если неясно — спросите - **НДС в суммах:** если в выгрузке нет колонки НДС, а собственник — плательщик, спросите ставку и очистите выручку (сумма ÷ (1 + ставка)) ## После загрузки Подтвердите форму данных с собственником, прежде чем продолжать: - «Загрузил X операций с [дата] по [дата] по Y позициям. Всё верно?» - Если период или число позиций выглядит странно — попросите перепроверить фильтры выгрузки. -
gotchas.md 9.6 KB
# Ловушки ## Ловушка: путать выручку с прибылью Собственник видит 50 000 ₽ поступлений на эквайринге и думает, что столько заработал. Нет — это столько собрал. **Почему важно:** если показать выручку без немедленной привязки к затратам, собственник может прочитать анализ неверно и успокоиться, когда не стоит. ### ✗ Плохо «Ваши поступления за квартал — 50 000 ₽.» ### ✓ Хорошо «Ваши поступления за квартал — 50 000 ₽. После прямых затрат 31 000 ₽ валовая прибыль — 19 000 ₽, то есть валовая маржа 38%.» --- ## Ловушка: НДС, не очищенный из выручки (актуально с 2026) С 2026 года УСН с доходом свыше 20 млн ₽ — плательщик НДС (5% / 7% / 22%). Поступления приходят с НДС внутри суммы. Если считать маржу от грязной (с НДС) выручки, она будет завышена. **Почему важно:** часть выручки — это не ваши деньги, а НДС к уплате в бюджет. Маржа от выручки с НДС рисует более радужную картину, чем есть. ### ✗ Плохо Берём поступление 105 000 ₽ как выручку, вычитаем себестоимость 60 000 ₽ → маржа 42,9%. ### ✓ Хорошо Очищаем от НДС: при ставке 5% выручка без НДС = 105 000 ÷ 1,05 = 100 000 ₽. Вычитаем 60 000 ₽ → валовая прибыль 40 000 ₽, маржа 40%. И отдельно отметить: «Переход на НДС снял с этой позиции ~5% выручки — если цену не подняли, маржа просела.» --- ## Ловушка: цена «по прайсу» вместо фактической У собственников бывают скидки, возвраты и акции, которые уменьшают фактическое поступление за операцию. Данные с эквайринга отражают реально полученные суммы, а счёт из учёта может показывать цену по прайсу. **Почему важно:** если считать маржу по прайсу, а поступления показывают фактические сборы, себестоимость на единицу будет выглядеть лучше, чем в реальности. ### ✗ Плохо Брать суммы из счетов в учёте для выручки и поступления для себестоимости → маржа кажется завышенной. ### ✓ Хорошо Брать суммы операций с эквайринга как источник выручки (реально полученное, очищенное от НДС), а учёт — для затрат. Расхождение между суммами счетов и суммами поступлений стоит отметить отдельно. --- ## Ловушка: эластичность по одному изменению цены Бизнес однажды поднял цену, объём просел на месяц, потом отскочил. Объявлять это как «рост на 5% даёт падение объёма на 3%» — переобучение на одном событии. **Почему важно:** одна точка — не закономерность. Сезонный спад, внешние события или смена рекламы могли двинуть объём, а не цена. ### ✗ Плохо «В марте 2024 вы подняли цены на 8%, объём упал на 4%. Эластичность = −0,5.» ### ✓ Хорошо «В марте 2024 вы подняли цены на 8%, и следующий месяц показал падение объёма на 4%. Важно: это одно наблюдение — реальная связь цены и спроса наверняка варьируется. Использую как грубый ориентир и покажу диапазон сценариев.» --- ## Ловушка: игнорировать затраты на оказание услуги в сервисном бизнесе Для товарного бизнеса себестоимость обычно ясна (материалы, производство). Для услуг собственники часто недосчитывают реальные затраты — особенно свой труд. **Почему важно:** сервисный бизнес может показывать 80% валовой маржи на бумаге, при этом собственник фактически платит себе ноль за время. ### ✗ Плохо Дизайнер-фрилансер указывает 0 ₽ себестоимости, потому что нет физических материалов. Маржа показывает 100%. ### ✓ Хорошо Спросить у сервисного бизнеса: «Сколько вам стоит оказать эту услугу — по времени и прямым расходам? Включая свой труд по грубой часовой ставке?» Использовать это как себестоимость. --- ## Ловушка: себестоимость в учёте не разбита по товарам/услугам Многие малые бизнесы ведут бухгалтерию, но записывают себестоимость одной строкой, не по товарам. Выгрузка ОПиУ может не вернуть данные по позициям. **Почему важно:** нельзя посчитать маржу по позиции, если себестоимость свалена в кучу. ### ✗ Плохо Выгрузить ОПиУ → получить общую себестоимость 22 000 ₽ → попытаться разделить на 12 товаров → цифры бессмысленны. ### ✓ Хорошо Если в учёте нет себестоимости по позициям, спросить собственника: «В учёте есть общие затраты, но без разбивки по товарам. Есть примерное понимание, сколько вам стоит каждая позиция? Подойдут даже грубые цифры.» Дальше — по цифрам собственника, ограничение отметить в выводе. --- ## Ловушка: ограничение частоты запросов у платёжного сервиса Частые повторные запросы к платёжному сервису (например, перебор нескольких диапазонов дат) могут упереться в лимит запросов. **Почему важно:** без стратегии повтора скилл падает посреди анализа. ### ✗ Плохо Вызывать выгрузку операций в цикле → ошибка лимита → скилл падает без данных. ### ✓ Хорошо Вызвать выгрузку → при лимите пауза 30 секунд → повтор один раз → если удачно, продолжить, но второй лимит в той же сессии (даже после удачного вызова) — сигнал остановиться. После второго лимита сразу предложить запасной путь: «Сервис ограничивает повторные запросы. Могу взять данные из другого платёжного коннектора или выгрузите CSV из банк-клиента — что удобнее?» Третий повтор не делать. --- ## Ловушка: подавать сценарии как прогнозы Сценарные таблицы цены — это арифметика, не предсказания. Эластичность объёма оценена по ограниченным данным, а реальная реакция зависит от конкуренции, чувствительности клиентов и момента. **Почему важно:** собственник может принять таблицу за прогноз, а потом почувствовать себя обманутым, когда факт разойдётся. ### ✗ Плохо «Если поднимете цены на 10%, заработаете 55 000 ₽ в следующем квартале.» ### ✓ Хорошо «Если поднимете цены на 10%, а объём упадёт примерно на 5% (по доступной истории), выручка составит около 53 000 ₽. Это грубый прогноз — реальный результат зависит от ваших клиентов и конкурентной среды.» -
industry-benchmarks.md 4.5 KB
# Отраслевые ориентиры валовой маржи Используйте как контекст, объясняя, типична ли маржа собственника, выше среднего или вызывает вопросы. Это **ориентировочные диапазоны** ⚠️ на основе общих отраслевых средних — не цели, которые собственник обязан достичь, и не точные РФ-цифры. Если не уверены в конкретном проценте по РФ — формулируйте как «типичный диапазон», не выдумывайте ложную точность. Всегда подавайте ориентир как контекст, не как приговор: «Для вашей сферы валовая маржа обычно держится в диапазоне 40–55%. У вас 38% — чуть ниже среднего, вот что это значит для сценариев цены.» > **Про НДС.** С 2026 года плательщики НДС на УСН (доход свыше 20 млн ₽) теряют часть выручки на НДС. Сравнивайте маржу с ориентирами по выручке **без НДС** — иначе сравнение некорректно. ## Ориентировочные диапазоны по категориям ⚠️ | Категория | Типичная валовая маржа | Примечания | |---|---|---| | **Розница — общая** | 40–55% | Сильно зависит от товарной категории | | **Розница — одежда / мода** | 45–65% | Выше у брендов, ниже у перепродавцов | | **Розница — продукты** | 20–35% | Тонкая маржа; зависит от объёма | | **Интернет-торговля** | 30–50% | Зависит от затрат на доставку и фулфилмент | | **Общепит / кафе** | 60–70% | Маржа на продукты; чистая сильно ниже после ФОТ | | **Профессиональные услуги** | 60–80% | Консалтинг, юристы, бухгалтерия, дизайн | | **Строительно-монтажные услуги** | 35–55% | Сантехника, электрика, отопление; много материалов | | **Клининг / обслуживание** | 40–60% | Трудоёмко | | **Здоровье и красота** | 50–70% | Фитнес, массаж, бьюти, коучинг | | **Софт / SaaS** | 70–85% | Низкая себестоимость доставки; высокая маржа ожидаема | | **Опт / дистрибуция** | 20–35% | Низкая маржа; зависит от объёма и условий | | **Производство** | 25–45% | Зависит от сложности продукта | | **Стройка** | 20–35% | Проектная; много материалов | ## Как использовать 1. **Определите сферу собственника** по профилю в учёте (вид деятельности / ОКВЭД) или спросите напрямую, если неясно. 2. **Называйте диапазон, не одно число.** Маржа варьируется внутри категории. 3. **Отмечайте, когда маржа сильно ниже нижней границы.** Меньше 20% валовой маржи в большинстве сервисных категорий обычно значит недооценку или пропущенные статьи затрат. 4. **Не ссылайтесь на конкретный источник.** Это общее отраслевое знание, не живые данные. Помечайте как ⚠️ ориентир. ## Когда ориентиры не подходят Некоторые бизнесы — гибридные (например, йога-студия, которая ещё продаёт одежду). В таких случаях сегментируйте анализ, если можно, или отметьте: «Ваш бизнес охватывает несколько категорий — возьму ориентиры по каждому потоку выручки отдельно.»
-
-
SKILL.md 18.4 KB
--- name: margin-analyzer description: > Разбирает юнит-экономику по товарам и услугам: подтягивает поступления из систем платежей и данные о себестоимости из бухгалтерии, считает маржу с учётом статуса НДС, сравнивает с инфляцией и изменением затрат и показывает данные по сценариям цены (например, «рост цены на 5% исторически давал падение объёма примерно на 3%»). Только показывает анализ — цену не рекомендует. Триггеры: «какая у меня маржа», «поднять ли цены», «сколько накручивать», «достаточно ли я зарабатываю», «расходы съедают прибыль», «сколько ставить за услугу». Срабатывает, даже если слово «маржа» не прозвучало. --- <!-- Производное от Anthropic knowledge-work-plugins / small-business (Apache-2.0, (c) Anthropic). Локализовано под РФ, файл изменён. См. /NOTICE и /LICENSE. --> # Анализатор маржи Выручка растёт, а денег на счету не прибавляется — почти всегда виновата маржа, которую никто не считает по позициям. Усреднённая «наценка по бизнесу» прячет товары и услуги, которые вы продаёте себе в убыток. Этот скилл раскладывает маржу по каждой позиции и показывает голые цифры — решение по цене остаётся за вами. > ⚠️ **Дисклеймер.** Подготовлено для проверки вашим бухгалтером. Не является налоговой или юридической консультацией. Налоговые цифры — на 2026 налоговый период, перепроверьте перед применением. ## Быстрый старт Когда собственник спрашивает «поднять ли цены?» или «нормальная ли у меня маржа?», скилл: 1. **Определяет, что анализировать** — какие товары/услуги в фокусе 2. **Подтягивает данные о затратах** из бухгалтерии (себестоимость, прямые расходы) 3. **Подтягивает данные о выручке** из систем платежей (история операций) 4. **Считает юнит-экономику** — выручка, себестоимость, валовая прибыль, маржа % по каждой позиции, **с учётом статуса НДС** 5. **Сравнивает с контекстом** — инфляция, изменение затрат, отраслевые ориентиры, если есть 6. **Строит сценарии цены** — что происходит с выручкой и маржой при росте цены на +5%, +10%, +15%, опираясь на историческую корреляцию там, где данные позволяют 7. **Показывает анализ** — без рекомендации по цене; решение принимает собственник На выходе у собственника есть реальные цифры, чтобы самому принять решение по цене. --- ## Рабочий процесс ### Шаг 1: Предполётная проверка **Бухгалтерия (`~~бухгалтерия`):** если подключена (например, 1С:Бухгалтерия или МойСклад) — проверьте, заполнено ли поле отрасли/вида деятельности. Если его нет — спросите: «Мне нужна категория вашего бизнеса, чтобы подтянуть релевантные ориентиры. В какой сфере вы работаете?» **Платежи (`~~платежи`):** предполётная проверка не нужна, но некоторые сервисы (например, ЮKassa) ограничивают частоту запросов — см. `reference/gotchas.md`. **Статус НДС — обязательно уточнить.** С 2026 года УСН с доходом свыше 20 млн ₽ — плательщик НДС (ставки 5% / 7% / 22%). Маржа считается по-разному в зависимости от того, цены «с НДС» или «без НДС». Спросите собственника: > «Уточните по НДС: ваш доход за прошлый год превысил 20 млн ₽? Если да — какую ставку применяете: 5%, 7% или 22%? И ваши цены указаны с НДС или без? Это напрямую влияет на расчёт маржи.» Если доход ≤ 20 млн ₽ — собственник работает без НДС, цены и маржа считаются напрямую. **Ничего не подключено:** предложите выгрузку CSV как запасной путь. Скилл работает с экспортом операций и расходов. Ожидаемая структура CSV — в `reference/csv-schema.md`. ### Шаг 2: Уточнить охват Задайте собственнику два вопроса: 1. **«Какие товары или услуги хотите разобрать?»** - Все или конкретную часть? - Если «все» — сначала убедитесь, что в данных достаточно записей, чтобы анализ был осмысленным. 2. **«Какой показатель для вас главный?»** - Валовая маржа (выручка минус прямые затраты)? - Чистая маржа (после всех расходов)? - Выручка на единицу? - Ответ определяет, как подавать результат. ### Шаг 3: Подтянуть данные о затратах (`~~бухгалтерия`) Если подключена бухгалтерия (например, 1С:Бухгалтерия, МойСклад или Контур.Эльба) — выгрузите ОПиУ: - **Период:** последние 12 месяцев (или вся история, если меньше) - **Извлечь:** себестоимость по товарам/услугам, прямые расходы Если бухгалтерия не подключена — попросите собственника: - Разбивку себестоимости по позициям (материалы, труд, прямые расходы на доставку по каждой) - Любые изменения затрат за последние 6–12 месяцев Если бухгалтерия подключена, но себестоимость = 0 ₽ во всех периодах — не используйте 0 ₽ как вход. Скажите собственнику: > «В учёте не записана себестоимость за этот период. Чтобы посчитать осмысленную маржу, мне нужна разбивка затрат по товарам или услугам — не общая средняя по бизнесу. Сколько вам стоит сделать/предоставить каждую позицию? Материалы, прямой труд, прямые расходы на единицу. Подойдут даже грубые цифры.» Отметьте это ограничение в разделе «Примечания о качестве данных» итогового вывода. ### Шаг 4: Подтянуть данные о выручке (`~~платежи`) Если подключены платежи (например, ЮKassa, Тинькофф Касса, СБП) — выгрузите операции: - **Период:** совпадает с окном затрат (последние 12 месяцев) - **Извлечь:** сумму операции, название товара/услуги, дату, количество, если есть **Важно про НДС в выручке.** Поступления от эквайринга обычно приходят с НДС (если собственник — плательщик). Для расчёта валовой маржи приведите выручку и себестоимость к одной базе: - собственник без НДС (доход ≤ 20 млн ₽) → считаем напрямую; - собственник на НДС → очистите выручку от НДС (выручка без НДС = сумма ÷ (1 + ставка)), чтобы маржа не была завышена. Например, при ставке 5%: выручка без НДС = поступление ÷ 1,05. Если упёрлись в ограничение частоты запросов платёжного сервиса — пауза 30 секунд, повтор один раз. Если снова блок — предложите: «Платёжный сервис временно ограничивает запросы. Переключиться на выгрузку CSV из банк-клиента?» Если доступен только один источник данных — отметьте ограничение в выводе. ### Шаг 5: Посчитать юнит-экономику Для каждой позиции в охвате посчитайте: | Показатель | Формула | |---|---| | **Выручка (без НДС)** | Сумма операций по позиции, очищенная от НДС, если собственник — плательщик | | **Себестоимость** | Данные из бухгалтерии или от собственника | | **Валовая прибыль** | Выручка без НДС − себестоимость | | **Валовая маржа %** | (Валовая прибыль ÷ выручка без НДС) × 100 | | **Продано единиц** | Количество операций, если доступно | | **Выручка на единицу** | Выручка ÷ продано единиц | | **Себестоимость на единицу** | Себестоимость ÷ продано единиц | Отметьте любую позицию с маржой ниже 20% — не как рекомендацию, а как точку, на которую собственнику стоит обратить внимание. > **Про НДС в марже.** Если собственник стал плательщиком НДС в 2026, а цены поднять не успел — маржа реально просела на величину НДС (по позиции 5–7% выручки уходит в бюджет). Это стоит явно показать: «При переходе на НДС 5% без поднятия цены ваша маржа по этой позиции упала с X% до Y%.» ### Шаг 6: Сравнить с ориентирами Добавьте контекст, чтобы цифры стали осмысленными: - **Инфляция:** отметьте тренд затрат, если речь о росте входных цен. Пример: «Входные затраты выросли примерно на X% за период, а цены держались на месте — это сжало маржу на Y пунктов.» - **Отраслевые ориентиры:** используйте `reference/industry-benchmarks.md`. Это ориентировочные диапазоны ⚠️, а не точные РФ-цифры. - **Сравнение по годам:** если есть 24+ месяцев данных — сравните маржу этого года с прошлым, чтобы показать направление тренда. Низкие данные — обрабатывайте бережно: если операций меньше 6 месяцев, пропустите блок эластичности и отметьте: «Нужно хотя бы 6 месяцев истории цен, чтобы оценить, как объём реагирует на изменение цены. Покажу вместо этого сценарную арифметику.» ### Шаг 7: Сценарии цены Постройте таблицу по каждой позиции с тремя сценариями изменения цены: | Сценарий | Новая цена | Прогноз выручки* | Валовая маржа % | |---|---|---|---| | +5% | X ₽ | Y ₽ | Z% | | +10% | X ₽ | Y ₽ | Z% | | +15% | X ₽ | Y ₽ | Z% | **Как считать прогноз выручки:** - **Если есть 6+ месяцев истории:** оцените реакцию объёма по историческим данным. Если в прошлом было изменение цены — посчитайте наблюдаемую эластичность: `Эластичность = % изменения объёма ÷ % изменения цены`. Примените к прогнозу объёма при новой цене. - **Если истории мало:** покажите три допущения по объёму (−0%, −5%, −10%) и дайте собственнику выбрать реалистичное. > **НДС в сценариях.** Если поднимаете цену, а собственник — плательщик НДС, уточните: цена растёт «с НДС» или «без НДС»? При цене «с НДС» часть прироста уходит в бюджет, и реальный прирост маржи меньше номинального. Показывайте маржу всегда от выручки без НДС. Добавьте примечание: *«Это прогнозы на доступных данных, не гарантии. Реальная реакция объёма зависит от конкуренции, чувствительности клиентов и момента.»* ### Шаг 8: Показать анализ Структура вывода: H2-заголовок с названием бизнеса и периодом, дальше четыре раздела — таблица «Сводка юнит-экономики» (товар/услуга, выручка без НДС, себестоимость, валовая прибыль, маржа %), раздел «Контекст и ориентиры» (2–4 предложения про инфляцию, сдвиги затрат, отраслевые диапазоны, статус НДС), «Сценарии цены» (таблица по позиции или топ-3–5, если их много) и «Примечания о качестве данных» (любые ограничения: частичные данные, отсутствие себестоимости, короткая история, неясный статус НДС). Держите фактологичность. Не пишите «вам стоит поднять цены» или «подумайте о снижении». Собственник смотрит на данные, чтобы принять решение сам. --- ## Граница ответственности **Этот скилл показывает данные. Он не рекомендует цену.** Если собственник спрашивает «так что мне делать?» — отвечайте: «Я могу показать, что говорят данные, но решение по цене за вами. Смоделировать ещё какие-то сценарии?» Это намеренно. Решения по цене имеют реальные последствия и зависят от контекста, который знает только собственник (конкурентная позиция, отношения с клиентами, потребность в деньгах). Задача скилла — чтобы при решении он смотрел на реальные цифры. --- ## Коннекторы **Основные:** `~~бухгалтерия` (1С:Бухгалтерия, МойСклад), `~~платежи` (ЮKassa, Тинькофф Касса) **Также:** Контур.Эльба, СБИС · ручная выгрузка (CSV/Excel из банк-клиента) Если ничего не подключено → попросите выгрузку CSV или вставьте данные вручную. --- ## Reference-файлы - `reference/gotchas.md` — типовые ловушки (пробелы в данных, ловушки эластичности, ошибки расчёта маржи, НДС) - `reference/industry-benchmarks.md` — ориентировочные диапазоны валовой маржи по категориям - `reference/csv-schema.md` — ожидаемые колонки при выгрузке CSV - `reference/examples/` — разобранные сценарии (розница, услуги) --- **Нужно глубже?** Это быстрый разбор маржи для собственника. Для маржинальности по всем продуктам/клиентам с движком расчёта, ценообразования и обратной калькуляции под маркетплейс есть скиллы `margin-analysis` и `pricing-rf` в паке **finance-ru** (линейка RU Business Packs).
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.