Стандартизация адресов: как привести базу к ФИАС

В любой базе, которую собирали годами, адреса лежат строками: с опечатками, сокращениями и «д. 5 корп. 2» в трёх написаниях. Стандартизация приводит их к реестру — с кодами, индексом и честной пометкой там, где адрес разобрать не удалось.

Что такое стандартизация адресов

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

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

От подсказок задача отличается принципиально. Подсказка работает с человеком: он видит список и выбирает. Стандартизация работает без человека, поэтому сервис обязан честно сказать, насколько уверен в результате.

Код качества разбора

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

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

Что делать с остатком

  • Адрес разобран уверенно — обновляем запись, сохраняем код ФИАС, строку показываем.
  • Разобран частично — до города или улицы; годится для аналитики, для доставки нужен человек.
  • Не разобран — чаще всего это не адрес вовсе: комментарий, склад «самовывоз», пустая строка.
  • Есть противоречие — например, индекс не бьётся с регионом; такие показываем оператору.

Сколько стоит стандартизация

Пакетная стандартизация тарифицируется отдельно от подсказок: 0,20 ₽ за запись из предоплаченного пакета, дневной лимит подсказок она не расходует. Это разные пулы, и путать их не стоит при планировании: разовая чистка базы на 100 тысяч записей — понятная сумма, а не «съеденный» дневной объём.

Частые вопросы про стандартизацию адресов

Чем стандартизация отличается от подсказок?
Подсказки работают в момент ввода и с участием человека, стандартизация — по накопленной базе и без него. Отсюда и код качества: сервису нужно сообщить, где он не уверен.
Что происходит с опечатками?
Разбор рассчитан на неточный ввод, поэтому большая часть опечаток и сокращений разбирается. То, что не разобралось, помечается кодом качества, а не подставляется наугад.
Расходует ли стандартизация дневной лимит?
Нет, у неё отдельный предоплаченный пул — 0,20 ₽ за запись.
Можно ли стандартизировать одну строку, а не всю базу?
Да, метод принимает и одну строку, и пакет. На одиночных запросах его обычно и проверяют.
Что сохранять в своей базе после стандартизации?
Код ФИАС, коды для отчётности и координаты. Строку тоже, но как отображаемое значение — она может измениться, код нет.

Чистка базы адресов: с чего начать

Порядок один и тот же независимо от размера базы. Выгрузите адресные строки как есть, вместе с мусором. Прогоните выборку и посмотрите на распределение кодов качества. Разделите записи на три корзины — обновляем, показываем оператору, выбрасываем. И только потом запускайте всю базу: так вы заранее знаете объём ручной работы, а не узнаёте о нём в процессе.

Убирает ли чистка дубли

Напрямую — нет: дедупликация это отдельная задача. Но после стандартизации она становится решаемой. Пока «г. Москва, Тверская 7» и «Москва, ул Тверская, д 7» лежат разными строками, дубли не видит ни один запрос. Когда у обеих записей появляется один и тот же код ФИАС, дубли схлопываются обычной группировкой по полю.

Читайте также

← Все статьи