Парадокс Симпсона в мобильной аналитике

Автор: admin от 10-05-2014, 19:45, посмотрело: 328

Аналитика в мобильном маркетинге не так проста, как может показаться на первый взгляд. Некоторые метрики не всегда отражают реальное положение вещей, поэтому к ним стоит относиться очень внимательно. Сегодня мы расскажем о парадоксе Симпсона или парадоксе объединения. Этот статистический феномен описывает условия, когда в нескольких группах данных может быть общая тенденция, но при рассмотрении их в отдельности ситуация меняется — тенденции становятся противоположными.

Рассмотрим это на гипотетическом примере, близком к мобильному маркетингу. Допустим, что есть группа пользователей, из которых 5000 — пользователи iOS, а 10000 — Android. Средняя конверсия составляет 5%: 4% для iOS и 5,5% для Android. Согласитесь, что менеджер по продукту на основе этих данных может принять вполне конкретные решения …и совершить ошибку. Рассмотрим данные подробнее — с разбивкой по устройствам. Из пяти тысяч пользователей Apple в группе оказывается 1500 iPad (конверсия 6,67%) и 3500 iPhone (2,86%), а в группе платформы Google 8000 планшетов (6,25%) и 2000 смартфонов (2,5%). То есть выясняется, что конверсия в обеих группах устройств Apple оказывается выше, если рассматривать их в отдельности.

Парадокс Симпсона в мобильной аналитике

Смешивание разнородных групп данных в единый массив (в данном примере планшеты и смартфоны) является грубейшей ошибкой. Подобные оплошности часто встречаются в анализе freemium-приложений. Например, когда пытаются вывести общий для всех регионов показатель конверсии.

Чтобы избежать таких ошибок, не объединяйте разнородные группы. Ниже список критериев, которые нужно использовать в мобильном маркетинге для разделения данных на группы:
— регионы или страны;
— типы и платформы устройств;
— источники получения информации;
— поведенческие сигналы;
— дата установки (в случае изучения сезонности спроса).

Категория: Веб-разработка, Game Development, Android, iOS

 

Выбираем Linux-дистрибутив для VPS

Автор: admin от 10-05-2014, 19:45, посмотрело: 1481

Привет, хабрасообщество! Сегодня я был озадачен проблемой выбора дистрибутива для своего дроплета на DigitalOcean и провел небольшое тестирование потребления оперативной памяти, которое может быть вам также полезно. Немного отойдя от темы, хочу сказать, что я давно искал недорогой VPS для собственных нужд и уже было хотел купить его у Hetzner, однако мне посчастливилось наткнуться на DigitalOcean, который предлагает VPS вкупе с шустрым SSD за 5$/месяц.

На данный момент сервис предоставляет на выбор пять дистрибутивов — Ubuntu, CentOS, Debian, Arch Linux, Fedora. Не так давно Arch Linux получил depricated-статус и больше не рекомендуется для создания новых дроплетов. Fedora по понятным причинам отпадает, по крайней мере для меня, как основа для веб-сервера. В итоге мы получаем на выбор три дистрибутива, которые, кстати говоря, являются самыми используемыми на веб-серверах.

Впервые попав на страницу создания дроплета полгода назад, я особо не раздумывал и выбрал CentOS 6.5 x64. Этот выбор был обоснован тем, что AWS (Amazon Web Services) отдает предпочтение CentOS и это мнение является для меня авторитетным. В течении полугода я использовал свой дроплет исключительно как LAMP-хостинг, но подошел момент, когда мне понадобилось запустить стек для Ruby On Rails, которому я отдал свое предпочтение для разработки нового стартапа. Во время установки пакетов система просто ушла в даун, сославшись на недостаток оперативной памяти. Конечно, эту проблему можно было обойти путем подключения swap-файла, но это не наш метод. Я решил сравнить потребление памяти последних версий дистрибутивов на чистых дроплетах с одной открытой ssh-сессией и попробовать переосмыслисть свой выбор для VPS в условиях весьма ограниченного объема ОЗУ (512 MB в моем случае).

Итак, что из этого вышло, смотрите под катом.

Категория: Системное администрирование, Linux, Ubuntu

 

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №108 (4 — 10 мая 2014)

Автор: admin от 10-05-2014, 18:45, посмотрело: 375

Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №108 (4 — 10 мая 2014)

Категория: Программирование » Веб-разработка

 

Психология роботов и умные компьютеры: как это работает и где этому научиться. Лекция Максима Мусина в Яндексе

Автор: admin от 10-05-2014, 14:35, посмотрело: 465

Машины уже умеют находить лица на фотографиях, искать террористов в видеопотоке, переводить тексты и понимать звуковые команды. Нейронные сети, копирующие структуру мозга, являются элементарным кусочком любого сложного алгоритма. Из лекции вы узнаете, как всё это связано с уравнениями, неравенствами и производными, какие интересные открытия случились за последнее время, а также на чём стоит начать программировать сейчас, чтобы однажды стать экспертом в психологии роботов.





Если вспомнить фильм «Териминатор» и технологии, которыми по сюжету пользовались киборги, то можно будет выделить и нейронные сети, и возможность беспроводной связи с внешним источником интеллекта (Skynet), и компьютерное зрение, и распознавание звука, понимание различных языков. На момент выхода фильма на экраны все это было абсолютной фантастикой, технологиями далекого будущего. Но сегодня большая часть этих технологий реализована в том или ином виде. Попробуем разобраться, что же из всего перечисленного уже используется.
Конспект лекции

Категория: Компании » Яндекс

 

Два проекта массового онлайн-сотрудничества

Автор: admin от 10-05-2014, 14:35, посмотрело: 322

На дворе 21 век. По предсказаниям писателей-фантастов 20 века мы должны жить с летающими автомобилями за окном и роботами, которые делают все за нас, а то и вообще уже лететь к другим звездным системам. К сожалению это не так. Но кое-что фантасты предсказать не сумели, точнее не смогли предсказать влияние, которое оказал интернет на общество и цивилизацию в целом. Я не смогу описать влияние интернета на общество, для этого потребуется не одна сотня «хабрапостов», а то и больше, но я выделю интересное для меня направление, а именно краудсорсинг.

Начну я пожалуй с рассказа о проекте CAPTCHA. Этот проект знаком не только специалистам IT, но и каждому пользователю интернета. Он всех раздражает, но без него наша жизнь была бы ужасна. Кол-во спама было бы в разы больше. Но именно такой раздражающий всех проект как CAPTCHA подтолкнул Луиса фон Ана из университета Карнеги — Меллон к созданию проекта reCAPTCHA. Этот проект также нес в себе функцию защиты от ботов. Добавилась одна составляющая, невидимая для обычных пользователей — помощь в оцифровке текстов книг. Теперь при вводе текста с картинки, пользователю предлагается ввести два слова. Первое уже известно системе, а второе слово системе неизвестно и она не способна его распознать программой распознавания текста. Второе слово берется из источника, требующего распознавания (например, книги). Проверка и прохождение «капчи» осуществляется по тому слову, которое известно системе. Неизвестное слово вводить необязательно, так как результат закрепляется на основе статистики, а не ответа одного пользователя, что позволяет выбрать верный вариант. В сентябре 2009 года reCAPTCHA была приобретена компанией Google. А весной 2012 года Google запустил эксперимент по распознаванию изображений из Google Maps и Google Street View с помощью сервиса reCAPTCHA.
Два проекта массового онлайн-сотрудничества
Продолжение читайте под катом.

Категория: Компании » Google

 

Кросскомпиляция библиотек под iOS, делаем это правильно

Автор: admin от 10-05-2014, 09:10, посмотрело: 422

Во время разработки большого проекта возникает такой момент, когда надо встроить в приложение библиотеку из мира open source с подходящей лицензией. Например вам захотелось ускорить декодирование картинок, или понадобился sqlite3 с fts4 или нужны какие-то плюшки из libicu, которых нету в системной libicucore.

Для этого библиотеку, которая понадобилась, нужно будет собрать для 5 архитектур: armv7, armv7s, arm64, i386, x86_64. С кросскомпиляцией есть много подводных камней, на которые не хотелось бы наступать, когда есть уже проверенные решения. В этом коротком посте я расскажу о автоматизации сборки библиотек на примере protobuf и sqlite3.

Категория: Веб-разработка, iOS

 

Статус «Кровоточащего сердца»: обновление до «Разбитого»

Автор: admin от 10-05-2014, 05:35, посмотрело: 371

Статус «Кровоточащего сердца»: обновление до «Разбитого»


Для сведения: Во многих упоминаниях данной статьи авторы ошибочно называют меня сотрудником Opera Software. На самом деле я ушёл из Opera больше года назад и сегодня работаю в новой компании — Vivaldi Technologies AS

Предыстория

Как я уже рассказывал в моей предыдущей статье, несколько недель назад в библиотеке OpenSSL была обнаружена уязвимость (CVE-2014-0160), получившая громкое название "Heartbleed". Данная уязвимость позволяла злоумышленникам добывать такую важную информацию, как, например, пользовательские пароли или закрытые ключи шифрования сайтов, проникая на уязвимые «защищённые» веб-серверы (поясняющий комикс).

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

Категория: Системное администрирование, Информационная безопасность, Сетевые технологии

 

Автризация twitter или как убить сутки с библиотекой STTwitter

Автор: admin от 10-05-2014, 00:35, посмотрело: 273

Предисловие


Убить сутки — реально, особенно учитывая наикорявейшую авторизацию twitter по сравнению например с тем же facebook.
Для сравнения алгоритм получения авторизации:

twitter
Получает token -> Использую этот токен заходим на страницу логина -> Ждем авторизации пользователя и получаем новый токен по callback_url -> обмениваем токен на токен сикрет.

facebook
Открываем facebook страницу логина с параметром calback_url и другими опциями -> ждем авторизиции а на callback получаем уже токен сикрет который можно использовать.

Да не спорю, есть SDK от обоих соц сетей, есть встроенные записи, но мне необходимо было реализовать именно данный метод авторизации. Потому что другие уже достаточно красиво реализованы и есть множество библиотек. Но что делать если встроенные записи не активированы, или были деактивированны. Не заставлять же пользователя лезь в настройки. Пока он будет ползать может забыть о приложении. Поэтому сел я за разработку логина через web для facebook и twitter.

Категория: Веб-разработка, Facebook, iOS