Как мы это сделали: ZOOMOS.BY — система по автоматизации работы интернет-магазинов

20 мая 2015, 09:28

Как создать сервис, который позволяет мониторить цены конкурентов, анализировать прайс-листы поставщиков и представляет собой фабрику описаний и фото товаров, рассказывает сооснователь белорусского проекта ZOOMOS Александр Шишкин.

Читать далее

Идея и цели

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

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

  • наполнение описаниями и фото товаров;
  • обработка большого числа прайс-листов различных поставщиков;
  • мониторинг цен конкурентов с дальнейшим автоматизированным динамическим ценообразованием.

Этапы создания ZOOMOS

Каталог товаров

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

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

Мы стали думать о создании универсального парсера и в 2014 году разработали функционал, способный собирать данные из различных источников и приводить к заданной структуре атрибутов. К концу того же года мы сделали бесплатным каталог описаний товаров для интернет-магазинов при условии интеграции с нашим API. 

Автоматизация обработки прайс-листов

Когда ваш интернет-магазин работает с множеством поставщиков, появляются следующие проблемы:

  • как быстро обновить цены и наличие по товарам;
  • как определить новые товары в прайсах поставщиков и быстро добавить их на сайт;
  • как сформировать конкурентоспособную розничную цену.

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

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

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

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

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

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

Мониторинг цен конкурентов и ценообразование

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

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

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

Команда

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

Сооснователи ZOOMOS Александр Шишкин (слева) и Владимир Шайторов, менеджер проектов Кристина Маруденко. Фото: из архива А. Шишкина.

Технологии

Технологии, которые мы используем в работе над проектом: Java, Spring, Hibernate, JSP, Tomcat, MySQL, jquery.

Оборудование используем стандартное — Supermicro на базе двухпроцессорной архитектуры и 6-ти ядерных процессоров Intel Xeon.

Финансирование

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

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

Итоги

За два с половиной года мы подключили к ZOOMOS 230 интернет-магазинов, 40%  из них — активные пользователи системы. Также собрали базу описаний и фото на более чем 500 тысяч товаров.

Зарабатываем на продаже описаний товаров, обработке прайс-листов и мониторинге цен конкурентов. Созданы тарифные планы для пользования системой, где обработка прайс-листов тарифицируется в зависимости от количества обновлений, а мониторинг цен — в расчёте на количество товаров, по которым проводится мониторинг.

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

Ошибки

№1: Отсутствие уникальности торгового предложения

Проект мы начинали ещё в 2007 году, будучи студентами третьего курса. Тогда мы думали о создании аналога каталога «Онлайнера». Разработка сильно затянулась, мы не смогли предложить пользователю что-то новое, да и просто не было опыта работы в данной области. После двух лет работы и полной растраты денег, заработанных в США на программе Work and Travel, проект пришлось свернуть.

№2: Экономия при оплате труда

Пару раз наступали на одни и те же грабли — при выборе исполнителя по разработке того или иного модуля системы склонялись к специалисту, предлагавшему более низкую стоимость часа работ. По факту выходило, что специалист со стоимостью в 30-40$/час решал задачу в 3-4 раза быстрее и качественнее, чем специалист за 15-20$/час.

№3: Уход в рутину и операционную деятельность

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

Совет для новичков

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

Планы

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

В ближайшие пару месяцев планируем выйти на рынки России и Украины и начать там активное продвижение. Есть намерение сделать проект глобальным, упростив торговым компаниям работу с прайс-листами поставщиков и мониторингом цен.

Полезные ссылки

javatalks.ru — можно почерпнуть много нового при разработке ПО на Java

forum.dev.by — тут мы нашли несколько отличных специалистов, с которыми успешно удалось выполнить отдельные задачи

Обсуждение