Страницы

Wednesday, May 15, 2013

Аналитика для мобильных посетителей

Презентация, в которой описываются принципы и системы для отслеживания мобильных телефонов:

А здесь - демо версия для Spotique

7 comments:

  1. Давно читаю ваш блог, заинтересовала тема аналитики посетителей на основе wi-fi сетей. Сделал неплохой ресерч в этом направлении и вот какие вопросы появились. Судя по этой презентации телефон может быть обнаружен только в том случае если он будет:
    1) активен, т.е. не будет находится в залоченном состоянии (в режиме сна)
    2) если включен wi-fi
    3) если телефон еще не подключен к другой Access Point
    Насколько вообще в таком случае работоспособна такая схема? Каков процент людей будет подпадать под вышеописанные правила?

    С другой стороны, в более старых записях был упомянут немного другой метод - beacons frame. Здесь я тоже сделал небольшой ресерч по всем компаниям, которые делают аналогичные решения (Meraki, Libelium). Все они в своих white papers указывают на то что они ловят beacons frame. Порыв немного глубже узнал следующее.

    В стандарте 802.11 Wi-Fi предусмотрели проблему с нотификациями и power-saving mode для подключаемых к сети устройств. Это реализовано с помощью так называемых management пакетов. В частности, beacon. Беконы рассылаются точкой доступа (далее Access Point - AP) с определенным интервалом. Устройство подключенное к AP принимает первый beacon, в котором прописан beacon interval. Это интервал времени с которым AP будет рассылать beacons. Обычно это значение равно 100ms, во многих AP это можно настроить (от 20 ms до 1000 ms). Получив информацию о интервале синхронизации и синхронизовав внутренний таймер по присланному в beacon пакете таймстампу девайс может погружаться в power-saving режим, просыпаясь в соответствии с заданым в beacon интервалом чтобы принять очередной beacon пакет. В каждом beacon пакете содержиться информация о том есть ли какие данные, которое устройство, подключенное к данной AP, должно получить. Если данные есть, то устройство начинает handshake, отправив для начала association request на AP. Таким образом работают своевременные пуш нотификации и устройство не высаживает батарею. Везде пишут, что устройство тоже рассылает свои beacons, т.к. содержит стандартный чип wi-fi, который соответствует спецификации 802.11 (только возможности поменять интервал скорее всего нет, точнее есть но под рутом). Но поигравшись с wireshark и своим iPhone 5 я так и не поймал ни одного beacon пакета.
    Отсюда и длинные портянки гнева девелоперов о том что после обновления до iOS 6, телефон перестал пинговаться.
    https://discussions.apple.com/thread/4345149?start=240&tstart=0
    Очевидно, что он не будет пинговаться, т.к. он находиться в режиме sleep (power-save mode). А проснется и подключиться к сети девайс только тогда, когда будет получен beacon о том что есть новые данные на AP.
    AP должен находится в режиме мониторинга. В соответствии со стандартом 802.11 wi-fi карта можно находится в одном из шести режимов, один из которых - monitor mode http://en.wikipedia.org/wiki/Monitor_mode.
    Более подробно про режимы работы wi-fi чипов http://wiki.wireshark.org/CaptureSetup/WLAN.

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

    Не могли бы вы как-нибудь прокомментировать эти мысли?

    ReplyDelete
  2. Целая заметка получилась :)
    Да - это monitor mode
    То, что анализируется для поиска телефона называется Wi-Fi probe request: https://www.google.ru/search?q=wi-fi+probe+request

    ReplyDelete
  3. Благодарю за ответ. Т.е. в итоге мы получаем то о чем я написал в самом начале прошлого комментария. Отлавливаться будут только те телефоны, которые:
    1) активен, т.е. не будет находится в залоченном состоянии (в режиме сна)
    2) если включен wi-fi
    3) если телефон еще не подключен к другой Access Point
    Но ведь это очень маленький % от реального количества девайсов? Вы считали эти соотношения?

    ReplyDelete
  4. Wi-fi должен быть включен точно; по крайней мере, Android устройства, подключенные к точке доступа Wi-Fi probe тем не менее рассылают. Проверял на реальных устройствах и Wi-Fi раутере с функцией мониторинга: http://linkstore.ru/spotique/
    Про "режим сна" - не знаю. Не до конца и понимаю, честно говоря - что это. И безо всяких специальных режимов Wi-Fi probe со включенного телефона может не посылаться. И не посылается - это так. По тем данным, что видел, определяется присутствие до 70% телефонов. В собственных тестах было чуть выше, но у нас на всех устройствах точно был включен Wi-Fi

    ReplyDelete
  5. Под режимом сна я имею ввиду тот режим в который входит телефон если его не трогать через 10 - 30 секунд. Экран гаснет. Т.е. основной режим в случае если телефон не используется. В этом случае как я понимаю такой телефон не будет зафиксирован и я это проверял на андроиде и на iPhone 5. Тогда нужно наверное понять в каких местах наиболее эффективно будет работать такой вариант.

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

    2) Если это ретейл, какой-нибудь молл или супермаркет, то там мотивации у посетителей держать телефоны в активном режиме (т.е. пользоваться ими) и быть подключенными к Wi-Fi, очень мала. Человек хочет быстро купить продукты и уйти. Тем не менее все компании, которые предлагают такие решения больше всего говорят про ретейл. Вот здесь совсем непонятна коммерческая ценность такого решения, потому что отлавливать он будет только несколько % посетителей.

    3) Street мониторинг. То что предлагает libelium, Так же как и в пункте 2 - совсем мало людей которые идут по улице и что-то делают со смартфонам и еще более маловероятно что они что-то будут делать подключившись к Wi-Fi сети. Скорее всего это единицы тех кому надо быстро позвонить, ответить на звонок или быстро написать СМС. Каким тогда образом продвигаются такой продукт если он будет собирать только малую долю статистики?

    В каком месте вы отлавливали 70%? Это получается большая часть народу в этом месте должна ходить с активными смартфонами и пользоваться ими. Это была какая-то конференция?

    ReplyDelete
  6. Вообщем главное сомнение во всей этой технологии - это практически нулевая эффективность в ретейле, в street мониторинг. И вообще, там где люди поголовно не ходят и не пользуются в активном режиме смартфонами. А таких мест, где можно было бы эффективно использовать такой мониторинг, по факту, очень мало (выставки, конференции), а с другой стороны, в этих местах нет никакой выгоды от такого мониторинга.
    Другое дело в ритейле, расставив такие точки по моллу можно понимать статистику прохождения, а если это синхронизировать с чеками на кассе, то это вообще подарок для маркетологов и мерчендайзеров + можно делать хороший data mining на такой статистике. Но в ритейле как мы поняли выше эта технология будет отлавливать только несколько процентов от всех посетителей, и, соответственно, будет абсолютно неэффективной. Правильный вывод?

    ReplyDelete
  7. >В каком месте вы отлавливали 70%? >Это получается большая часть народу >в этом месте должна ходить с >активными смартфонами и >пользоваться ими. Это была какая-то >конференция?

    аудитория (комната) в университете

    >там люди ходят с включенными >телефонами, подключенными к вайфай
    один из способов стимуляции - иметь активную Wi-Fi точку. Пусть она и закрыта паролем будет. Лишь от нее SSID broadcast был. Тогда и телефоны в ответ начнут с ней пробовать договариваться.

    Кстати, по опыту - планшеты и телефоны ведут себя по разному.

    ReplyDelete