ぼろぼろ平原

困った

App Storeのトップセールスアプリ200件を雑に分析する

App Storeの「トップセールスApp」は売上高順にアプリが並ぶ。今回はiPhoneアプリを対象にこれらをRubyで雑に分析する。

データの取得

iTunes APIではトップセールスは取得できないので、代わりにAppleRSSRSS Generator)から取得する。

XMLのパースにはYorickPeterse/oga · GitHubを使う。

今回はRubyコードでiPhoneトップセールスアプリ200件の

  1. アプリ名
  2. 販売元
  3. カテゴリ
  4. 価格

の4つを取得する。

Rubyコード

#!/usr/bin/env ruby

require "oga"
require "open-uri"

file = open("https://itunes.apple.com/jp/rss/topgrossingapplications/limit=200/xml", "r:UTF-8")
doc = Oga.parse_xml(file)

data = doc.xpath("//feed/entry").map {|entry|
  {
    name: entry.at_xpath("im:name").text,
    author: entry.at_xpath("im:artist").text,
    category: entry.at_xpath("category").get("label"),
    price: entry.at_xpath("im:price").get("amount").to_i,
  }
}

data
# => [{:name=>"モンスターストライク", :category=>"ゲーム", :author=>"mixi, Inc", :price=>0},
# {:name=>"パズル&ドラゴンズ", :category=>"ゲーム", :author=>"GungHo Online Entertainment, Inc.", :price=>0},
# (省略)

データ取得結果

200件すべてを載せると長すぎるので上位20件のみを示す。ただし、カテゴリはLINE(ソーシャルネットワーキング)以外はすべてゲーム、価格はすべて0円だったので省略。

順位 アプリ名 販売元
1 モンスターストライクモンスターストライク mixi, Inc
2 パズル&ドラゴンズパズル&ドラゴンズ GungHo Online Entertainment, Inc.
3 白猫プロジェクト白猫プロジェクト COLOPL, Inc.
4 LINE:ディズニー ツムツムLINE:ディズニー ツムツム LINE Corporation
5 FINAL FANTASY BRAVE EXVIUSFINAL FANTASY BRAVE EXVIUS SQUARE ENIX INC
6 LINELINE LINE Corporation
7 ドラゴンクエストモンスターズ スーパーライトドラゴンクエストモンスターズ スーパーライト SQUARE ENIX INC
8 アイドルマスター シンデレラガールズ スターライトステージアイドルマスター シンデレラガールズ スターライトステージ BANDAI NAMCO Entertainment Inc.
9 LINE ポコポコLINE ポコポコ LINE Corporation
10 戦国炎舞 -KIZNA- 【人気の本格戦国RPG】戦国炎舞 -KIZNA- 【人気の本格戦国RPG】 Sumzap Inc.
11 Fate/Grand OrderFate/Grand Order Aniplex Inc.
12 ゲーム・オブ・ウォー「Game of War」ゲーム・オブ・ウォー「Game of War」 Machine Zone, Inc
13 星のドラゴンクエスト星のドラゴンクエスト SQUARE ENIX INC
14 ファントム オブ キル【一手で戦況が変わるシミュレーションRPG】ファントム オブ キル【一手で戦況が変わるシミュレーションRPG】 gumi Inc.
15 乖離性ミリオンアーサー乖離性ミリオンアーサー SQUARE ENIX INC
16 FINAL FANTASY Record KeeperFINAL FANTASY Record Keeper DeNA Co., Ltd.
17 あんさんぶるスターズ!あんさんぶるスターズ! Happy Elements K.K
18 クラッシュ・オブ・クラン (Clash of Clans)クラッシュ・オブ・クラン (Clash of Clans) Supercell
19 グランブルーファンタジーグランブルーファンタジー Cygames, Inc.
20 オルタンシア・サーガ -蒼の騎士団- 【戦記RPG】オルタンシア・サーガ -蒼の騎士団- 【戦記RPG】 SEGA CORPORATION

雑な分析

「分析」といってもほとんど数えるだけ。やる気が出たらもっとまともなのを追加する。

f:id:tatzyr:20151028010231p:plain:w147

アプリのカテゴリ

トップセールス上位のアプリのカテゴリ。

件数 カテゴリ
161 ゲーム
24 ソーシャルネットワーキング
5 ブック
5 エンターテインメント
2 ミュージック
1 フード/ドリンク
1 ユーティリティ
1 スポーツ

ゲーム(81%)、ソーシャルネットワーキング(12%)が強い。ソーシャルネットワーキングはほとんどLINEと出合い系。

categories = data.map {|entry| entry[:category] }
categories.uniq.group_by {|category| categories.count(category) }

アプリの販売価格

トップセールス上位のアプリの価格。

件数 価格
198 無料
1 840円
1 120円

198件(99%)のアプリが無料アプリ。840円のアプリはMinecraftで、120円のアプリはネオモンスターズ。両方ともアプリ内課金はある。

Minecraft: Pocket Edition

Minecraft: Pocket Edition

  • Mojang
  • ゲーム
  • ¥840

ネオモンスターズ

ネオモンスターズ

  • NTT Resonant Inc.
  • ゲーム
  • ¥120

Rubyコード

prices = data.map {|entry| entry[:price] }
prices.uniq.group_by {|price| prices.count(price) }

アプリが多くランクインしている販売元

ある販売元が何個のアプリをTop 200にランクインさせることができたか。2個以上の販売元のみ示す。

アプリ数 販売元
18 BANDAI NAMCO Entertainment Inc.
14 LINE Corporation
11 SQUARE ENIX INC
9 SEGA CORPORATION
7 Voltage inc.
6 KONAMI
6 COLOPL, Inc.
6 DeNA Co., Ltd.
4 King.com Limited
4 GungHo Online Entertainment, Inc.
4 ASOBIMO,Inc.
3 Electronic Arts
3 Ateam Inc.
3 Applibot Inc.
3 CYBIRD Co., Ltd.
2 Marvelous Inc.
2 KLab Inc.
2 Happy Elements K.K
2 SHUEISHA Inc.
2 D2C Inc.
2 Pokelabo, Inc.
2 Asobism
2 Cygames, Inc.
2 gumi Inc.
2 Supercell

Top 200に2個以上のアプリが入っているのは25社。残り79社は1つのアプリしかTop 200に入っていない。

Rubyコード

authors = data.map {|entry| entry[:author] }
authors.uniq.group_by {|author| authors.count(author) }

どの販売元の売上高が最も多いか

アプリ売上がべき乗則に従うと仮定したとき、どの販売元の累計売上高が最も多いか。

k位のアプリの売上が1/kと仮定したときの販売元ごとの累計売上高Top 20を示す。

順位 販売元 累計売上高
1 mixi, Inc 1.000
2 LINE Corporation 0.734
3 SQUARE ENIX INC 0.596
4 GungHo Online Entertainment, Inc. 0.541
5 COLOPL, Inc. 0.415
6 BANDAI NAMCO Entertainment Inc. 0.365
7 SEGA CORPORATION 0.150
8 KONAMI 0.128
9 DeNA Co., Ltd. 0.123
10 Sumzap Inc. 0.100
11 Aniplex Inc. 0.091
12 Machine Zone, Inc 0.083
13 gumi Inc. 0.078
14 Supercell 0.068
15 Happy Elements K.K 0.068
16 Cygames, Inc. 0.058
17 KLab Inc. 0.055
18 Applibot Inc. 0.050
19 King.com Limited 0.049
20 Voltage inc. 0.049

1位: mixi, Inc ← わかる
2位: LINE Corporation ← わかる
3位: SQUARE ENIX INC ← !?

ということで、これはあまりいいモデルではないかも。

Rubyコード

authors = data.map {|entry| entry[:author] }
sales = Hash.new(0)
authors.each.with_index(1) do |author, i|
  sales[author] += 1.0 / i
end

sales