Автор
Вадим Соколов
Рейтинг автора
4.6

Импортировать из URL

Создано 6 месяцев назад

Проект: Профиль прибыльного приложения (App Store и Google Play)

В этом проекте предполагается, что мы работаем на компанию, создающую приложения как для Google Play Store, так и для магазина приложений IOS. Наша команда разработчиков хочет знать, какое приложение создать для обоих рынков, которое принесет наибольшую прибыль. Обратите внимание, что в этой компании мы разрабатываем только бесплатные приложения, поэтому большая часть нашего дохода поступает от рекламы в приложениях, поэтому мы должны создавать приложения, которые имеют наибольшее количество пользователей. Приложения также ориентированы на англоязычный рынок.

Набор данных

По состоянию на сентябрь 2018 года в App Store было доступно около 2 миллионов приложений для iOS, а в Google Play - 2,1 миллиона приложений для Android. Сбор данных для более чем 4 миллионов приложений требует значительного количества времени и денег, поэтому вместо этого мы попытаемся проанализировать выборку данных. Чтобы не тратить ресурсы на сбор новых данных, мы должны сначала попытаться бесплатно найти какие-либо актуальные существующие данные. К счастью, у нас есть два набора данных, которые кажутся подходящими для наших целей:

  • Набор данных, содержащий данные примерно о 10 000 приложений Android из Google Play; данные были собраны в августе 2018 года. Вы можете скачать набор данных прямо по этой ссылке.
  • Набор данных, содержащий данные примерно о 7000 приложений iOS из App Store; данные были собраны в июле 2017 года. Вы можете скачать набор данных прямо по этой ссылке.

Открытие и изучение набора данных

Этот анализ будет выполнен без стека pydata.

Очистка данных

Удаление неправильных данных

Для наборов данных kaggle хорошее место, чтобы начать очистку данных, - это просмотреть раздел обсуждения. Из обсуждения набора данных Google Play мы видим, что одно из обсуждений описывает ошибку для строки 10472. Давайте распечатаем эту строку и сравним ее с заголовком и другой правильной строкой.

Глядя на строки выше и внимательно изучая строку 10472, мы видим, что категория сопоставлена ​​с 1,9, а рейтинг - с 19 (максимально возможный рейтинг в Google Playatroe равен 5). Вся строка отображается неправильно, поэтому мы собираемся отбросить этот набор данных.

Удаление повторяющихся приложений

Посмотрев далее в раздел обсуждения, мы увидим, что многие строки дублируются. Например, в Instagram 4 строки.

Теперь, когда совершенно очевидно, что многие строки (приложения) являются дубликатами, мы затем пытаемся выяснить, сколько еще дубликатов присутствует.

Следующие несколько ячеек предназначены только для акцента.

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

Теперь мы создаем список списков для набора данных.

Раздел обсуждения данных магазина Apple не сообщает нам о существовании дубликатов, но мы можем это проверить.

Мы сделали следующее:

  • Удалены неправильные данные
  • Удалены повторяющиеся данные

Изоляция английских приложений

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

Мы не заинтересованы в сохранении этих приложений, поэтому удалим их. Один из способов сделать это - удалить каждое приложение с именем, содержащим символ, который обычно не используется в английском тексте. Английский текст обычно включает буквы английского алфавита, числа, состоящие из цифр от 0 до 9, знаки препинания (.,!,?,;) И другие символы (+, *, /).

За кулисами каждый символ, который мы используем в строке, имеет соответствующий номер, связанный с ним. Например, соответствующее число для символа «a» - 97, для символа «A» - 65, а для символа «爱» - 29 233. Мы можем получить соответствующее количество каждого символа, используя встроенную функцию ord ().

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

В ячейках выше мы видим, что функция не может правильно идентифицировать определенные английские названия приложений, такие как «Docs To Go ™ Free Office Suite» и «Instachat 😜». Это связано с тем, что смайлики и символы вроде ™ выходят за пределы диапазона ASCII и имеют соответствующие числа более 127.

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

Теперь, когда наша функция работает правильно, мы можем продолжить и изолировать английские приложения.

На данный момент мы сделали следующее:

  • Удалены неправильные данные
  • Удалены повторяющиеся данные
  • Изолированные приложения на английском языке

Изоляция бесплатных приложений

Помните, что наша компания получает доход от рекламы, рекламы в приложениях. Из-за этого все созданные приложения загружаются бесплатно, поэтому мы собираемся изолировать только бесплатные приложения для анализа.

  • Удалены неточные данные
  • Удалены повторяющиеся записи приложений
  • Удалены неанглоязычные приложения
  • Изолированные бесплатные приложения

Больше анализа

Как мы упоминали во введении, наша цель - определить виды приложений, которые могут привлечь больше пользователей, поскольку на наш доход сильно влияет количество людей, использующих наши приложения.

Чтобы свести к минимуму риски и накладные расходы, наша стратегия проверки идеи приложения состоит из трех этапов:

  1. Создайте минимальную версию приложения для Android и добавьте ее в Google Play.
  2. Если у приложения есть хорошие отзывы пользователей, мы его развиваем.
  3. Если через шесть месяцев приложение будет прибыльным, мы создаем версию приложения для iOS и добавляем ее в App Store.

Поскольку наша конечная цель - добавить приложение как в Google Play, так и в App Store, нам нужно найти профили приложений, которые будут успешными на обоих рынках.

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

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

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

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

В ячейке выше мы сгенерировали частотные таблицы для столбца prime_genre (ios). Теперь проанализируем эти частотные таблицы.

Для отфильтрованного (бесплатного, на английском языке) магазина iOS наиболее распространенным жанром является «Игры», включающий более половины всех приложений. За ним на некотором расстоянии идет Entertainent. Однако это не доказывает, что у этих жанров больше всего пользователей, это только означает, что это самые популярные приложения. Нам еще предстоит увидеть, является ли такое высокое предложение результатом высокого спроса.

Что сразу бросается в глаза, так это то, что в магазине Google есть более равномерное распределение приложений. Больше приложений создано для практических целей (Образ жизни, Бизнес, Инструменты). Однако анализ данных не проводится изолированно. Беглый взгляд на семейную категорию в магазине Google Play или быстрый поиск в Google показывает, что она в основном состоит из игр для детей в возрасте от 0 до 12 лет. Нам еще предстоит выяснить, связано ли большое количество приложений в категории игр с высоким спросом.

Столбец жанра разбивает эти категории дальше, но, поскольку мы проводим анализ высокого уровня, можно продолжить анализ только столбца категорий для магазина Google Play.

В целом в App Store преобладают приложения, предназначенные для развлечения, в то время как Google Play демонстрирует более сбалансированный ландшафт как практических, так и забавных приложений.

Самые популярные приложения по жанрам в App Store

Теперь мы хотели бы получить представление о типах приложений, у которых больше всего пользователей. Один из способов узнать, какие жанры наиболее популярны (у них больше всего пользователей), - это рассчитать среднее количество установок для каждого жанра приложения. Для набора данных Google Play мы можем найти эту информацию в столбце Installs, но эта информация отсутствует для набора данных App Store. В качестве обходного пути мы возьмем общее количество оценок пользователей в качестве прокси, которое мы можем найти в приложении rating_count_column.

Начнем с расчета среднего количества пользовательских оценок для каждого жанра приложения в App Store. Для этого нам потребуется:

  1. Изолируйте приложения каждого жанра.
  2. Подведите итоги пользовательских оценок приложений этого жанра.
  3. Разделите сумму на количество приложений, относящихся к этому жанру (а не на общее количество приложений).

Проблема со средним значением в том, что на него значительно влияют экстремальные значения. Поэтому разумно проверить влияние экстремальных значений на наш результат.

Новости спорта

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

Больше новостей