При определении географии человека мы ориентируемся на разные сигналы, начиная от самых точных. Схема единая и для мобильных приложений, и для браузеров, но в зависимости от наличия или отсутствия каждого из источников мы получаем разную точность:
1. Самым точным источником мы считаем текущий GPS-сигнал от пользователя. Например, пользователь открыл мобильное приложение и поделился геолокацией. При отсутствии GPS-cигнала мы ориентируемся на wi-fi окружение или на ближайшие сотовые вышки. В некоторых случаях мы можем определить координату у статичных IP-адресов так, что можем точно определить город даже при заходе пользователя через браузер.
2. Если свежего сигнала нет, то мы пробуем определить город/регион по тем точкам, в которых пользователь регулярно бывает (дом-работа). Если все эти точки находятся в одном городе, мы считаем, что пользователь из этого города. Сами точки регулярно пересчитываются.
3. Если мы не можем определить п.1 и п.2, то по IP-адресу можно точно определить только регион России, из которого пришел запрос от пользователя. На этом уровне мы уже не различаем жителей административного центра и жителей области. Для мобильных IP-адресов невозможно определить регион внутри страны, все относятся к России.
4. Для тех пользователей, по которым мы не можем определить регион по IP-адресу, мы пытаемся понять, из какого последнего известного региона пользователь выходил в сеть, и используем его, при условии что IP-адрес по-прежнему относится к России.
5. Если же мы никак не смогли определить геолокацию пользователя с точностью до региона, то определяем, из какой он страны.
В
отчётах регионы указаны в виде кодов: воспользуйтесь
Таблицей соответствия: id — название региона.