レバレジーズ データAIブログ

インハウスデータ組織のあたまのなか

スキルグラフで「スキルの専門分野」と「給与の関係」を分析してみた

こんにちは、レバレジーズテクノロジー戦略室で研究員をしている修です。
前回の記事では、約2万件のシンガポールの求人データからスキルの共起ネットワーク(スキルグラフ)を作り、「中心性」という指標でスキルの重要度を分析しました。前回の最後に、スキルのクラスタリング給与分析を「今後やりたいこと」として取り上げておりました。今回は続編として、スキルのクラスタリングと給与分析を実際にやってみた結果をお伝えします。
「このスキルを身につけると、給与にどう影響するんだろう?」「ITと金融、どっちのスキルセットが市場で高く評価されてるの?」——そんな疑問に、データから迫ってみます。

この記事でやること

  1. スキルグラフのクラスタリング:スキルの「専門分野のかたまり」を自動的に見つけ出します。
  2. クラスタリング結果の解釈:見つかった「かたまり」が実際にどんな専門分野なのかを読み解きます。
  3. クラスタ別の給与分析:各専門分野に属する求人の給与を比較し、「高給な分野」「そうでない分野」を明らかにします。
  4. まとめと今後の展望:分かったことと、次にやりたいことをまとめます。

1. スキルグラフのクラスタリング

「クラスタリング」って何?

前回の記事では、スキルの関係性を「駅と路線」に例え、「近接中心性」と「媒介中心性」という指標を用いて分析しました。近接中心性は、そのスキルが他のすべてのスキルにどれだけ近いかを示す指標で、高い場合は「主要ターミナル駅(例:東京駅)」のようにネットワーク全体の中心に位置し、低い場合は「ローカル線の終着駅」のように他のスキルへのアクセスに乗り換えが多く必要でネットワークの端に位置します。一方、媒介中心性は、そのスキルが他のスキル同士の「最短経路」にどれだけ頻繁に登場するかを示す指標で、高い場合は「重要な『橋』や『乗り換え駅』」のように異なるスキル群を繋ぐ役割を果たし、低い場合は「袋小路の道」のようにそのスキルを通らなくても他のスキルに問題なくたどり着けます。詳細な説明は前回の記事をご覧ください。

今回やりたいのは、その路線図から「沿線エリア」を見つけることです。たとえば、「山手線沿線」「中央線沿線」「東横線沿線」のように、密につながった駅のグループを自動的に発見します。スキルグラフでいえば、「一緒に使われやすいスキルのかたまり」=専門分野を見つけるということです。

前回作成したスキルグラフ。今回は色で中心性の高さを表しています(明るいほど中心性が高い)。

Markov Stabilityによる多スケールクラスタリング

クラスタリングの手法には色々ありますが、今回は Markov Stability という手法を使いました。この手法の一番の特徴は、「どのくらい細かくグループ分けするか」(クラスタリングのスケール)を自由に変えられることです。 イメージとしては、路線図を眺める際の「視点の高さ」に近いです。

  • 各駅停車のように詳細を見る視点:「Webフロントエンド」「バックエンド」「データサイエンス」のように、細かい専門分野が見える
  • 路線図全体を俯瞰する視点:「IT」「金融」「医療」のように、大きなドメインが見える

技術的にはどういう仕組みかというと、グラフの上を「ランダムウォーク」(ランダムに歩き回ること)させます。短い時間だけ歩かせると、近くのノード同士がグループになり(=細かい分割)、長い時間歩かせると、遠くのノードまで含めた大きなグループができます(=粗い分割)。この「歩く時間」をMarkov timeパラメータで制御します。
Markov Stabilityの詳しい理論については、Delvenne, Yaliraki, Barahona (2010)の原論文を参照してください。実装にはPyGenStabilityというオープンソースライブラリを使用しました。

Markov Stabilityによるクラスタリングの適用

Markov timeを変えながらクラスタリングの安定性を調べた結果が、以下のグラフです。

横軸はMarkov time t の常用対数で、左端の t が小さい領域が「細かいスケール」、右端の t が大きい領域が「粗いスケール」に対応します。Markov time t はグラフ上のランダムウォーカーが歩く時間を表しており、t を小→大に変えると、ウォーカーの探索範囲が広がり、検出されるクラスタのサイズも小→大へと変化します。
上段のパネルは安定性とクラスタ数を表してます。安定性はランダムウォーカーが同じクラスタ内に留まる確率が偶然より高い度合いを表し、t が大きくなるほど低下します。クラスタ数は t の増加に伴い減少し、ここで大きく変わる箇所がスケールの転換点です。中段のNVI(Normalized Variation of Information)のヒートマップの縦軸 と横軸は異なる2つのMarkov time でのクラスタリング結果がどれくらい異なるかを色で示しています(暗い=類似、明るい=異なる)。対角線に沿った暗い帯は「スケールを少し変えてもクラスタリングが変わらない安定領域」を示します。緑線(右軸)は各 t における近傍スケールとの平均NVIで、値が小さいほどクラスタリングが安定しています。この緑線が谷になる点が、グラフに内在する「自然なスケール」の候補です。下段のBlock NVI(紫線)は、各スケールでのコミュニティ境界の安定性を示し、谷になるスケールではクラスタの境界が明確に定まっていることを意味します。紫色の縦破線はこれらの指標から自動的に推定された最適スケールの候補で、今回はその中からFine・Middle・Coarseの3つを選択しました。
このグラフを元に、以下の3つのスケールを選びました。

スケール Markov time (log₁₀) コミュニティ数 粒度
Fine(細かい) -0.08 24 個別の技術領域
Middle(中くらい) 0.41 18 業種・職種レベル
Coarse(粗い) 1.14 10 大きなドメイン

2. クラスタリング結果の解釈

それでは、各スケールでどんなクラスタが見つかったか見ていきましょう。

Coarse(粗い)スケールのクラスタリング:10の大きなドメイン

Coarse(粗い)スケールのクラスタリング結果(10コミュニティ)。同じ色のノードが同じクラスタに属しています。

クラスタ  スキル数  代表的なスキル 解釈
0 50 Java, Software Development, SQL ソフトウェア開発
1 155 Engineering, Manufacturing, Product Development エンジニアリング・製造
2 14 SAP, ERP, ABAP SAP/ERPコンサルティング
3 50 Healthcare, Clinical Research, Hospitals 医療・ヘルスケア
4 84 Financial Analysis, Finance, Accounting 金融・会計
5 208 Management, Project Management, Leadership 汎用マネジメント
6 18 Safety Management, Accident Investigation 安全管理
7 62 Troubleshooting, Networking, Security ITインフラ・セキュリティ
8 26 Architecture, SketchUp, Sustainable Design 建築・デザイン
9 29 Recruiting, Employee Relations, Performance Management 人事・採用

データが自動的に「ソフトウェア開発」「金融」「医療」「人事」といったドメインを識別しています。一切ラベルを与えずに、スキルの共起パターンだけからこれだけ明確な分野分けができるのは、スキルグラフの力です。
注目すべきはクラスタ5(汎用マネジメント)で、208個ものスキルを含む巨大なかたまりになっています。ManagementやLeadershipのような汎用スキルは、あらゆる業界で求められるため、多くのスキルと結びついて大きなクラスタを形成するのだと考えられます。

Middle(中間)スケールのクラスタリング:18の業種・職種クラスタ

次に、もう少し小さいスケールで分析してみます。

Middle(中間)スケールのクラスタリング結果(18コミュニティ)。Coarseスケールに比べ、より細かい専門分野が見えてきます。
Middleでは、Coarseで見えていた大きなドメインに対応するような、より具体的な業種・職種のクラスタが現れます。
エンジニアリング・製造(Coarse)に対応する2つのMiddleクラスタ:

分割後 代表スキル 解釈
クラスタ1 Lean Manufacturing, Six Sigma, Continuous Improvement 製造・品質管理
クラスタ5 Engineering, Product Development, Semiconductors エンジニアリング(研究開発寄り)

汎用マネジメント(Coarse)に対応する複数のMiddleクラスタ:

分割後 代表スキル 解釈
クラスタ6 Management, Project Management, Leadership マネジメント(狭義)
クラスタ9 Social Media Marketing, PR, Marketing Communications マーケティング・PR
クラスタ14 Integration, Business Analysis, Requirements Analysis ビジネス分析・SI
クラスタ10 Data Analysis, Teaching, Algorithms データ分析・教育
ほか 法務、調達・物流、契約管理 など

こうして見ると、Coarseの「汎用マネジメント」という大雑把なくくりの中に、実は全く性格の異なるスキル群が混在していたことがわかります。特に「ビジネス分析・SI」や「マーケティング」は独立した専門分野として分離しています。

Fine(細かい)スケールのクラスタリング:24の専門技術領域

最も細かいクラスタリング結果です。ここでは、Middleからさらに分かれた特に興味深い分岐を紹介します。
ソフトウェア開発(CoarseでもMiddleでも1つだった)がFineで2つに分裂:

分割後 代表スキル 解釈
クラスタ0 Agile, JavaScript, XML Webアジャイル開発
クラスタ20 Java, Software Development, SQL Java/バックエンド開発

金融・会計(CoarseでもMiddleでも1つだった)がFineで2つに分裂:

分割後 代表スキル 解釈
クラスタ4 Financial Modeling, Risk Management, Corporate Finance 金融エンジニアリング
クラスタ9 Financial Analysis, Finance, Accounting 財務分析

Fine(細かい)スケールのクラスタリング結果(24コミュニティ)。専門技術領域レベルの細かいクラスタが見えてきます。

スケール間の対応関係

3つのスケールを横断して見ると、テーマ的に対応するクラスタが見えてきます。以下は、代表スキルの重なりから読み取れるおおまかな対応関係です。

ソフトウェア開発(Coarse) ≈ ソフトウェア開発(Middle) ≈ Webアジャイル開発(Fine)+ Java/バックエンド開発(Fine)

金融・会計(Coarse) ≈ 金融・会計(Middle) ≈ 金融エンジニアリング(Fine)+ 財務分析(Fine)

エンジニアリング・製造(Coarse) ≈ エンジニアリング(Middle)+ 製造・品質管理(Middle)

汎用マネジメント(Coarse) ≈ マネジメント(Middle)+ ビジネス分析・SI(Middle) + マーケティング・PR(Middle)+ その他(データ分析、物流...)

ただし、これは厳密な階層的分裂ではありません。Markov Stabilityは各スケールで独立にクラスタリングを最適化するため、ドメインの境界にあるスキル(例:サプライチェーン管理、契約管理など)はスケールによって異なるクラスタに配置されます。特にエンジニアリング(155スキル)とマネジメント(208スキル)のような大きなクラスタでは、数十個のスキルがスケール間で再配置されています。それでも、各スケールで一貫してソフトウェア開発・金融・医療・ITインフラといったドメインが現れることから、スキルの共起パターンが多層的な専門分野の構造を反映していることが読み取れます。


3. クラスタ別の給与分析

ここまでで、スキルグラフから専門分野の「かたまり」を見つけることができました。次の疑問は、「どの分野が高給なのか?」です。 各クラスタに属するスキルを持つ求人の月額平均給与(SGD:シンガポールドル)を比較してみます。

左からFine(24クラスタ)、Middle(18クラスタ)、Coarse(10クラスタ)。各バーがクラスタの平均月額給与を表しています。

Coarseスケール:大きなドメイン間の給与比較

クラスタ 解釈 月額平均給与 (SGD)
0 ソフトウェア開発 $5,798
2 SAP/ERPコンサルティング $5,675
4 金融・会計 $5,672
8 建築・デザイン $5,600
1 エンジニアリング・製造 $5,294
7 ITインフラ・セキュリティ $5,256
5 汎用マネジメント $5,053
6 安全管理 $4,481
9 人事・採用 $4,307
3 医療・ヘルスケア $4,284

一番上のソフトウェア開発($5,798)と一番下の医療・ヘルスケア($4,284)の間には、約$1,500、35%の給与差があります。大きなドメインレベルでも、すでに有意な差が見えますね。

Middleスケール:業種・職種レベルでの比較

もう少しスケールを小さくすると、さらに面白い結果が出てきます。

順位 クラスタ 解釈 月額平均給与 (SGD)
1 14 ビジネス分析・SI $6,201
2 0 ソフトウェア開発 $5,798
3 15 情報セキュリティ $5,784
4 4 金融・会計 $5,721
5 2 SAP/ERP $5,675
16 16 調達・物流 $4,463
17 13 人事・採用 $4,307
18 9 マーケティング・PR $4,141

ここで注目すべきポイントが2つあります。
ビジネス分析・SIが最高給与($6,201)
Coarseでは「汎用マネジメント」という大きなかたまりの中に埋もれていた「ビジネス分析・SI」(Integration, Business Analysis, Requirements Analysisなど)が、Middleで分離した途端、全クラスタで最も高い給与を示しました。これは、要件定義やシステム統合といった上流工程のスキルが、市場で非常に高く評価されていることを意味します。
給与格差の拡大:35%→50%
最高給と最低給の差は$6,201 - $4,141 = $2,060(50%の差)にまで広がりました。Coarseの35%から大幅に拡大しています。粗い分類では見えなかった給与差が、分野を細かく見ることで浮き彫りになりましたね。

Fineスケール:「同じ分野内」でも給与比較

最後にFineスケールを見ると、同じ分野内の「専門性の差」が給与にどう影響するかがわかります。

順位 クラスタ 解釈 月額平均給与 (SGD)
1 4 金融エンジニアリング $6,378
2 18 ビジネス分析・SI $6,201
3 0 Webアジャイル開発 $6,028
4 20 Java/バックエンド開発 $5,821
5 19 情報セキュリティ $5,784
10 9 財務分析 $5,326
22 12 マーケティング・PR $4,141
23 6 一般事務・リサーチ $4,135
24 17 人事・採用 $3,971

特に面白いのは、同じ「金融・会計」ドメイン内での分岐です。

  • 金融エンジニアリング(Financial Modeling, Risk Management, Corporate Financeなど):$6,378
  • 財務分析(Financial Analysis, Finance, Accountingなど):$5,326
  • 差額$1,052

同じ「金融」というくくりの中でも、Financial ModelingやRisk Managementのような高度な定量スキルを持つクラスタは、従来型の会計・財務スキルより約$1,000高いということがわかります。
ソフトウェア開発の中でも同様の傾向があります。

  • Webアジャイル開発(Agile, JavaScript, XML):$6,028
  • Java/バックエンド開発(Java, SQL, Software Development):$5,821

給与分析のまとめ

スケールを細かくするほど、給与格差が拡大していく様子をまとめると:

スケール クラスタ数 最高給与 最低給与 格差率
Coarse 10 $5,798 $4,284 35%
Middle 18 $6,201 $4,141 50%
Fine 24 $6,378 $3,971 61%

これが意味するのは、粗い分類では高給与と低給与のスキルが1つのクラスタに混在して平均化されていたということです。細かく見れば見るほど、専門性の違いによる給与差が鮮明になります。

ここから見えてくること

  • 上流工程スキルの価値:ビジネス分析・SI(要件定義、システム統合)は全スケールで一貫して高給与。「何を作るか決める」スキルは「作る」スキルよりも高く評価される傾向があります。
  • 専門特化ボーナス:同じ金融分野でも、Financial ModelingとAccountingでは$1,000以上の差があります。「広く浅く」より「深く尖った」スキルセットの方が報酬に結びつきやすいようです。
  • ニッチ分野の高給与:SAP/ERP(14スキルしかない小さなクラスタ)が$5,675、情報セキュリティ(22スキル)が$5,784です。スキルの希少性と専門性が高給与を生んでいます。
  • マネジメントは「万能」だが「最高」ではない:最大のクラスタですが、給与は中程度。あらゆる業界で求められる反面、差別化にはなりにくいということかもしれません。
  • 人事・マーケティングは構造的に低給与:全3スケールで一貫して最も低い水準です。

4. まとめと今後の展望

今回は、前回作成したスキルグラフにMarkov Stabilityというクラスタリング手法を適用し、スキルの「専門分野のかたまり」を発見しました。そして、各クラスタの給与水準を比較することで、「どの分野のスキルが市場で高く評価されているか」をデータから明らかにしました。

分かったこと

  • スキルの共起パターンから、「ソフトウェア開発」「金融」「医療」「マネジメント」といったドメインが自動的に識別できる
  • クラスタリングのスケールを変えることで、大きなドメイン → 業種・職種 → 個別の技術領域 という階層構造が見える
  • クラスタ間の給与差は、細かく見るほど拡大する(35% → 50% → 61%)
  • ビジネス分析・SI(上流工程)と金融エンジニアリング(高度定量スキル)が最も高給与
  • 同じ分野内でも、専門性の違いが大きな給与差を生む

注意点

今回の分析にはいくつかの限界があります。

  • データはシンガポールの2019年5月の1ヶ月分のスナップショットです。時期や地域が変われば結果も変わる可能性があります
  • クラスタ別の給与差は「相関」であり、「そのスキルを身につけたら給与が上がる」という因果関係を示すものではありません。経験年数や企業規模など、他の要因も給与に影響します
  • 1つの求人が複数クラスタのスキルを含む場合、その求人の給与が複数のクラスタに計上されるため、クラスタ間の給与差は実際よりも小さく見えている可能性があります

今後やってみたいこと

  • 時系列分析:複数時点のデータを使って、スキル需要やクラスタ構造の変化を追跡する。どのスキルが「伸びている」のかを可視化したい
  • 因果分析:「このスキルを追加で身につけると給与がいくら上がるか」を因果推論の手法で推定する

最後まで読んでいただき、ありがとうございました!


参考資料

  • Delvenne, J.-C., Yaliraki, S. N., & Barahona, M. (2010). Stability of graph communities across time scales. Proceedings of the National Academy of Sciences, 107(29), 12755–12760. arXiv:0812.1811
  • Arnaudon, A., Schindler, D. J., Peach, R. L., Gosztolai, A., Hodges, M., Sherley, M. T., & Barahona, M. (2023). PyGenStability: Multiscale community detection with generalized Markov Stability. GitHub
  • Liu, Z., Clarke, J. M., Sherley, M. T., Sherley, M., Rohenkohl, B., & Barahona, M. (2024). Patterns of co-occurrent skills in UK job adverts. arXiv:2406.03139
  • Bhola, A., Halder, K., Prasad, A., & Kan, M. Y. (2020). Retrieving Skills from Job Descriptions: A Language Model Based Extreme Multi-label Classification Framework. Proceedings of the 28th International Conference on Computational Linguistics (COLING). ACL Anthology

おわりに

レバレジーズでは、最先端AI技術の調査・研究開発を行う研究員のポジションで一緒に働くメンバーを募集しています。 「専門性を生かして新たなイノベーションを起こしたい」と考えている方は以下の求人もご確認ください!

hrmos.co