Первый закон маркетплейса
Инструкция по выживанию
Александр Кирин

© Александр Кирин, 2026

ISBN 978-5-0070-7438-4

Создано в интеллектуальной издательской системе Ridero

Введение. Я не эксперт — я выживший

Есть люди которые приходят на маркетплейс с планом. С таблицами, с анализом ниш, с капиталом и стратегией на год вперёд. Они изучают конкурентов, считают юнит-экономику заранее, читают профильные Telegram-каналы и смотрят вебинары с названиями вроде «Как заработать миллион на WB не выходя из дома».

Умные, подготовленные, серьёзные люди.

Я пришёл иначе.

Меня зовут Александр. До того как впервые открыть личный кабинет Wildberries я писал код — Android-разработка, Kotlin, баги, дедлайны и бесконечный кофе. Маркетплейсы существовали для меня исключительно в роли покупателя: заказать что-нибудь, подождать доставку, иногда оставить отзыв. О том что за этой витриной стоит целая машина с тысячами настроек, комиссий и подводных камней — я не задумывался. Зачем?

Всё изменил один звонок.

Константин — назову его так, он человек скромный и лишней огласки не любит — был и остаётся моим другом лет десять. Мы были из тех пар которые на первый взгляд совершенно не похожи: я айтишник, он предприниматель. Я в коде, он в товарах и поставках. Но именно поэтому мы друг друга ценили — каждый умел то чего не умел другой.

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

Магазин открыли. Товар загрузили. Стали ждать.

Продажи шли. Но как-то… тихо. Без огня. Выручка была, прибыль была, но ощущение что огромный потенциал просто стоит и пылится где-то рядом — тоже было.

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

Константин позвонил в правильный момент.

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

— Я ничего не знаю про маркетплейсы, — честно ответил я.

— Я тоже, — сказал он. — Но ты хотя бы таблицы умеешь строить.

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

Я согласился. Отчасти потому что хотел помочь другу. Отчасти потому что выбора особо не было.

Первый день в личном кабинете WB я вспоминаю с содроганием. Это было похоже на то как будто тебя посадили за пульт управления самолётом и вежливо попросили лететь.

FBO, FBS, СПП, ДРР, артикулы, коэффициенты хранения, рекламные ставки, индекс цен, штрафные баллы — всё это обрушилось на меня одновременно. Каждая вкладка личного кабинета вела к трём новым вопросам. Каждый ответ порождал пять новых терминов.

Я не паниковал. Я человек тревожный — это важное уточнение, потому что паника и тревога это разные вещи. Паника громкая и короткая, она приходит и уходит. Тревога тихая, она живёт с тобой постоянно, как сосед которого не выгнать и не перевоспитать. Можно только научиться с ней работать.

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

И довольно быстро обнаружил кое-что интересное.

Проблемы магазина не были сложными. Они были просто… незамеченными. Карточки товаров выглядели так будто их делали в спешке и без особой любви — фотографии на белом фоне, описания скопированные с этикетки, заголовки которые никто никогда не искал. Упаковки товаров были обмерены с ошибками — а это на Wildberries прямой удар по логистическим расходам, о чём я расскажу отдельно и подробно. Реклама работала, но куда именно уходил бюджет — не понимал никто. Юнит-экономика не считалась в принципе, то есть магазин работал в условиях когда никто точно не знал зарабатывают они или нет.

Я начал чинить всё это по очереди.

Через несколько месяцев продажи выросли в несколько раз. Прибыль — тоже. Не потому что я знал какой-то секрет или прошёл дорогой курс. А потому что посмотрел на очевидные вещи незамыленным взглядом и начал считать то что раньше никто не считал.

Эта книга — не история успеха.

Точнее, не только история успеха. Здесь будут ошибки — и мои, и те которые я наблюдал со стороны. Будут ночи когда всё шло не так. Будет момент когда я открываю утром личный кабинет и вижу заказы на товар которого физически не существует на складе — и понимаю что следующие несколько часов будут очень интересными. Будут штрафы, неожиданные комиссии, обновления правил которые WB присылает как будто специально в самый неудобный момент.

Потому что маркетплейс — это не волшебная машина денег. Это система. Местами жёсткая, местами несправедливая, временами откровенно hostile по отношению к продавцу. Но — и это важно — предсказуемая. Если знаешь правила, можно играть. Если не знаешь — платишь за обучение из собственного кармана.

Я уже заплатил. За вас.

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

Добро пожаловать в маркетплейс.

Постарайтесь выжить.

Глава 1. Добро пожаловать в хаос

Утро, обычный четверг. В мессенджере мигнуло уведомление — Костя.

«Привет, что будешь заходить на ВБ?»

Я уставился в экран. Что — заходить? Уже? Я думал у нас ещё есть время, что будет какой-то инструктаж, созвон, хотя бы список что смотреть в первую очередь. Оказывается нет. Оказывается это происходит прямо сейчас, в четверг утром, без предупреждения.

Ладно.

Я вбил его номер в форму входа. Через несколько секунд Косте пришла СМС с кодом — он тут же переслал его мне в мессенджер, без комментариев, просто шесть цифр и следом смайлик с поднятым большим пальцем. Я ввёл код — и передо мной открылся личный кабинет Wildberries.

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

Хотя «чужого» — это не совсем точное слово. Мы с Константином дружим уже много лет, созваниваемся регулярно, знаем про жизни друг друга куда больше чем большинство людей которые живут в одном городе и изредка пересекаются на каких-нибудь корпоративах. Он мне как брат — в том самом настоящем смысле без лишних слов. Виделись лично один раз — неделю я гостил у него в Тамбове, он тогда там жил. Этого вполне хватило чтобы понять: человек надёжный, слова у него не расходятся с делами, и если он говорит «я тебе доверяю» — это не фигура речи.

Поэтому я и согласился. Несмотря на то что про маркетплейсы не знал вообще ничего.

Первые минуты в личном кабинете WB я провёл примерно так же как человек который открыл капот незнакомой машины и теперь честно пытается понять где тут что. Вроде бы всё подписано. Вроде бы логика какая-то есть. Но рука тянется закрыть капот обратно и вызвать специалиста.

Верхнее меню личного кабинета — это отдельный памятник бюрократической мысли. «Товары». «Продажи». «Финансы». «Продвижение». «Аналитика». «Цены и скидки». «Возвраты». «Документы». Каждый пункт раскрывается в подпункты, каждый подпункт — в отдельные вкладки с собственными таблицами, графиками и показателями. Я методично кликал по всему что видел — просто чтобы хотя бы понять что тут вообще существует — и минут через двадцать обнаружил что у меня открыто больше десяти вкладок в браузере, в каждой что-то загружается или уже загрузилось, и всё это одновременно требует внимания которого у меня пока нет потому что я ещё не понял что делать с первой вкладкой.

FBO. FBS. СПП. ДРР. Коэффициент хранения. Рекламные ставки. Индекс цен. Штрафные баллы. Артикулы — отдельный на каждую позицию товара, а позиций, как выяснится чуть позже, там было очень много.

Каждый новый термин тянул за собой три новых вопроса. Каждый ответ на эти вопросы порождал пять новых терминов. Я открывал справку, читал объяснение, понимал половину, шёл гуглить или спрашивать у GPT вторую половину, находил статью, в статье встречал ещё один незнакомый термин, открывал новую вкладку.

Где-то на пятнадцатой вкладке я остановился и подумал что надо как-то иначе.

Решил начать с товаров. Логика была простая до примитивности: магазин продаёт товары, значит сначала надо понять что именно он продаёт. Всё остальное — реклама, финансы, аналитика — это уже потом, когда появится хотя бы базовое понимание ассортимента.

Я нашёл раздел, открыл список карточек — и замер.

Карточек было много. Я начал считать прокручивая страницу вниз, сбился, начал заново, снова сбился. Больше ста пятидесяти позиций. Комбинезоны, полукомбинезоны, куртки, брюки — в разных цветах, разных размерах, с разными характеристиками, у каждого свой артикул, своя карточка, своя история продаж.

Я сидел и смотрел на этот список, и в голове происходило примерно следующее: как вообще живые люди держат всё это под контролем? Как они понимают что продаётся хорошо, что плохо, где заканчиваются остатки, где зависает товар который никто не берёт? Просто листают этот список каждый день и запоминают?

Нет. Так не работает ни один нормальный человек.

Мне нужна была таблица.

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

Я открыл Numbers — на маке это стандартный табличный редактор аналогичный Exel, который я до этого использовал для совершенно других задач, в основном личных. Создал новый файл, без затей назвал его «WB товары», и начал думать что вообще нужно знать про каждую позицию чтобы ориентироваться в ассортименте.

Вышло шесть столбцов для начала:

— Наименование товара

— Габариты упаковки

— Вес с упаковкой (кг)

— Цвет

— Баркоды

— Остаток на складе (шт.)

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

И я начал переносить данные. Вручную.

Открываю карточку — переписываю наименование. Смотрю характеристики — вношу габариты. Нахожу баркод — копирую. Закрываю карточку, открываю следующую. Повторяю.

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

Я закрыл карточку которую только что открыл и откинулся на спинку кресла.

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

Способ обнаружился буквально через одну кнопку от того места где я сидел.

В разделе товаров, где-то в правом верхнем углу, притаилась кнопка экспорта. Небольшая, непримечательная, никак специально не подсвеченная. Я на неё нажал — и через несколько секунд на компьютер скачался CSV-файл. Один файл. В котором были все карточки сразу. Все сто пятьдесят с лишним позиций, со всеми артикулами, наименованиями, характеристиками, ценами и остатками — аккуратно разложенными по столбцам, готовыми к работе.

Я открыл файл и молча посмотрел на него несколько секунд.

Потом сказал вслух что-то короткое и выразительное в адрес самого себя за эти сорок минут ручного труда.

Скопировал данные в свою таблицу. Поправил столбцы под нужный формат. И вдруг обнаружил что магазин который час назад казался неуправляемым хаосом из полутора сотен разрозненных позиций — теперь лежит передо мной как структура. Строки, столбцы, данные. То с чем я умел работать, просто обычно это были логи приложений и пользовательские события, а не остатки защитных комбинезонов на складе в Ростове.

И когда данные легли строчками — начало происходить интересное.

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

Я ещё не знал что с этим делать. Не знал как это чинить и что вообще здесь является нормой, а что — проблемой. Но я это видел. Видел структуру там где раньше был только шум.

А увидеть — это уже кое-что.

Тем вечером я написал Константину: «Разобрался где что находится. Дай пару дней — хочу посмотреть детальнее прежде чем говорить что-то конкретное.»

Он ответил быстро, как всегда: «Окей, не гони. Главное чтобы ты сам понял что там происходит.»

Я закрыл ноутбук. За окном уже стемнело — несколько часов прошли совершенно незаметно, что случается когда задача неожиданно оказывается интереснее чем ты рассчитывал. Хаос никуда не делся, терминов я выучил от силы треть, и вопросов стало больше чем было в начале дня. Но что-то изменилось — трудно было сформулировать что именно, но ощущение «я вообще не понимаю что тут происходит» сменилось на что-то другое. На «я пока не понимаю, но начинаю видеть где искать».

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

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

Глава 2. Ломать — не строить

У дураков есть одно неоспоримое преимущество перед умными: они не знают, где именно их ждет смерть, а потому шагают вперед бодро.

Буквально вчера я впервые заглянул в бездну личного кабинета Wildberries. Но утро пятницы смыло остатки ночной тревоги. У меня была таблица. Шесть ровных, аккуратных столбцов, усмиривших хаос из полутора сотен позиций. В мире кода, если у тебя есть структура данных, у тебя есть контроль. По крайней мере, мне так казалось.

Руки чесались что-то делать. Азарт новичка — приятное, но обманчивое чувство. Оно затуманивает разум, заставляя верить, будто ты со всем разобрался только потому, что нашел кнопку экспорта в CSV. Пора было переходить к активным действиям.

Первая реальная задача прилетела от Кости ближе к полудню. Мессенджер звякнул, когда я допивал кофе.

«Саня, здорово. Слушай, тут на складе застрял спанбонд. Рулоны. Жена брала под один проект, проект закрылся, материал лежит мертвым грузом, место занимает. Надо реализовать. Сможешь выкинуть на ВБ?»

Задача звучала просто. Спанбонд так спанбонд.

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

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

И тут я решил подключить технологии. Если реальный мир не дал мне картинок, я создам их сам. Благо, айтишный бэкграунд позволял не пугаться нейросетей.

Я открыл нейросеть. Нужно было придумать контекст. Для чего используют черный спанбонд? Защита растений, укрытие грядок, борьба с сорняками. Интуиция подсказала правильный вектор: нужен дачный вайб. Традиционный, понятный любому огороднику уют. Весна, сочная зелень, ухоженные грядки, аккуратно укрытые идеальным, ровным черным полотном, на которое падает мягкий утренний свет.

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

Я зашел в раздел создания карточки. Заполнил название, характеристики, вбил какие-то базовые габариты, прикрепил сгенерированный шедевр и нажал «Сохранить».

Я откинулся на спинку кресла и потер глаза. Первое ощущение было воодушевляющим: всё действительно проще, чем казалось. Люди спорят до хрипоты, нанимают команду, а нужно было просто включить голову и нажать пару настроек. На этой волне самоуверенности я двинулся дальше.

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

Увиденное вызвало у меня, как у разработчика, легкое недоумение. Старые рекламные кампании Кости были настроены с оплатой за охваты (CPM). Система с удовольствием крутила просмотры, циферки в графе «показы» росли, вот только продаж не было. Вообще.

Деньги были просто сожжены. Wildberries с аппетитом освоил бюджет, показал карточки какому-то безумному количеству людей, которым эти защитные комбинезоны были не нужны, и помахал ручкой. Сейчас все эти кампании, слава богу, стояли на паузе.

Но среди этого штиля я обнаружил подарок судьбы.

На балансе личного кабинета висели бонусы. Двадцать пять тысяч рублей за регистрацию аккаунта и еще две с половиной тысячи за участие в какой-то внутренней акции. Суммарно — почти тридцать тысяч виртуальных рублей.

Чужие деньги. Бонусные деньги. Самый лучший ресурс для экспериментов. Когда ты рискуешь собственным карманом, ты проверяешь каждую копейку. Но когда на кону фантики, которые система сама тебе подарила, страх исчезает. Появляется опасная легкость.

Я не стал трогать старые остановленные кампании — пускай висят. Вместо этого я настроил новые, с оплатой за клики (CPC). Здесь логика была мне понятна: платить нужно не за то, что твой товар просто мелькнул на экране, а за реальный интерес. За клик.

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

Результат появился быстро. Страница обновилась, и я увидел, как побежали первые клики. Графики поползли вверх. Это было похоже на компьютерную игру, где цифры меняются в реальном времени, а карточки поднимаются в выдаче. Внутри окончательно укрепилось ощущение: я разобрался. Ничего сложного здесь нет, просто нужно уметь нажимать правильные рычаги.

Радоваться кликам до того, как они превратились в реальные заказы и деньги на счете — это, конечно, глупость новичка. Но в тот момент я этого еще не понимал. Зато чувствовал дикий кураж.

На волне этого кавалерийского наскока я решил закрепить успех. Карточка на спанбонд готова, реклама крутится, бонусы работают на нас. Что еще у нас есть в закромах?

Я вспомнил, что Костя упоминал про швейный цех. Они в Ростове шили не только комбинезоны. В остатках материалов и лекал числились медицинские халаты. Простая, понятная спецодежда. Белая ткань, пуговицы, стандартный крой. Спрос стабильный, врачи всегда будут носить халаты.

«Почему бы и нет?» — подумал я, открывая форму создания новой карточки товара. Логика была прежней, обкатанной: сейчас быстро набросаем структуру, запустим, а с визуалом разберемся позже. Ломать — не строить.

Я вбил в строку категории: «Халат медицинский».

И в этот момент система Wildberries, которая до сих пор казалась ласковой и понятной, внезапно выставила жесткий барьер. Страница подстроилась под выбранную категорию и вывалила на меня список обязательных полей для заполнения.

Я листал вниз, и внутри меня рос холодный, липкий ком тревоги.

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

ТН ВЭД. КИЗ (Честный Знак).

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

Что это вообще такое? Какой еще ТН ВЭД? Товарная номенклатура внешнеэкономической деятельности? Мы шьем эти халаты в Ростове! При чем тут внешнеэкономическая деятельность?

А КИЗ? Контрольный идентификационный знак. Какая-то обязательная государственная маркировка. Система «Честный Знак». И поле заблокировано — без ввода этих данных карточку просто невозможно создать, система выдает ошибку.

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

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

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

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

Я закрыл карточку, даже не пытаясь сохранить черновик. Халаты были отложены в сторону. На сегодня с меня хватило потрясений, нужно было выдохнуть, успокоить вернувшуюся тревогу и вообще переварить этот день.

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

Решение, которое я найду позже, окажется совсем не очевидным. Оно потребует от нас пойти на риск, полностью сменить стратегию и заглянуть туда, куда обычные мелкие селлеры заглядывать боятся. Но это будет потом.

А пока я выключил ноутбук, смотрел на свое отражение в темном экране и понимал одну простую вещь: легкой прогулки не будет. Война только началась. И чтобы выжить в ней, мне придется выучить еще очень много незнакомых букв.

Глава 3. Продажи из воздуха

Суббота началась не с кофе.

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

«Александр, доброе утро. Тут в сборочном задании комбинезоны висят, но их фактически нет на складе. Что делать?»

Я перечитал сообщение дважды. Потом перевернулся на бок, поморгал, глядя в потолок, и прочитал в третий раз. В голове промелькнуло что-то очень короткое, ёмкое и абсолютно непечатное.

Двадцать позиций. Двадцать защитных комбинезонов, которые реальные покупатели уже выбрали, оплатили своими кровными картами и которые Wildberries послушно включил в наше текущее сборочное задание по системе FBS. Те самые комбинезоны, которые Марина должна была прямо сейчас взять со стеллажа, упаковать в плотный полиэтилен, наклеить штрихкод поставки и отправить на сортировочный центр маркетплейса.

Проблема была в том, что этих двадцати штук физически не существовало на складе в Ростове. Вообще. Даже в виде раскроенной ткани. Система ждала, покупатели ждали, а таймер под каждым заказом в личном кабинете уже включил обратный отсчёт времени доставки. Сорок восемь часов. Сорок семь часов пятьдесят девять минут. Часы тикали, отсчитывая секунды до того момента, как площадка начнёт выставлять нам санкции за просрочку.

Я откинул одеяло, открыл свой Макбук и зашёл в личный кабинет селлера. Ровное сияние дисплея высветило ту самую вкладку со сборочными заданиями. Двадцать строчек, горящих жёлтым статусом «В работе».

Первым делом я полез проверять остатки и историю выгрузок. Накануне вечером, перед тем как лечь спать, я лично занулял эти позиции в нашей рабочей таблице и обновлял данные. Я мог бы поклясться чем угодно: остатки на сайте должны были быть нулевыми. В теории это означает, что товар автоматически скрывается с витрины и становится недоступным для заказа. Маркетплейс должен был закрыть продажу. Должен был, но почему-то этого не сделал.

Я вручную обновлял страницу, перелистывал Excel-отчёты, сверял API-логи, пытаясь отыскать момент, где система дала сбой. Версий в голове крутилось несколько. Либо данные при обновлении остатков где-то задвоились на стороне серверов ВБ, либо между отправкой моего файла и его фактической обработкой базой данных образовалась микроскопическая щель во времени, в которую и провалились эти несчастные двадцать заказов. А может, это был самый обычный, классический баг Wildberries. Платформа ворочает миллионами транзакций в секунду, и её внутренние алгоритмы иногда просто ошибаются — без предупреждения, без объяснения причин и уж точно без извинений перед селлерами.

Виновного я так и не нашёл — ни в то утро, ни позже. Маркетплейс никогда не объясняет своих багов. Он просто ставит тебя перед фактом: заказы висят, товара нет, крутись как хочешь.

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

Картина выходила скверная. Отмена заказов продавцом по системе FBS — это один из самых болезненных и жестоких ударов, которые площадка может нанести по твоему бизнесу. За каждый отменённый товар Wildberries выписывает фиксированный штраф. Наш молодой магазин только-только начал набирать обороты в апреле, у нас ещё не было огромной подушки безопасности из сотен ежедневных продаж. Двадцать отмен разом — это не просто списание приличной суммы с баланса, которая разом сжирала кусок нашей маржи. Это мгновенное падение показателя «Исполнение заказов» ниже критической отметки в 95%. Как только этот внутренний рейтинг селлера падает, алгоритмы маркетплейса автоматически пессимизируют карточки товаров. Тебя просто выкидывает с первой страницы поиска на сотую, туда, где никто и никогда твой бренд не найдёт. Реклама становится дороже, показы падают, магазин фактически парализует.

Это было бы не просто плохо, это был бы глупый, обидный финал для нашего взрывного апреля.

Я закрыл ноутбук и уставился в окно. За стеклом тянулось обычное, серое омское утро, которому не было абсолютно никакого дела до моих проблем со швейным цехом и алгоритмами Татьяны Бакальчук. Внутри сидело тяжёлое рабочее напряжение. Не паника, а именно плотная, тягучая необходимость принять решение в ситуации, где хороших ходов нет в принципе. Были только разные степени плохого.

Весь день я провёл в режиме ожидания. Периодически открывал ЛК, нажимал кнопку ручного обновления страницы, смотрел на эти висящие двадцать строчек и перебирал варианты. Отменить — убить рейтинг и словить штрафы. Оставить как есть и сорвать сроки — получить те же штрафы за просрочку доставки, плюс нарваться на негативные отзывы от покупателей, которые ждали свои комбинезоны к началу сезона. Попробовать перекупить аналогичный товар у конкурентов на Садоводе или у сторонних поставщиков за свой счёт? Теоретически возможно, но пока мы найдём нужный СИЗ, пока организуем доставку в Ростов — все тайминги FBS сгорят дотла, да и в экономику мы точно не влезаем.

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

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

«Саня, ничего не отменяй. Мы пошьём».

Я быстро набил ответ: «Костя, ты масштаб понимаешь? Там двадцать штук. Сроки сборки по FBS горят, у нас осталось чуть больше суток на всё про всё».

Ответ прилетел через минуту:

«Знаю. Со старшей смены договорился. Ткань раскроили. Шьют».

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

Я отложил телефон, откинулся на спину и уставился в потолок.

Заказы продолжали висеть в сборочном задании — двадцать живых людей где-то в России сидели у своих экранов и ждали, когда статус их покупки сменится на «Доставлено в пункт выдачи». А в это же самое время в ростовском цеху швейные машинки Singer и распошивалки уже вовсю строчили прочную одноразовую ткань. Успеют ли они выдать нужный объём за ночь? Влезут ли в жёсткие тайминги, которые маркетплейс отвёл на логистику? Что сделает система, если машина с коробками опоздает на склад приёмки хотя бы на полчаса?

Машине внутри личного кабинета ВБ нет дела до того, сколько людей Костя поднял среди ночи и сколько кофе я выпил, гипнотизируя интерфейс. Алгоритм глух к оправданиям — ему нужен результат. Либо товар окажется на складе приёмки вовремя, либо система нас сожрёт. Я захлопнул ноутбук. В тёмной комнате наконец стало тихо, но колеса в Ростове уже закрутились.

Глава 4. Витрина для слепых

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

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

Я кликал по ним одну за другой, лениво листал фотографии, читал описания и вникал в заголовки. Где-то на шестом артикуле меня накрыло отчётливое чувство дежавю. Знаете это странное ощущение, когда находишь в старой куртке кнопочную Nokia, включаешь её, экран светится, змейка запускается, всё вроде бы работает, но ты физически кожей ощущаешь, какая между вами пропасть? Это был чистый артефакт из прошлого, который каким-то чудом протащили в современный веб-интерфейс.

Я смотрел на карточки наших «касперов» и понимал: передо мной глухой, беспросветный две тысячи седьмой год. Эпоха зарождения Рунета во всей своей первозданной красе.

Чтобы вы понимали масштаб трагедии, я попробую описать то, что предстало перед моим дисплеем. Главным товаром у нас тогда шли одноразовые защитные комбинезоны из спанбонда. Штука сама по себе максимально прозаичная, несексуальная и далёкая от мира высокой моды. Это просто белый мешок с капюшоном, призванный защитить маляра от краски, а медика — от грязи. Но то, как его презентовали, заслуживало отдельного места в музее дурного тона.

Фон был белым. Идеально, хирургически белым. Комбинезон на модели, напомню, тоже был белым. В итоге на фотографии края товара полностью растворялись в пространстве. Продукт выглядел как блёклое привидение, зависшее в молочном тумане. Сама модель — девушка славянской внешности — стояла посреди этой пустоты с таким выражением лица, будто её заставили выйти на работу в законную субботу, пообещав заплатить исключительно спасибо. В её глазах читалась вся скорбь швейного цеха в Ростове.

Но настоящий шедевр дизайна крылся в углах кадра. В правом верхнем углу красовался ядовито-оранжевый прямоугольник, набранный шрифтом Arial. Внутри него гордо горело: «рост 180—188». Форма и оттенок этой плашки были такими, словно её вырезали из презентации PowerPoint образца школы конца девяностых и просто шлёпнули поверх картинки с помощью встроенного инструмента скриншотов.

Слева тянулся список областей применения. Каждый пункт — я не шучу — был аккуратно подчёркнут тонкой синей линией. Один в один как гиперссылки в Internet Explorer 6. «Для покраски». «Для медицины». «Для пейнтбола». «Для походов». «Для садовых работ».

Пять строчек, все синие, все подчёркнутые, без малейшего намёка на визуальную иерархию, композицию или банальный здравый смысл. Описание товара под карточкой было скопировано с технического паспорта материала. Дословно. С теми же канцеляризмами, тяжёлыми речевыми оборотами и полным отсутствием знаков препинания в нужных местах. Заголовок карточки состоял из набора ключевых слов, которые, кажется, генерировал пьяный робот: «Комбинезон защитный спецодежда мужская рабочая одноразовая СИЗ». Ни один живой человек в здравом уме не вбивает такой массив текста в поисковую строку.

Я сидел, пил остывший чай и пытался решить эту логическую задачу. Как? Как с этим визуал-пакетом магазин умудрялся делать хоть какие-то продажи? Каким образом покупатель среди тысяч конкурентов находил это белое пятно на белом фоне, листал эти синие ссылки и нажимал кнопку «Добавить в корзину»?

Ответ пришёл ко мне позже, когда я сам погрузился в психологию мобильного трафика маркетплейсов. И этот ответ перевернул моё представление о цифровой торговле.

Среднестатистический покупатель на Wildberries не умеет читать в привычном смысле этого слова. Он сканирует.

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

За эти полторы секунды покупатель успевает подсознательно ответить себе только на один-единственный вопрос. И звучит он не «сколько это стоит?» и не «какая тут плотность спанбонда?».

Вопрос звучит так: «Это про меня?»

И в этом крылся фундаментальный, тектонический просчёт старых Костиных карточек. Они изо всех сил пытались ответить на вопрос «Что это такое?». Это комбинезон защитный, белый, рост такой-то, применим там-то. Исчерпывающая техническая справка на вопрос, который никто не задавал на этапе первого клика.

Человек, который забивает в поиск «комбинезон для дачи и побелки деревьев», ищет не абстрактную сухую ткань. В его голове сидит вполне конкретный образ: весна, грядки, загородный дом, зелёный забор, мягкий утренний свет и он сам — чистый, защищённый, занятый делом. Он хочет увидеть картинку-зеркало. Он хочет узнать себя в этом изображении, ткнуть пальцем и подумать: «Да, это моя история. Мне это надо». Белый фон вакуума этого не даёт. Продукт в пустоте не вызывает никаких эмоций.

Тогда я принял решение полностью снести старый визуал и пересобрать карточки с нуля. Но тут мы столкнулись с суровой реальностью. Собрать Костины комбинезоны, нанять профессионального фотографа, арендовать студию с подходящими декорациями (дача, автосервис, стройка), найти моделей, отснять, дождаться ретуши… На это ушли бы недели времени и добрая половина нашего стартового бюджета. Юнит-экономика такого пира в тот момент просто не выдержала бы.

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

Я засел за генераторы изображений. В тот момент я только начинал ковырять промпты в Midjourney и Gemini, пытаясь заставить алгоритмы выдавать то, что нужно мне, а не то, что они сами считают красивым. И первые ночи были чистым адским аттракционом.

Оказалось, объяснить нейросети, что такое «одноразовый защитный комбинезон из спанбонда» — это задача посложнее, чем сдать проект на Kotlin с горящими дедлайнами. Это тебе не киберпанк-котиков в космосе рисовать. Машина упорно не понимала специфику спецодежды. Первые генерации выдавали то футуристических космонавтов в сияющих скафандрах на Марсе, то каких-то супергероев, то шестипалых моделей в латексных костюмах, которые выглядели слишком двусмысленно для категории «Медицина и садоводство».

В какую-то из ночей, когда глаза уже вылезали из орбит от ровного свечения экрана, я решил пойти напролом. Вбил в промпт простую, как мне казалось, фразу: «мужчина в белом защитном комбинезоне занимается садоводством на летней даче, грядки, мягкий свет». Нажал Enter, подождал минуту и… чуть не подавился остывшим кофе.

Нейросеть выдала шедевр цифровой психиатрии. Комбинезон на картинке действительно был белым. И дача была на месте. Но сама модель… Алгоритм решил, что человеческая анатомия — штука слишком скучная. Он вывернул несчастному парню суставы рук, скрючил его тело в противоестественную, ломаную позу в три погибели, наградил лишними пальцами и — вишенка на торте — оставил его абсолютно босым на грязной земле. Парень на фото выглядел так, словно его только что затянуло в шестерёнки промышленного адского станка, и он, превозмогая адскую боль, смотрит прямо в душу покупателю маркетплейса и безмолвно умоляет о пощаде.

Я сидел один в тёмной комнате, смотрел на этого босоногого мутанта в спанбонде, и внутри меня боролись два чувства: дикий, до слёз, хохот и непреодолимое желание захлопнуть ноутбук и больше никогда не прикасаться к искусственному интеллекту. Выставить такое на Wildberries означало бы не просто слить CTR, а гарантированно обеспечить клиентам кошмары на неделю вперёд.

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

Методом сотен итераций и слитых подписок моя личная система пересборки витрины наконец-то уместилась в три чётких шага.

Шаг первый: ДЕКОНСТРУКЦИЯ ПОКУПАТЕЛЯ. Я запретил себе думать категориями «наш товар покупают все рабочие». Мы разбили один артикул на три разные карточки под разные психотипы. Первый — дачник, который готовится к сезону побелки и уборки участка. Второй — маляр-отделочник, работающий на объектах. Третий — автомеханик в грязном сервисе. Это три абсолютно разных человека, и мотивы к покупке у них не совпадают.

Шаг второй: СОЗДАНИЕ СИТУАЦИИ. Для дачника мы скормили нейросети промпт: «Задний план: уютная летняя дача, аккуратный деревянный дом, цветущий палисадник, утренний тёплый солнечный свет, мягкий фокус». Мы вмонтировали туда наше фото комбинезона. Картинка мгновенно ожила. Появился воздух, глубина и то самое ощущение «это про меня». Для маляра фоном стала реалистичная стена в процессе ремонта, валик и банки с краской. Товар перестал быть вещью в вакууме. Он стал решением проблемы.

Шаг третий: УБИЙСТВО ПОУЭРПОИНТА. Всю старую инфографику я безжалостно выкинул. Вместо оранжевых монстров из Paint мы разработали строгий, минималистичный дизайн плашек. Покупатель, который кликнул на главное фото, даёт нам ещё секунд десять своего времени на изучение деталей. Здесь нельзя пичкать его текстом. Нужна жёсткая иерархия.

Через три недели наша витрина выглядела так, что её было не стыдно показать крупным брендам. Слева на плашке шёл аккуратный, контрастный тёмно-серый фон с чёткими, рублеными жёлтыми иконками. Справа — сочный, объёмный контекст, сгенерированный ИИ (и на этот раз — без вывернутых суставов).

Каждый элемент бил в конкретный триггер. Крупный, легко читаемый размер. Рост в сантиметрах, выполненный понятным шрифтом. Плотность материала в граммах на метр — для профессионалов, которые понимают, что наш спанбонд не порвётся при первом приседании. И маленький, аккуратный флаг России с подписью «Отечественное производство». Это был наш скрытый триггер доверия для аудитории, которая принципиально искала местный, надёжный продукт.

Результат? Кликбейтность (CTR) наших карточек в поисковой выдаче выросла почти в два раза за первую неделю после обновления. Люди стали переходить внутрь товара просто потому, что их палец цеплялся за красивую, понятную глазу картинку среди сотен одинаковых белых привидений.

Для себя я тогда вывел короткую рабочую шпаргалку — свод правил выживания на маркетплейсе, написанный программистом:

— Забудь про белый фон на белом товаре. Если твой продукт светлый — уводи фон в контраст или контекст. Иначе ты продаёшь пустоту.

— Главное фото — это сцена, а не предмет. Оно должно иллюстрировать процесс успешного использования товара.

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

— Инфографика — это не список, это структура. Выделяй цветом только один главный параметр. Всё остальное делай второстепенным. Если на карточке ярко горит всё одновременно — не горит ничего.

— Тестируй только на мобильном. Открой макет на копеечном смартфоне с разбитым экраном, зажмурься наполовину и посмотри, считываются ли цифры роста. Вот это и будет реальный тест твоей витрины.

Мы починили фасад нашего магазина. Карточки стали притягивать трафик, люди начали активно кликать и заходить внутрь. Но именно в этот момент, когда поток заказов хлынул рекой, мы упёрлись в следующую, гораздо более циничную стену Wildberries.

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

Глава 5. Цена воздуха

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

Костя задал мне этот вопрос во время очередного субботнего созвона. Буднично, между делом, под шум ростовского трафика на заднем плане, словно спрашивал, какая сегодня погода в Омске.

— Слушай, Сань, а сколько нам вообще Wildberries чистыми платит? Ну, по каждой позиции — что реально долетает на расчётный счёт после всех их комиссий, удержаний и логистики? По каждому товару интересует.

Я открыл было рот, чтобы выдать готовую цифру, но так ничего и не сказал. Потому что я не знал.

Не потому, что мы не вели учёт — в моей личной таблице в Numbers, которую я бережно пилил с первых дней, были зафиксированы все приходы. Деньги на счёт падали каждую неделю, ВБ исправно перечислял рубли, Костя платил зарплаты швеям, магазин крутился. Но сколько конкретно съедала доставка одного белого комбинезона, сколько забирала площадка за то, что показала его покупателю, и какая чистая маржа оставалась в сухом остатке — эта картина была затянута плотным, непроглядным туманом.

— Подожди, сейчас разберусь и скину цифры, — самоуверенно ответил я.

Это было чертовски самонадеянно. Но в тот вечер я ещё не подозревал, с какой машиной решил поиграть в математику.

Первым делом я пошёл по пути наименьшего сопротивления — полез в личный кабинет селлера искать встроенные инструменты аналитики. У маркетплейса с миллиардными оборотами обязана быть кнопка «Посчитать прибыль». И она там действительно была — многообещающий раздел «Калькулятор прибыли». Я кликнул по ссылке, ввёл артикул нашего комбинезона, нажал кнопку расчёта и упёрлся взглядом в пустоту. На экране Сафари уныло закрутилось серое колесо загрузки.