Каждая программа, будь то игра Пакман или последняя версия популярного у подростков приложения Snapchat, состоит из кода – инструкций, которым следует компьютер. Любое приложение или сайт работают с помощью трех составляющих:
1) Алгоритм – процедура, которую использует компьютер для решения задачи;
2) API, интерфейс программирования приложений, который позволяет приложениям получать алгоритмы и данные из других приложений;
Три основных типа API:
API решает проблему: рассчитать оптимальный маршрут, послать сообщение или перевести фразу на другой язык. Braintree API компании Paypal позволяет добавить опцию оплаты картой за несколько минут.
API передает информацию: например, метрополитен Нью-Йорка разработал API, который позволяет отслеживать поезда и предсказать, когда придет следующий.
API получает доступ к устройству. Мессенджер Snapchat использует камеру телефона, а Google-карты пользуются встроенными GPS-приложениями.
3) A/B тесты, которые используются для совершенствования приложений путем сравнения показателей во время тестирования.
Чтобы выдать в ответ на поисковый запрос 10 самых релевантных интернет-страниц из 30 триллионов существующих, Google должен иметь базу данных всех-интернет страниц. Для этого используются так называемые поисковые пауки – программы, которые «перемещаются» по ссылкам, индексируя страницы и пополняя базу Google.
Основатели Google, Сергей Брин и Ларри Пейдж, придумали алгоритм оценки важности страницы исходя из количества ссылок на ресурс – PageRank. В базе данных Google у каждой интернет-страницы есть место в рейтинге, для определения которого используются также такие характеристики, как дата последнего обновления и геолокация.
Для бизнеса попадание на первую страницу по поисковому запросу очень важно, поэтому появилась целая индустрия SEO – поисковой оптимизации сайтов. Но Google постоянно меняет свой алгоритм, и методики оптимизаторов быстро устаревают.
Чтобы рекомендовать 75-миллионной аудитории актуальную музыку, приложение Spotify анализирует два типа данных: вашу историю прослушивания и историю прослушивания всех пользователей.
Алгоритм рекомендаций может предложить вам композицию в вашем любимом жанре. Чтобы выдать рекомендацию на основе истории прослушивания всех пользователей, алгоритм использует технику совместной фильтрации: например, если другой пользователь создает лист из восьми песен, семь из которых вам нравятся, система автоматически предложит вам недостающую.
Системы рекомендаций на основе анализа данных всех пользователей становятся все более популярными: их используют интернет-магазин Amazon, сервис просмотра кино и сериалов Netfix, социальные сети Youtube и Facebook.
Алгоритм Facebook использует сотни тысяч факторов для определения последовательности постов в ленте. Четыре основных: профиль создателя, реакция на пост, тип поста, новизна публикации. Алгоритм не раскрывается полностью, но пользователи замечали, например, что на мобильной версии в ленте выдается меньше видеоконтента.
С помощью алгоритма Facebook старается улучшить показатель вовлеченности, то есть привести вас к тому, чтобы вы лайкнули или прокомментировали новость. Чем больше вам нравятся новости, тем больше времени вы проведете в социальной сети и тем больше вам можно показать рекламы, от которой зависит прибыль Facebook.
Но если основная метрика Facebook – показатель вовлеченности, то само содержание постов не имеет большого значения, как и их достоверность. Это не раз приводило к эпидемиям ложных новостей. Поэтому Facebook старается совместить компьютерные алгоритмы с ручной работой, собирая фокус-группы для получения обратной связи от аудитории.
Приложения такси и частных водителей Uber, приложения с обзорами Yelp и игра Pokemon Go нуждаются в очень точных картах, разработка которых заняла бы многие годы. Но благодаря API, который позволяет позаимствовать функционал или данные другого приложения, они могут использовать карты Google, не «изобретая велосипед».
Из-за удобства и взаимовыгодной экосистемы почти ни одно приложение сейчас не обходится без API, что привело к зависимости приложений друг от друга. К примеру, если API PayPal перестанет работать, то Uber не сможет обрабатывать платежи. Тем не менее обычно API все же надежнее разработок отдельных приложений.
Через разработанное Facebook API SSO (single sign-on) Tinder (приложения для онлайн-знакомств) получает такие данные пользователей, как список друзей, интересы и возраст. Так Tinder избавляется от пустых регистраций, останавливает боты, которые регистрируются автоматически, и получает информацию для выдачи потенциальных кандидатов. Также Tinder может более детально изучать своих клиентов, чтобы совершенствовать дизайн и рекламную стратегию самого приложения. Для пользователей регистрация через Facebook – более простое действие без необходимости запоминать пароль и создающее автоматически заполненные профайлы для знакомств.
Facebook предоставляет API, чтобы получать информацию о том, какими приложениями пользуется аудитория. Тем, кто заходит в Tinder, социальная сеть может предложить таргетированную рекламу о других приложениях для знакомств. Разработка и предоставление бесплатного API – отличный способ получить данные и привлечь новых пользователей.
API UberRUSH позволяет доставлять товары на короткие дистанции, «арендовав» водителя. Так, продавец цветов, чтобы не создавать свой отдел доставки, может пользоваться Uber для доставки букетов.
Для Uber это не только дополнительный источник прибыли, но и возможность завоевать новый рынок доставки товаров по запросу, где компания уже может конкурировать с логистическими гигантами вроде FedEx или UPS. Также с помощью новой услуги Uber может привлечь новых водителей, усилив свое конкурентное преимущество, а с ростом количества поездок – собрать больше данных для улучшения основного сервиса.
Зная алгоритмы и API, любой может создать свое метеорологическое приложение. Почти любое такое приложение использует Google-карты и их API для сбора данных о температуре и изменениях погоды; API индекса, чтобы определить город; API геолокации в телефоне и API Национальной метеорологической службы, которая предоставляет данные бесплатно. Метеорологическая служба в свою очередь использует алгоритм, который воспроизводит физические характеристики атмосферы для прогнозирования погоды.
Washington Post использует A/B тестирование, чтобы максимизировать количество кликов на статью: система размещает статью с двумя версиями заголовка для разной аудитории и сама выбирает ту, на которую чаще реагирует аудитория.
A/B тестирование проводят многие компании: Tinder использует его, чтобы определить, какую из фотографий пользователя показывать как основную, Snapchat позволяет рекламодателям тестировать контент прямо в приложении, а один из стартапов тестирует различный музыкальный фон в торговом зале для максимизации продаж.
При статистическом анализе нужно убедиться, что результаты – это закономерность, а не случайность. Для проверки считается p-значение (p-value), которое показывает вероятность того, что результат является случайностью. Обычно, если p-value меньше 0,05, результаты исследования признают «статистически значимыми».