Моя работа с Маркетплейсами
6 постов
6 постов
Собственно суть новости в заголовке. Если кластер отгрузки вы можете заранее просчитать, то кластер доставки известен станет только в момент заказ товара, а значит заранее заложить корректную логистику в стоимость товара не представляется возможным.
Полная новость тут
Ну в новости самого озона как всегда всё хорошо) Там и в примерах логистика снизится в 3 раза и вообще единороги и пони с феечками)
А по факту у продавца забрали ещё один элемент контроля цены. Придётся ставить цены по максимальному кластеру, что бы не оказаться в убытке. А ведь разница между кластерами существенная, например для товара 15-17 литров:
Но слепят синим светом!
Еду и думаю, что за херня. Будто люстра, но не мерцает. А тут вот, клоун. Уже не первый раз таких встречаю



Четыреждыблятская ярость! Самое смешное, что мимо ментов проезжали и им максимально похуй.
Но Яндекс так же обещает нивелировать изменения в логистике изменениями в комиссии:
Хорошо же? Конечно хорошо :) Вон Яндекс даже примеры приводит, как вы теперь сможете сэкономить:
Я прогнал свои товары под новыми условиями, и 90% товаров подорожало. Причём крупные позиции очень значительно:
Повышение комиссий и логистики уже привели к тому, что товары в розницу снова стали дешевле, чем на МП. Это касается и ВБ и Озон и Яндекс. По моим наблюдениям если товар стоит дешевле, чем в розницу, это одно из двух: или у продавца особые условия (очень крупные ретейлеры), или продавец просто неправильно посчитал юнит-экономику и его ждёт неприятный сюрприз
Сами торгуем на ВБ и вот есть одна вещь, которую я никак не могу осознать. Есть топовые продавцы с миллионными оборотами только по одной позиции, но вот их цены просто остаются для меня вне понимания. Покажу на примере:
Есть такой бренд Freshland - они торгуют влажными салфетками. Одни из самых продаваемых - детские с пантенолом. Сейчас цена для покупателей за 6 пачек - 397 рублей.
Скидка по СПП пусть будет 30%, значит цена продавца: 397 / 0,7 = 567 рублей.
Сразу заберём комиссию и эквайринг - это: 32,5% + 3%; 567 * 0,645 = 365,7 рублей
Например, я хочу купить из Краснодара (остаток там есть). Объём упаковки примерно литров 6, учитывая коэффициент склада, стоимость логистики составит примерно 190 рублей. Вычтем эту сумму: 365,7 - 190 = 175,7 рублей.
Есть ещё затраты на налоги, НДС 22% как минимум. Входящий я не знаю, а исходящий, если отталкиваться от стоимости на площадке: 397 * 22 / 122 = 71 рубль. Входящий, полагаю, будет рублей 30, тогда налог к уплате 41 рубль. Есть ещё подоходный (или доходы-расходы), но мы его опустим. Вычтем из налог и получим: 175,7 - 41 = 134,7 рублей.
Это то что получит продавец. Разделим на 6 пачек в упаковке: 134,7 / 6 = 22,5 рубля.
Даже если не учитывать налоги, то сумма: 175,7 / 6 = 29,3 рубля за 1 упаковку.
Это закупка + расходы на упаковку, ЗП, расходы на рекламу, прибыль компании. Любому будет ясно, что такой суммы не достаточно на всё озвученное.
И ладно бы если цены были бы такими короткий срок, это понятно - акции и прочее. Но, нет. Они +- стабильны и меняются скорее из-за изменчивой СПП и условий работы с МП.
И таких товаров очень много, где цена как будто просто не может быть такой, но продавцы усердно держат её именно такой низкой.
Если кто-нить знает, ответьте мне, как можно заработать при таких ценах? В чём подвох? Может я что-то не учитываю?
Я думаю, в связи с изменениями в налоговом законодательстве РФ данный пост будет интересен многим продавцам.
Для ЛЛ: мы сделали формулу, которая автоматически выдаёт цену товара, чтобы после всех комиссий, логистики и налогов у вас остался запланированный процент прибыли.
Мы торгуем на МП уже 4 года, и цены рассчитывали с учётом внутренних расходов и расходов на МП. А теперь, как и у многих, потребовалось считать уже с учётом налогов.
Идея вносить корректировки в цену уже после расчёта налогов, начисленных на предыдущие продажи, мне не нравилась изначально. Слишком мало оперативности и предсказуемости. Поэтому было решено переделать нашу систему на аналитический расчёт цены с учётом НДС и подоходного налога. И у нас получилось, ну почти :)
Если кто не в курсе, как вообще считается НДС – рассказываю. НДС бывает входящий (если купленный Вами товар тоже был с включённым НДС), и исходящий.
Считается так:
НДСв = Закупка * %НДСв / (100 + %НДСв)
НДСи = Реализация * %НДСи / (100 + %НДСи)
НДС к оплате = НДСи – НДСв
Доходы-Расходы (ДРнал) считается как % от полученного дохода без учёта НДС, это если прям грубо:
ДРнал = ((Продажа - НДСи) - (Итоговая Закупка - НДСв)) * % ДРнал / 100
Заметили, что в НДСи используется некая «Реализация», а в ДРнал «Продажа»? Это не просто так.
«Реализация» в нашем случае, это та сумма, которую заплатил покупатель. А всем продавцам известно, что на почти никогда не равна той цене, что они выставили на МП. Т.к. МП всегда применяют или скидки или надбавки, не зависящие от продавца.
А «Продажа», это что мы получим от продажи на МП за вычетом комиссий и прочих логистик со сборками.
Итоговая закупка = Закупка + доп. Расходы. Об этой части чуть ниже.
Понятно, что есть так же исходящий НДС от комиссий, а также от логистики при доставке товара и прочее. Но, честно скажу, что мы этим НДС пренебрегли.
Итак, у нас есть входные данные, с помощью которых, мы и рассчитаем цену:
Чистая закупка, руб. (ЧЗ) – то сколько мы оплатили поставщику по накладной. Отсюда мы будем брать НДСв
Внутренняя логистика, % (ВЛог) – часто товар доставляется своими силами. Берём как % от стоимости закупки.
Дополнительные расходы к закупке, руб. (ДопРЗ) – сюда мы добавим стоимость дополнительной упаковки, если применяется, или например, стоимость сборки сотрудниками, если они на сдельщине.
Итоговая закупка, руб. (ИЗ) = ЧЗ * (1 + ВЛог / 100) + ДопРЗ. Из этой суммы мы считаем % ожидаемой прибыли
Приёмка, руб. (Пр) – Собственно стоимость приёмки товара на МП, или прочих количественных расходов у МП, тянем по апи.
Логистика МП (Лог), руб. – стоимость логистики. Тянем по апи или считаем по габаритам
Итоговая логистика МП, руб. (Илог) = Лог + Пр.
Прибыль, % - (П) Процент от ИЗ, который мы хотим получить за вычетом всех расходов и ИЗ. По сути, то, что останется нам от продажи товара в идеальных условиях, после уплаты всех расходов и покупки такого же товара.
Доходы-Расходы, % (ДРнал) - % налога
НДС, % (НДС) - % НДС для конкретного товара.
Комиссия МП, % (Ком) - % комиссии МП. Для всех нам известных МП % считается от Вашей конечной цены на МП, без учёта дополнительных скидок. Правильно включить сюда и % эквайринга. Всё тянем по апи
Ещё потребуется средняя Реализация, руб (Р). С ней была проблема, т.к. её можно узнать только после факта продажи в отчётах. Но, мы пошли чуть другим путём. Эту цену я получаю по АПИ из заказов и сохраняю в БД. С этими данными можно сделать потом ещё очень много всего интересного, но это к теме не относится. Я беру продажи за месяц и провожу нормализацию, т.к. могут быть продажи и за 1 рубль, нам такое учитывать не нужно.
Вот и всё. Из этих данных мы слепим нашу цену на МП.
Общая формула выглядит так:
Ц = ((ИЗ * П/100) / (1 - ДРнал /100) + Илог + ИЗ + (НДС / (100 + НДС)) * (Р - ЧЗ)) / (1 - Ком/100)
Давайте проверим:
ЧЗ = 200
ВЛог = 5%
ДопРЗ = 20
ИЗ = 230
ПР = 20
Лог = 80
Илог = 100
П = 25% (57,5 руб)
ДРнал = 13%
НДС = 22%
Ком = 38% (включили сюда эквайринг)
Р = 500
Похоже на правду? Подставим:
Ц = ((230 * 25/100) / (1 – 13/100) + 100 + 230 + (22 / (100 + 22)) * (500 – 200)) / (1 – 38/100)
Раскрываем скобки:
Ц = (57,5 / 0,87 + 100 + 230 + 0,18 *300) / 0,62
Ц = (66 + 330 + 54) / 0,62 = 450 / 0,62 = 725,8. Округлим 726 рублей.
Проверим:
Сразу забираем Комиссию + эквайринг: 726 – (726 * 38/100) = 450 (округлили)
Отсюда заберём логистику и приёмку (Илог): 450 – 100 = 350
Теперь посчитаем налоги и заберём их:
НДСв = 200 * 22 / (100 + 22) = 36
НДСи = 500 * 22 / (100 + 22) = 90
НДС к уплате = 90 – 36 = 54
Для ДРнал надо найти «Продажу», т.е. то, что нам останется за вычетом расходов, это как раз 350 рублей, что мы получили ране. Теперь подставим в формулу расчёта налога:
ДРнал, руб. = ((350 - 90) - (230 - 36)) * 13 / 100 = 8,6
Итого налоги к уплате: 54 + 8,6 = 62,6. Заберём эту сумму из 350, и получим 287,4. Осталось забрать Итоговую закупку: 287,4 – 230 = 57,4 (если убрать округления, то будет копейка в копейку)
Формула работает :)
Конечно, сюда можно добавлять различные коэффициенты на случай невыкупов или брака, но это уже пожеланию, да и вы сами справитесь.
В конце получаем такую ознакомительную табличку:
Основной плюс системы – прогнозируемые актуальные расходы. Все данные по комиссиям и логистике тянем напрямую с МП, что позволяет обойти частые изменения условий.
P.S.
Кому интересна тема торговли на МП, приглашаю в наш чатик там пока всего 7 человек и все молчат, но можно спрашивать советы и изливать ненависть на наши любимые маркетплейсы =D
P.P.S
Если кто-то захочет себе такую автоматизацию по расчёту цен, можете писать мне. Помимо своей работы, уже на 3-х предприятиях я внедрил аналогичную схему (правда пока без учёта НДС) обновления цен по одному клику. Заказчики остались довольны :)
Понимаю, что пикабушечка не стэковерфлоу, но может тут я быстрее получу совет. Заранее извиняюсь, если мой пост окажется глупым или раздражающим. Я не профессиональный программист, пишу больше для себя. Поиск по гуглу и общение с ИИ не дал результатов.
У меня есть две функции:
import gspread
import pandas as pd
.
def authorization():
....json_keyfile = "451208-af95638d0bdf.json"
....scope = ['https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive']
....credentials = ....ServiceAccountCredentials.from_json_keyfile_name(json_keyfile, scope)
....gc = gspread.authorize(credentials)
....return gc
.
def get_df(gc, table_name, sheet_name, columns_name_index=0):
....spreadsheet = gc.open(table_name)
....worksheet = spreadsheet.worksheet(sheet_name)
....data = worksheet.get_all_values()
....df = pd.DataFrame(data[columns_name_index+1:], ....columns=data[columns_name_index])
....return df, worksheet
Они выполняются таким вызовом:
auth = authorization()
df_change_price, change_renta_sheet = get_df(auth, 'Рентабельность', 'Изменения Ренты', columns_name_index=0)
Собственно в чём проблема. Данный кусок скрипта крутился на сервере с февраля 2025 года. Выполняется пару раз в день. Всё работало исправно. Но неделю назад при чтении метаданных:
spreadsheet = gc.open(table_name)
я стал получать ошибку: 'Connection broken: IncompleteRead(6429 bytes read, 3811 more expected)'. Число байт в ошибке меняется, но примерно остаётся таким же
Этот же самый скрипт с моих локальных компьютеров выполняется без ошибки. Есть ещё факторы, которые меня ставят в тупик. На этом же сервере есть второй модуль программы, который обращается к этой же таблице раз в несколько часов. Вызов функций ровно такой же, окружение то же самое и таблица открывается без проблем.
В основном скрипте множество таблиц и все они открываются без ошибок, проблема только с конкретно этой. Так же мы пробовали сделать полную копию таблицы "Рентабельность", и она снова не открылась, сделали промежуточную (надёргали нужные столбцы и проставили зависимости) и она открывается. Даже не представляю что можно сделать.
Собственно, все кто торгует на этой площадке, не забудьте откорректировать цены.
Яндекс поднимает тарифы на продажу товара. Причём очень существенно. Мы торгуем мед. расходниками и в наших категориях рост существенный:
Было-стало, %:
Пластыри: 23-35
Шприцы: 31-43,5
Перчатки: 28-40,5
Ну вы поняли. Теперь к изменениям цен. Например, возьмём перчатки нитриловые. Закупочная цена 220 рублей, мы хотим заработать с этой цены 33%, т.е. 72,6 рубля. Из этих денег будут оплачены налоги, внутренняя логистика, упаковка и зарплата сборщикам и водителям. По факту останется рублей 20 +-. А теперь посмотрим какая цена будет на площадке. Опущу детали. Было: 668 рублей, стало: 795 рублей.
Расходы на МП: комиссия, логистика, последняя миля, эквайринг, приёмка.
Получается, что ранее от 668 рублей маркет забирал себе 375 рублей, теперь от 795 рублей будет 502 рубля. А нам останутся всё те же 293 рубля. Вот такая херня, малята)
Кому интересна тема торговли на МП, приглашаю в наш чатик, там пока всего 4 человека :) Никакой рекламы, только чистая ненависть к нашим любимым маркетплейсам =D
