Большинство владельцев интернет-магазинов мечтают о высокой посещаемости своих начинаний. Однако немногим это удается. Согласно статистике, только 2-3% владельцев онлайн-магазинов удается сделать свои сайты постоянно популярными. Остальные довольствуются единичными визитами посетителей и, как следствие, разоряются.
Однако высокая посещаемость интернет-магазина – это только половина успеха. Кроме того, чрезвычайно важно правильно выстроить бизнес-процессы, чтобы бизнес был рентабельным и приносил прибыль, а не убытки.
Недавно я провел анализ одного интернет-магазина с высоким трафиком, но низким доходом. И это был довольно интересный опыт. Я подготовил для владельцев бизнеса как подробный анализ с использованием Pandas и Python, так и подробный аналитический отчет на 14 страницах. Ниже я продемонстрирую его текст, а также дам 2 ссылки на оригинальный отчет и код на русском языке:
Аналитический отчет по итогу анализа транзакций интернет-магазина
Данный отчет подготовлен с целью ознакомить менеджмент организации, инвесторов, и других заинтересованных лиц с результатами работ по анализу транзакций интернет-магазина.
Данный отчет направлен на выявление тенденций и закономерностей, которые могут помочь в принятии стратегических решений и повысить эффективность бизнеса, в части повышения его рентабельности и общей доходности.
Описание данных
Для проведения анализа был задействован отчет по транзакциям за даты c 2019-12-01 по 2020-12-09. В нем содержалось 54214 строк транзакций и 8 столбцов:
- InvoiceNo (т.е. номер заказа);
- StockCode (товарный код);
- Description (название товара);
- Quantity (количество проданных штук);
- InvoiceDate (дата инвойса/заказа);
- UnitPrice (цена за штуку);
- CustomerID (id клиента);
- Country (страна покупки).
Отчет был в формате Excel, что было не очень удобно для полноценного анализа и необходимых преобразований. Поэтому мною было решено привести его в более сжатый csv формат и провести его анализ с помощью более мощных аналитических инструментов: Pandas и Python.
Отмечу что данные хотя были и достаточно полными, но все же были довольно “грязными” для качественного анализа. По результатам анализа качества данных было обнаружено, что:
- в отчете не хватает значений в 134 строках описания товаров (Descrpition);
- InvoiceDate, UnitPrice и CustomerID имеют некорректные типы данных;
- кроме того UnitPrice имеет некорректный тип разделителя, а CustomerID зачем то его имеет.
В результате преобразований с помощью манипуляций Python мною были исправлены все эти ошибки.
Помимо того, в изначальных данных были обнаружены аномалии с отрицательными значениями в столбце Quantity (количество проданных штук). Была даже одна строка со значением отгрузок в -9600 штук!
По результатам исследований оказалось что это были так отображены списания товаров. Для целей анализа эти данные были бесполезны, однако они “искривляли” статистики. Поэтому мною были принято решение заменить все отрицательные значения на “нули”.
Описание примененного подхода к анализу данных
Для анализа транзакций интернет-магазина мною было принято решение сначала провести общий исследовательский EDA анализ, а затем на выявлении некоторых инсайтов / закономерностей, провести погружение вглубь до понимания что можно улучшить в работе бизнеса.
Данный метод включает в себя очистку и предварительную обработку данных, проведение разведочного анализа данных, а затем использование различных аналитических методов, таких как агрегация, группировка и визуализация, для выявления тенденций, закономерностей и понимания для принятия управленческих решений.
Помимо того, данный метод может включать применение статистических методов, таких как регрессионный анализ и проверка гипотез, для лучшего понимания факторов, способствующих росту продаж и доходов интернет-магазина.
Ограничения, накладываемые данными, и соответствующие интерпретации допущения
Несмотря на то, что такие инструменты как Python и Pandas обеспечивают высокую степень гибкости при анализе данных, позволяя нарезать данные различными способами, чтобы ответить на сложные бизнес-вопросы, при интерпретации полученных данных следует учитывать некоторые ограничения:
- При агрегации и группировке данных может несколько теряться точность, поскольку часть значений просто игнорируются Python и Pandas. Как правило, это связано с тем, что данные отсутствуют, либо имеют некорректный вид / формат. Как правило, эта потеря точности не критична и составляет лишь несколько процентов или их доли.
- При формировании таблиц или графиков некоторые функции упрощают данные и облегчают интерпретацию результатов. Однако иногда эти предположения могут чрезмерно упростить данные и не отразить их сложность.
- Неточные или неполные данные могут привести к неправильным выводам и принятию решений, что может иметь серьезные последствия. Поэтому 1-я задача аналитика – грамотная очистка и предобработка данных.
- Любые предположения, сделанные при анализе данных этими инструментами, должны быть заранее протестированы и проверены на небольшой выборке, чтобы убедиться в их обоснованности и пригодности в общем.
Описание бизнес-заказчика, его гипотетических болей и целей развития бизнеса
Клиент является владельцем интернет-магазина, который специализируется на продаже различных товаров для дома. Целевая аудитория этого интернет-магазина – молодые люди, которые ищут недорогие домашние аксессуары.
Ключевые гипотетические боли этого бизнеса – это как найти трафик (целевых посетителей) для интернет-магазина и как окупить затраты (вложения) на привлечение этого трафика. Третья боль – логистика.
В этом бизнесе очень высокая конкуренция. Маленьким интернет-магазинам сложно конкурировать с огромными маркетплейсами, которые имеют практически неограниченный ассортимент и бюджет на рекламу. Следовательно каждый посетитель сайта / приложения ценен, следовательно каждый посетитель должен (в идеале) конвертироваться в лида, а затем в покупателя, а затем приносить как можно больше выручки.
В отличие от крупных маркетплейсов владелец интернет-магазина не может бесконечно расширять ассортимент. Напротив он должен стремиться дифференцировать свою продукцию от других магазинов и максимально сфокусироваться на самых доходных позициях.
Еще одна существенная проблема, с которой может столкнуться заказчик, – недостаток данных, которые помогут ему принимать обоснованные бизнес-решения. Владелец интернет-магазина имеет ограниченные знания о потребностях целевой аудитории, и ему трудно определить, какие товары пользуются лучшим спросом и их следует запасти с лихвой.
Вот почему здесь ценно иметь знание какие товары имеют лучший оборот, какие – средний, а какие – просто лежат на складе и “морозят” выручку, либо того хуже – “съедают” рекламный бюджет. Анализ транзакций в разрезе оборота и вероятных тенденций в будущих покупках в этом случае крайне важны.
Описание стейкхолдеров отчета с обоснованием выбранных метрик (системы метрик)
Данный аналитический отчет о транзакциях интернет-магазина будет полезен как владельцу интернет-магазина, его руководству, а также менеджерам по продукту и маркетингу.
Ключевые метрики, которые были выбраны для оценки эффективности транзакций интернет-магазина:
- Выручка (как общая, так и по каждому товару);
- ROI (процентное соотношение выручки на каждую шт товара);
- Оборот товаров.
Эти метрики были выбраны ключевыми потому что во-первых они максимально подробно заполнены в исходном файле с данными, во-вторых: являются ключевыми для понимания “узких горлышек” бизнеса и возможностей их расширения для более быстрого роста.
Рекомендации по модели данных бизнес-заказчика: что вы считаете важным отслеживать в дополнение к тому, что уже есть в датасете
Начну с того, что в этом документе описаны общие выводы по результатам анализа и рекомендации. Более детальная информация представлена в комментариях в приложенном файле с кодом Python.
Поскольку данных по транзакциям изначально было немного, мне пришлось их дополнительно обогащать различными вычислениями, дополнительными столбцами, сводными таблицами. Вот как выглядел исходник с данными от заказчика:
То есть для анализа были предоставлены лишь общие данные по транзакциям. Этого достаточно для проведения исследований общего характера, но никак для углубленного анализа бизнес-модели.
Вот что я рекомендую добавить заказчику для того чтобы точно “держать руку на пульсе” и своевременно реагировать если что-то пойдет не так:
- не только описание товара, но и столбец с товарной категорией;
- не только страну, но и город отгрузки;
- не только выручку, но и расшифровку всех затрат на операцию продажи (расходы на закупку, логистику, хранение, рекламу).
Имея эти данные можно более глубоко погрузиться в анализ эффективности бизнеса и понять что можно улучшить. В частности собирая данные обо всех затратах на операционную деятельность по продаже товаров в интернет-магазине и понимая эти затраты, клиент может принимать обоснованные решения относительно ценовых и маркетинговых стратегий, выявлять области неэффективности и оптимизировать ресурсы для повышения прибыльности. Кроме того, это может помочь в определении наиболее экономически эффективных каналов для рекламы и оптимизации логистики для снижения стоимости доставки, платы за обработку и других расходов.
В целом, моя рекомендация – это собирать как можно данных. Чем их будет больше, тем будет больше возможностей увидеть слабые и сильные стороны бизнеса, что поможет в создании более эффективного и прибыльного интернет-магазина.
Сформулированные выводы и рекомендации для бизнес-заказчика
Как уже было сказано выше: в этом отчете будут даны общие рекомендации. Более подробные комментарии я оставил в коде Python.
1. Повышать средний чек
Первое, что бросилось в глаза при анализе данных – это низкий средний чек при продаже товаров. Он составляет всего 10.25 фунтов, и то за счет того, что магазин имеет в ассортименте несколько позиций с ценой в 800 и более фунтов. По факту средний чек еще ниже – его медианное значение составляет всего 3 фунта!
Низкий средний чек драматично отражается на общей рентабельности бизнеса и снижает потенциал его роста до нуля, так как все больше и больше средств приходится вкладывать в логистику, вместо того, чтобы вкладывать их в рекламу и повышение эффективности процессов.
2. Сократить ассортимент
Ассортиментная линейка интернет-магазина насчитывает 3400 товаров, однако лишь немногие из них генерят достойную прибыль.
Я сгруппировал похожие товары и построил по ним график-лидеров по выручке. Судя по графику ниже лишь порядка десятка товаров сгенерировали за год продаж более 5000 фунтов выручки. Это мало.
Текущая бизнес-модель данного магазина явно ориентирована больше на оборот, чем на выручку. За анализируемый период было продано 555980 штук товаров, что очень достойно. Однако при этом такой объем продаж принес всего лишь 1056168 фунтов выручки или 1.899 фунтов на штуку проданного товара.
Я не знаю о расходной части этого бизнеса, но имея опыт анализа других интернет-магазинов я осмеюсь утверждать, что 1.899 фунтов на 1 шт – это прямо грань рентабельности (если не убыток).
Отказываться резко от оборотной модели сразу не стоит. Но можно пересмотреть ассортимент. И в первую очередь следует уделить особое внимание (и рекламу) на самые “оборотистые” позиции.
Также стоит “держать в голове” что лишь 526 товаров из 3400 принесли за год более 500 фунтов выручки. Это серьезный повод задуматься над оптимизацией ассортимента.
Конечно, текущая бизнес-модель, ориентированная на оборот, а не на выручку пока еще дееспособна, но надолго ли?
По диаграмме выше мы видим, что оставлять на складе и на витрине интернет-магазине товары, которые продавались в количестве менее 100 штук, возможно не имеет никакого смысла. Основную выручку (88.5%) генерят остальные.
Анализ рентабельности (ROI) продаж товаров выявил следующий список лидеров:
Эти товары приносят 34% и более выручки на каждую проданную единицу товара. Увы, но таких меньшинство. Большинство товарных позиций имеют гораздо худший ROI.
Видим что почти 70% товаров в ассортименте по сути неприбыльны, так как генерят лишь 1-2% ROI и менее. Очевидно что это повод пересмотреть ассортимент и оптимизировать бизнес, оставив только высокомаржинальные позиции.
Однако все не так просто. При сокращении ассортимента неизбежно произойдет сокращение общей выручки. И вот почему.
Очевидно что костяк этого бизнеса сегодня – продажа низкомаржинальных товаров. Отказаться от них – значит потерять большую часть выручки.
Что же можно сделать чтобы оптимизировать прибыльность бизнеса? Как вариант – сократить ассортимент не до самых доходных позиций, а до 2500 самых прибыльных товаров с точки зрения ROI и объема выручки. Тогда статистика продаж бы выглядела так:
Видим прирост средней выручки на товар составит 21% и ROI на 28.7%.
Сократится ли при этом общая выручка? Да. Но незначительно.
Несмотря на потерю в 11% общей выручки это решение выглядит вполне рационально – немного теряя, мы наращиваем маржинальность бизнеса на целых 20-30%. Далее мы уже можем улучшить маркетинг оставшихся позиций и выйти уже на большую выручку.
Файл с оптимизированным с ассортиментом optimal.xlsx вы найдете в приложении к данному отчету.
3. Оптимизировать логистику
Еще одна моя рекомендация – оптимизировать логистику, исходя из размера оборота уникальных позиций товаров. Стоит отдать приоритет товарам с высоким оборотом, отдать под них лучшие места на складе, на низких стеллажах, рядом с зоной погрузки-отгрузки. А вот товары с низким оборотом можно и вовсе начать продавать и отгружать только по предзаказу.
Как показал анализ лишь половина всех из 3400 товаров была продана в количестве более 49 штук. То есть остальное – это просто “балласт”, который лишь занимает место на складе и “жрет” рекламный бюджет.
Почему я так уверен в этом? Вот почему:
Первая строка – это товары, проданные в объеме более 165 шт. Вторая строчка – более 49 шт. Ниже – все что меньше.
Зачем держать эти позиции в продажах? Вероятно на то есть причины (возможно они приводят трафик, либо так делают конкуренты итп). Но я, как аналитик, считаю что стоит как минимум пристально присмотреться к этим товарам и понять: точно ли они нужны для вашего бизнеса?
В приложении к этому отчету вы найдете 2 файла: goodturnover.xlsx (товары с хорошим оборотом – более 49 шт) и badturnover.xlsx (все остальные). Последний файл я рекомендую проанализировать и отсеить все лишние позиции.
Выводы
На мой взгляд 2 ключевые боли этого интернет-магазина: низкий средний чек и раздутый ассортимент. Из-за этого он имеет крайне низкую выручку при огромном обороте.
Что касаемо логистики – то это головная боль любого интернет-магазина с большим оборотом. И хотя в анализируемых данных нет ничего про логистику, я почти уверен, что такие проблемы у этой организации есть и они довольно острые.
Даже если мы посмотрим на топ-10 всех лучших инвойсов за год мы отчетливо видим эти боли:
Обратите внимание на столбец UnitPrice. Видим, что это в основном товары с небольшой ценой за штуку. Самая дорогая позиция – SET 3 WICKER OVAL BASKETS W LIDS стоит всего 12.48 (что по меркам Великобритании крайне дешевая цена). И это всего 1 позиция. В основном это товары ценой в 2-3-4 фунта. А если смотреть на лидеров по обороту, то там вообще сплошь и рядом “копеечные” товары:
7 товаров из 10 по лучшим чекам по обороту – товары с ценой до 1 фунта за штуку.
В заключение я хочу отметить вкратце про другие рекомендации (которые вы встретите в коде Python). В частности проанализировать таблицу (topcustomers.xlsx) самых лояльных клиентов и работать с ними более плотно (рассылки, звонки итп).
Последняя рекомендация: постараться сгладить сезонность продаж. График роста выручки явно демонстрирует сезонный характер поступления средств.
Чем можно сгладить сезонность? Есть масса способов: например, давать пользователям акции на покупки летних товаров зимой и наоборот, стимулировать их рассылками.
В целом, мы видим что у заказчика удалось построить вполне успешный интернет-бизнес, с пусть и неравномерно растущей выручкой, раздутым ассортиментом и небольшой рентабельностью. Но все исправимо. Если он будет следовать вышеописанным рекомендациям, то он сможет превратить этот бизнес в более доходный и эффективный.