Интернет-магазин розничной сети различает города-тезки и предлагает покупателям актуальные способы доставки

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

Розничная сеть продает товары по уходу за собой и домом

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

А еще сеть продает товары в интернет-магазине и мобильном приложении. Оттуда получают по 30 000 заказов в месяц. Покупки доставляют курьеры Pony Express — в городах, где работают магазины сети. И Почта России — по всей стране.

Интернет-магазин определяет города покупателей, чтобы рассчитывать цену и способы доставки

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

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

Человека лишний раз не тревожат вопросами и вычисляют местоположение автоматически по IP-адресу или координатам. Вот как все происходит:

  1. Магазин определяет координаты человека. Напрямую с помощью инструментов Google и Apple, если покупатель предоставил доступ к геолокации. Или через IP-адрес.
  2. Ищет координаты на карте. Ее заранее разделили на квадраты и присвоили каждому название города, который расположен внутри. Например, в квадрате с названием «Краснодар» находится город Краснодар.
  3. Считает городом пользователя название квадрата на карте, в который попадают координаты.

Интернет-магазин путал города с одинаковыми названиями, поэтому предлагал неактуальные способы доставки 

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

Раньше города покупателей сверяли с городами присутствия по названию. Магазин искал, например, текст «Павловск» в списке населенных пунктов, будто слово в Excel ищут через Ctrl+F. Дальше два варианта:

  • если искомый текст совпадает до буквы с вариантом в перечне, значит, розничная сеть работает в городе покупателя. Тогда можно доставлять товары курьером;
  • если не совпадает — курьерская доставка недоступна.
Краснодара нет в списке городов присутствия. Товары доставят только почтой

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

Скажем, сайт определял, что человек живет в Павловске. Название «Павловск» есть в списке городов присутствия розничной сети, поэтому покупателю предлагали курьерскую доставку. 

Но магазин не подозревал, что в России аж три Павловска: город в составе Санкт-Петербурга, город в Воронежской области и село в Алтайском крае. В первые два курьер приедет, а в Алтайский край — нет.

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

Представьте, житель Павловска в Алтайском крае заказывал доставку на улицу Полушкина. Павловск есть в списке присутствия розничной сети, поэтому магазин принимал заказ и передавал курьерам. Однако те замечали: в том Павловске, где работает доставка, улицы Полушкина нет. Тогда менеджеры магазина звонили клиенту, объясняли ситуацию, меняли способ доставки и просили доплату. Или отменяли заказ и возвращали деньги. Раздраженный человек вряд ли еще раз покупал в магазине.

Хуже, если курьерскую доставку заказали, например, на улицу Березовую. Такая есть и в Павловске Алтайского края, и в Павловске Воронежской области. Курьер, ничего не подозревая, привозил товары, а его встречали люди, которые ничего не заказывали. Настоящий же покупатель ждал на улице Березовой в другом городе. В результате магазин оплачивал еще и «холостые» разъезды курьеров.

Благодаря «Дадате» интернет-магазин различает города-тезки и сохраняет около 20 заказов в месяц

Разработчики интернет-магазина придумали, как избежать путаницы в городах: можно сверять населенные пункты по КЛАДР-коду. Это один из уникальных идентификаторов города в адресных справочниках налоговой. У каждого населенного пункта свой код: даже если названия совпадут до буквы, коды покажут, что города разные.

Например, у Павловска в составе Санкт-Петербурга КЛАДР-код — 7800000700000; у Павловска в Воронежской области — 3602100100000; у Павловска в Алтайском крае — 2203200000100.

Для сверки по КЛАДР-коду нужно решить две задачи:

1. Вместе с названием города покупателя определять КЛАДР-код. Название города определяли по названию квадрата на карте, в который попадали координаты пользователя. Чтобы получать не только наименование населенного пункта, но и КЛАДР-код, нужно присвоить квадратам идентификаторы. Это можно сделать вручную, но квадратов — сотни, уйдут часы, чтобы найти и прописать код каждому.

2. Проставить КЛАДР-коды городам в списке присутствия розничной сети. Чтобы было, с чем сравнивать код города покупателя.

Разработчики автоматически проставили КЛАДР-коды квадратам на карте и городам в списке присутствия. Помог справочник «Города России» «Дадаты» — перечень городов, дополненный полезными сведениями: КЛАДР- и ФИАС-кодами, ОКАТО, ОКТМО, часовым поясом и координатами. 

Справочник бесплатный и лежит в открытом доступе на GitHub

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

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

Магазин определяет, что человек живет в Павловске с КЛАДР-кодом 2203200000100. Такого КЛАДР-кода нет в списке городов присутствия, а значит, розничная сеть там не работает. Человеку предлагают доставку почтой — как и положено. 

API-методы «Дадаты», чтобы без ошибок определять местоположение покупателей и быстрее получать заказы

Город по IP. Вернет детальную информацию о населенном пункте: название, индекс, регион, КЛАДР-, ФИАС- и ГАР-коды. Пригодится, чтобы автоматически актуализировать ассортимент и считать цену доставки. 

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

Подсказки по адресам. Исправляют и дополняют адреса, которые клиенты вводят при оформлении заказа. Так контакты сразу попадают в базу без ошибок и в едином формате. Не придется перепроверять адреса — можно сразу передавать их службе доставки. А еще с «Подсказками» люди вводят данные на 300% быстрее, поэтому заполняют формы без раздражения и реже бросают.

Главное за месяц
у вас на почте

Раз в месяц пришлем на почту лучшие статьи блога и главные обновления «Дадаты». Так вы не пропустите ничего важного. Без спама.
Читайте статьи там, где удобно

Статьи по теме

«Дадата» экономит клиентам доменного регистратора по 35 000 ₽ на каждом переоформлении домена

Кейсы

«Дадата» экономит клиентам доменного регистратора по 35 000 ₽ на каждом переоформлении домена

Представьте, компания зарегистрировала домен и разместила на нем интернет-магазин. Затем бизнес продали, ликвидировали юрлицо, а вот домен не переоформили. Так новый владелец потеряет адрес в интернете, по которому клиенты находили магазин. Вот как таких проблем избегают с «Дадатой».

«Дадата» экономит сотрудникам аналитического сервиса для застройщиков по 20 часов в месяц

Кейсы

«Дадата» экономит сотрудникам аналитического сервиса для застройщиков по 20 часов в месяц

Ребята две недели учили Excel исправлять ошибки в адресах новостроек и вторичек. А наш сервис «Стандартизация» справился с задачей за минуты — лучше самописных формул. Рассказываем, как теперь все работает.

Три способа ускорить работу аналитика данных и докопаться до неочевидных выводов. Показываем на примере исследования рынка общепита

Кейсыосновы

Три способа ускорить работу аналитика данных и докопаться до неочевидных выводов. Показываем на примере исследования рынка общепита

С помощью «Дадаты» аналитик обогатила базу данных, определила наиболее конкурентные локации на рынке общепита и визуализировала плотность заведений на карте. В этой статье покажем, как она это сделала.