はじめに
レバレジーズ データ戦略室のデータアーキテクト、川村です。普段はデータの整備やモニタリングツールの開発に携わっています。弊社には、ビジネス成果を高めるために領域を区切らず挑戦する文化が根付いています。今回は、データアーキテクトとしての経験を生かしながら、普段馴染みの薄い機械学習を活用したモニタリング構築の挑戦についてお話しします。初心者なりに、なぜ機械学習を導入したのか、その背景から実施した内容までお伝えします。
実現したいこと
本プロジェクトで目指すのは、法人営業の求人開拓活動をサポートするモニタリングシステムの設計です。
年間を通じて必要な求人数を安定的に確保するために、求人のセグメントごとにその開拓数の目標を設定し、予実管理を行う必要がありました。
課題
課題はどのセグメントの求人が将来的に不足するかを予測する難しさでした。求職者の属性や登録時期によってマッチングする求人数は変動するため、将来の求人不足を見越して事前に対策を講じる必要があります。
例えば、特定の職種で翌月の求人不足が予測される場合、営業チームが今月中に事前対応を行うことで、需給バランスを保つアクションを取ることが可能です。こうした予測と事前対応によって、理想的なマッチング状態の維持と営業活動の効率化を目指しました。
実際に行ったこと
求人開拓の目標を適切に立てるためには、求職者と求人の需給の釣り合いを何を持って判断するかを考える必要があります。
単に「登録人数=求人数」という発想では、需給のバランスを適切に把握できません。
なぜなら、各求人の採用枠数は1人から数百人と非常に幅があり、求人数だけで需給を判断するのは不正確だからです。
「登録人数=採用枠数」で需給バランスをみる場合、採用枠数が大きい企業が必ずしも弊社サービスで多くの採用を行うとは限りません。また、需給のバランス計測が採用実績に基づくため判定までに時間がかかることも大きな懸念でした。
そこで今回の取り組みでは以下のようなアプローチを取ることにしました。
- 直近のサービス登録状況から、求人のカテゴリごとに必要な面接数を算出
- 過去の求人データを利用して、求人ごとの面接数の見込み値を算出
- 1と2の差分を加味して、法人営業の求人開拓数の目標として設定
- 3で算出した目標と求人開拓数の実績の乖離をモニタリングするダッシュボード作成
- 乖離分を営業が求人開拓を行う
上記アプローチにおいて、2.の手順で機械学習による予測を行いました。
機械学習のフロー
過去の求人データを活用し、求人ごとに面接数を予測するモデルをランダムフォレストを用いて構築しました。このモデルの目的変数として、各求人の面接実施数を設定しました。 また、特徴量には求人の年収、募集人数、開発環境、業界、従業員数などを取り入れています。
これによりいつどのタイミングで求職者に必要な面接数が足りなくなるかを予測し、アクション数を算出することで事前に営業チームが顧客営業できる仕組みを実現しました。 仕組み自体は作りましたがモニタリングの実運用はこれから行う予定です。 今後運用をする際にはモデルの性能を低下させないために学習データを更新し、再学習させる方針を考えています。
機械学習を採用した理由
機械学習の導入は最初から予定されていたわけではありません。しかし、上述で記載する「面接数を考慮した営業アクション量の最適化が望ましい」との判断により、最終的に機械学習を活用することにしました。
面接数に影響を与える要素は、募集職種、業界、求める学歴やスキル、会社規模、採用人数など多岐にわたります。これらの要素が複雑に絡み合うため、機械学習モデルを使うことで、データ間の関係性を効率的に見つけ出し、面接数を予測できると考えました。
さらに、機械学習モデルの導入により求人情報のデータが更新されるたびに面接数の予測ができる為、需給状況のモニタリングをリアルタイムにより正確に行えると思った点も採用理由になります。
最後に
初めて機械学習に挑戦し、手探りの連続でしたが、多くの方々から知見をお借りし、なんとか実装までたどり着くことができました。モデルを構築し、精度検証を行ったところ、実際の実績と比べて予測件数が大きく出ることもあり、業務で活用するにはまだ多くの改善が必要だと感じています。
今回のプロジェクトを通して、これまでの自分の領域にとらわれず、新しい技術に挑戦できたことは大きな成功体験となりました。今後も機械学習についてさらに知見を深め、実務に活かせるようにしていきたいと思います。