Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
32
Help us understand the problem. What is going on with this article?
@inamori

Githubを使ってる日本人が何人いるか推計する

More than 3 years have passed since last update.

前々から「日本にソフトウェアエンジニアって何人ぐらいいるのかな?」「ソフトウェアエンジニアだと定義が曖昧だけど、例えば"Githubアカウントを持ってる日本人"は何人いるんだろう」と気になっていました。
最近ふとそれを調べる方法を思いついたので、調べてみた結果を書きます。

ちなみに

政府統計無いのかな?と調べたら「IT人材を巡る現状について」という資料がありました。
ここでは「情報サービス業とインターネット付随サービス業の総人数」は「約100万人」と書かれていますが、その内コードを書く人が何人いるのかは依然不明です。

調べ方

Githubのユーザー検索を使います。

調べ方1: Locationの存在比で調べる

「ユーザー検索でlocation:Tokyoを調べた結果が18000人だった。東京の人口:日本の人口=1:10なので、日本人Githubユーザーは約18万人!」という考え方です。
しかしこの方法には困った問題があります。
1.Locationは任意入力で、全体の何割が入力してるか分からない
入力率によって結果は大きく異なってしまいます。
しかしこの問題に関しては、既知の日本人ユーザーアカウントを調べてLocation入力率を調べれば、ある程度推定は可能です。
2.地域偏在性が激しい
日本の人口は東京:大阪:名古屋=13:9:7なのに対し、Githubユーザーの"Location"は東京:大阪:名古屋=20:2:1ぐらい偏っています。存在比による推計はある程度一様に分布してることが前提なので、この方法は使いにくいです。
3.Locationは自由文入力で、人によって国名を書いたり都市名を書いたりまちまち
トドメ。もうめんどくさいですね。

調べ方2: 苗字の存在比で調べる

"Tanaka"でユーザー検索したら1200人ヒットした。"田中"さん人口:日本人口=1:100なので(参考)、日本人Githubユーザーは約12万人!」という考え方です。
この考え方であれば偏在性を心配する必要はありません。
任意入力なため入力率が不明なのはLocationと同様ですが、Github Awardsで日本人ユーザーを無作為に見た感じ、入力率は30〜40%といったところでしょうか。
この場合ユーザー数=12万*2.5〜3ということになります。

調べた結果(2017/05時点)

ノイズを無くすため、日本語の音韻に独特な文字列を含む、ある程度長くてポピュラーな苗字をピックアップしました。itoさんとかは別の言語圏の名前も引っかかりそうだからです。

苗字 人口 Githubユーザー検索ヒット数
Suzuki 189万 1288
Takahashi 180万 880
Tanaka 134万 1200
Watanabe 107万 897
Nakamura 106万 774
Yoshida 83万 597
Sasaki 68万 581
Kimura 58万 459

(人口の参照元)

Family Name入力率 30〜40%ぐらい?

(ざっくり目視確認)

ということで、プライベートアカウントとか考えたらキリはないですが、日本人Githubユーザーは概ね20〜40万人ぐらいと言えるのではないかと思います。

追記: おまけ

たくさん読まれてるようなのでおまけ。
「存在比から全体を推定する」というのは色んな分野で使われていて、考古学なら化石などの年代を測定する放射性炭素年代測定法、生物学なら個体数を測定する標識再捕獲法などがあります。
ソフトウェア開発でも、テスト手法に「バグ埋め込み法」というのがあって、これは「バグをわざと10件埋め込んでテストしたら、埋め込んだバグが5件、埋め込んでない自然バグが7件見つかった。見つかってない自然バグはあと7件あるぞ!」という考え方をします。
......と遠い昔学んだ記憶があるのですが、実際に使った話は聞いたことがありません。どこかで使ってるのかな。

32
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
32
Help us understand the problem. What is going on with this article?