

# 求人情報の給与を偏りを抑えて比較する方法

求人に記載された給与は、職種、職位、通貨、給与の算定期間が同等の求人の間だけで比較し、対象求人のうち利用できる給与情報があった件数も示してください。

求人情報の給与を比較しようとしても、給与の数字がまったく記載されていない求人は多くあります。比較の誤りを減らすには、給与情報が欠損している求人を給与の計算から除き、記載率を把握するための件数には含めます。公開された給与範囲は、求人広告で提示された範囲であり、実際の収入や確認済みの従業員所得ではありません。中央値は、値を順に並べたときに中央に位置する値です。値の数が偶数の場合は、中央の2つの値の平均を使います。中間値は、1件の求人に記載された給与範囲の下限と上限の平均であり、従業員が受け取ると予想される給与ではありません。算定期間、通貨、範囲の上下限が欠けている場合は、不明のままとし、利用可能な給与情報の割合を求める際の除外項目として残します。

Actorは、ホスティング環境で動くデータ収集プログラムです。Taskは、保存された入力設定です。求人を探すには、[Indeed Jobs Scraper Actor](https://apify.com/chronometrica/indeed-jobs-scraper)と、その幅広い検索向けの[Indeed Jobs Scraper Task](https://apify.com/chronometrica/indeed-jobs-scraper/examples/indeed-jobs-scraper)を使えます。検索語と国をそれぞれ1つ指定し、cap2には小さな値を設定し、salaryTypeはany、minSalaryは0、saveOnlyUniqueItemsはtrueに設定してください。

高給与のフィルターを使うと、給与を公開している求人のうち、高給与のものが選ばれます。そのため、求人全般の給与記載率や、全体を代表する給与の中央値は測れません。給与で絞り込むと、記載率を求めるサンプルの分母が変わります。次の生データと構造化フィールドを保持してください。salaryRaw、salaryMin、salaryMax、salaryCurrency、salaryPeriod、salarySource、jobId、jobUrl、title、seniority、employmentType、locationRaw、descriptionStatus、descriptionText、scrapedAt。欠損値はそのまま残し、構造化された単位を元の記載と照合してください。現時点で受け入れ確認を通過した2行から確認できるのは、求人一覧と詳細が同じ求人を指していることです。給与の比較基準や従業員の収入を示すものではありません。

## 比較対象のグループを定義する

1. 給与を見る前に、比較対象のグループを定義してください。職種群、職位、勤務地、勤務形態、雇用形態、観測期間を確認します。重複掲載や再掲載によって、1件の求人の重みが増えないようにしてください。
2. 元データの行をすべて保存し、絞り込み条件のメモも残してください。給与情報が欠損している求人を除く前の、重複を除いた対象求人数を分母として保持します。給与フィルターを使うと、この分母が変わるため、その変更を報告する必要があります。
3. 給与の元の記載と、構造化された上下限および単位を確認してください。年額、月額、時給、契約の日額報酬、賞与、総報酬を表す語を区別します。算定期間や通貨が不明なものは分けてください。数字が大きく見えるだけで年額と判断してはいけません。
4. 通貨と算定期間が一致するものをグループにまとめます。単位が異なるものは、別の表や図に分けて表示してください。単位を換算するのは、勤務時間と前提条件がわかっている場合だけにします。このガイドでは、時給と年額の給与を分けたまま扱います。時給に2,080を掛けた金額を、従業員の収入に一律に当てはまる事実として扱ってはいけません。
5. 比較可能な下限と上限の両方がある求人を、給与範囲の集計グループにまとめます。下限か上限の一方しかない値は、別の集計方法を定義しない限り、別のグループにする必要があります。欠けている上下限を0に置き換えたり、中間値を推測したりしてはいけません。
6. 対象求人の総数、給与記載のある件数、比較可能な給与範囲のある件数、理由別の除外件数、収集上の制限を報告してください。そのうえで、給与範囲の上下限と中間値の集計結果を、それぞれの正確な意味とともに示します。中間値の中央値は、広告に記載された給与範囲を要約した値であり、実際の給与の中央値ではありません。
7. 1つの数字だけでなく、少数のデータの分布も示してください。幅の広い給与範囲は、別の給与範囲と重なることがあります。中間値が少し高くても、よりよい提示条件とは限りません。小さなサンプルから、全国の労働市場についての主張はできません。個人として判断する前に、元の求人の最新情報で給与を再確認してください。

## 架空の給与比較例

この例の求人と給与はすべて架空のものです。同じ地域と観測期間に、条件を満たす中堅アナリストの求人が、重複を除いて6件あるとします。

## 対象条件と給与単位の記録表

| 求人ID | 職種名 | 職位 | 給与の元の記載 | 通貨 | 算定期間 | 下限 | 上限 | 状態 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| J1 | アナリスト | 中堅 | 80000 to 100000 | USD | 年額 | 80000 | 100000 | 比較可能 |
| J2 | アナリスト | 中堅 | 90000 to 110000 | USD | 年額 | 90000 | 110000 | 比較可能 |
| J3 | アナリスト | 中堅 | 100000 to 120000 | USD | 年額 | 100000 | 120000 | 比較可能 |
| J4 | アナリスト | 中堅 | 記載なし | 不明 | 不明 | 空欄 | 空欄 | 給与情報の欠損により除外 |
| J5 | アナリスト | 中堅 | 40 to 50 | USD | 時給 | 40 | 50 | 算定期間の違いにより除外 |
| J6 | アナリスト | 中堅 | 90000 to 100000 | 不明 | 年額 | 90000 | 100000 | 通貨不明により除外 |

給与記載のある求人は6件中5件で、約83.3％です。比較可能なUSD建ての年額で、下限と上限の両方がある求人は6件中3件で、50％です。J4は給与情報の欠損、J5は算定期間の違い、J6は通貨不明という、それぞれ異なる3つの理由で除外されています。これらを除いて、給与記載率が100％だと主張してはいけません。

## 比較可能な給与範囲と中間値の集計

| 求人ID | 下限（USD／年） | 上限（USD／年） | 中間値（USD／年） |
| --- | --- | --- | --- |
| J1 | 80000 | 100000 | 90000 |
| J2 | 90000 | 110000 | 100000 |
| J3 | 100000 | 120000 | 110000 |

比較可能な3行の中間値は、年額90000、100000、110000 USDです。中間値の中央値は年額100000 USDです。下限の中央値は年額90000 USD、上限の中央値は年額110000 USDです。この2つの中央値は、観測した給与範囲の両端を表すものであり、いずれか1社の提示する給与範囲になるとは限りません。

J5の時給範囲は、1行だけの別表に時給40〜50 USDのまま記載し、年額には換算しません。J6は元の給与範囲を保持しますが、比較可能なUSD建ての値という表示は付けません。高給与のフィルターによってJ1とJ4が検索結果から除かれると、表示されるサンプルの分母が変わります。元の6件のサンプルがそのまま残っているかのように、83.3％という割合を再計算してはいけません。この影響は、実際の給与上昇ではなく、対象の選別によるものとして示してください。

## 次にすること

幅広い検索向けの[Indeed Jobs Scraper Task](https://apify.com/chronometrica/indeed-jobs-scraper/examples/indeed-jobs-scraper)を開き、[Indeed Jobs Scraper Actor](https://apify.com/chronometrica/indeed-jobs-scraper)を確認してください。記載率を把握するための記録表には、条件を満たすすべての求人を残し、同じ単位であることを確認できた給与範囲だけを比較してください。

## 出典と参考資料

- [Indeed Jobs Scraper Actor](https://apify.com/chronometrica/indeed-jobs-scraper)
- [Recruiting Hellの給与記録に関する議論](https://www.reddit.com/r/recruitinghell/comments/1r3a8jj/i_tracked_63336_us_job_postings_last_week_feb_26/)
- [CS Career Questionsの求人掲載に関する議論](https://www.reddit.com/r/cscareerquestions/comments/1red1yc/found_5000_cs_jobs_in_440_000_jobs_posted_on/)