Региональные группы и уровни рынка часто попадают в одно поле, и это почти всегда заканчивается путаницей. Географическая группа отвечает на вопрос, где находится страна и с кем её удобно складывать в отчёте. Уровень рынка отвечает на совсем другой вопрос: что продукт собирается делать в этой стране. Смешивая их, легко получить запись, в которой страна отнесена к региону по деловому признаку, а деловое решение объясняется географией.
Ниже разберём, откуда берутся группы, чем они отличаются от уровней, как не ошибиться с территориями и почему группировку лучше не закреплять в логике намертво.
По какому признаку выделяют региональные группы?
Оснований для группировки существует несколько, и все они законны, если названы явно. Чаще всего используют континенты: так проще всего рассказать о географии человеку. Чуть подробнее работают части света и крупные области внутри них. Третий вариант — официальные коды регионов и подрегионов из международной системы кодирования, которые удобны в отчётности, потому что не зависят от чьих-либо предпочтений.
Проблема начинается, когда основание не названо. Две группы, собранные по разным основаниям, выглядят одинаково, а складывать их нельзя. Например, группа, описывающая близость рынков, и группа, описывающая географический континент, могут не совпадать ни в одной стране, и тогда сводный отчёт превращается в набор несопоставимых чисел.
Практичное правило такое: у группы есть имя, основание и дата, когда она зафиксирована. Если основание меняется, это новая группа, а не обновлённая старая.
Как устроены континенты, подрегионы и официальные коды
Три способа группировки отличаются уровнем строгости, и это стоит держать в голове.
- Континенты. Самый крупный и самый привычный уровень. Удобен для человеческого восприятия, но внутри одного континента различия бывают больше, чем между разными.
- Подрегионы. Промежуточный уровень: области внутри континента. Именно на нём обычно становится видно, что страны одной области ближе друг к другу по адресным и деловым свойствам.
- Официальные коды регионов и подрегионов. Формальный уровень, где у каждой группы есть устойчивый идентификатор. Именно его стоит брать за основу, когда группировка нужна для регулярной отчётности: числа, посчитанные по устойчивому коду, сравнимы между периодами.
Уровни вложены друг в друга, и это удобно: одна и та же страна попадает и в крупную группу, и в мелкую. Неудобство обратное: при смене уровня меняется состав групп, и числа нельзя сравнивать напрямую.
И здесь важная оговорка: какая именно страна попадает в какую группу, в статье не разбирается. Для этого нужен не наш пересказ, а описание самого набора кодов; как он устроен, разобрано в статье про коды стран и регионов.
Почему уровень рынка и поддержка формата не связаны
Уровень рынка — это решение о том, как продукт работает в стране. Поддержка формата — это то, насколько полно у нас описаны данные этой страны. Это две независимые шкалы, и связь между ними почти случайна.
На практике встречаются все четыре сочетания:
| Ситуация | Уровень рынка | Полнота описания данных |
|---|---|---|
| заметный рынок, данные описаны подробно | высокий | высокая |
| заметный рынок, данные описаны частично | высокий | низкая |
| рынок без продаж, данные описаны подробно | низкий | высокая |
| рынок без продаж, данные почти не описаны | низкий | низкая |
Третья строка самая поучительная. Продукт в стране не работает, а данные о ней всё равно нужны: пользователи указывают эту страну в адресе доставки или в документах, и форма должна принять значение. Если связать описание данных с уровнем рынка напрямую, такие страны выпадут из обработки, и корректный ввод будет отвергнут.
Куда относить зависимые территории?
Зависимые территории, заморские единицы и спорные области — самое частое место ошибок в группировке. Причин две: у таких объектов спорная принадлежность и неполный набор собственных признаков.
Ошибка выглядит одинаково во всех случаях: кто-то один решил, куда отнести территорию, решение нигде не записано, и через год другая команда относит ту же территорию в другую группу. В итоге одна и та же страна оказывается в двух группах одновременно.
Лечится это требованиями к записи, а не спором о правильном ответе. У каждой такой территории должно быть записано основание: по какому признаку её отнесли именно сюда и что произойдёт, если признак изменится. Тогда решение остаётся спорным по существу, но перестаёт быть невоспроизводимым.
Полезно также заранее договориться, что для таких объектов допустима отдельная группа «прочие», и она не хуже остальных. Отдельная группа честнее, чем произвольное отнесение к соседу по географическому признаку.
Почему группы со временем меняются
Группировка выглядит постоянной только до первого изменения. Дальше выясняется, что меняется многое: открывается или закрывается рынок, меняются правила, уточняются сами региональные описания.
Источников изменений несколько, и они требуют разной реакции:
- Деловое решение: продукт начал или перестал работать в стране. Группа меняется быстро, и это нормально.
- Уточнение регионального описания: изменился состав официального подрегиона. Группа меняется медленно, и это тоже нормально.
- Исправление собственной ошибки: территорию однажды отнесли неверно. Меняется запись, но не сам мир.
Разница между этими случаями принципиальна для истории. В первых двух случаях старые записи были верны в момент их создания, и переписывать их нельзя. В третьем случае ошибка была с самого начала. Если не различать эти ситуации, любое исправление будет выглядеть как изменение реальности.
Отсюда требование к хранению: у записи о принадлежности должна быть дата начала действия. Тогда можно ответить на вопрос, к какой группе относилась страна на момент конкретного события, а не только сейчас.
Что важно разработчику
Первое: не закрепляйте группы в коде. Список групп должен приходить из данных, потому что группы меняются, а выпуск новой версии продукта ради перегруппировки — плохая сделка.
Второе: держите географическую группу и уровень рынка разными полями. Даже если сегодня они совпадают, завтра совпадение исчезнет, а объединённое поле придётся разделять, когда им уже пользуются отчёты и интерфейсы.
Третье: проверяйте, что у каждой страны ровно одна географическая группа. Двойная принадлежность почти всегда означает, что где-то осело старое решение, и обнаружить его можно только проверкой.
Четвёртое: не выводите служебные коды групп в интерфейс. Человеку нужны понятные названия групп, а идентификаторы должны оставаться в данных.
Что делать дальше
Начните с инвентаризации: выпишите все места, где сейчас задаётся принадлежность страны к группе, и посмотрите, сколько из них хранят её в логике. Обычно обнаруживается хотя бы одно место, о котором никто не помнил.
Сверить текущий состав групп удобно по каталогу стран и регионов: он показывает, как страны распределены по крупным группам, и сразу видно, где группировка нуждается в уточнении. Дальше логично перейти к вопросу о том, что делать, когда в одной заявке участвует несколько стран и у каждой свой признак: этому посвящён материал про сценарии адреса через границу. А если набор стран ещё не сложился, стоит начать с материала про выбор стран для тестовых данных.
Названия групп и уровней в этой статье — условные обозначения, придуманные для объяснения устройства группировки. Они не отражают разделение рынков какой-либо конкретной компании и не описывают ни одну действительную схему регионов.