機械学習の特徴量エンジニアリング入門。ビジネス理解から始める「施策に繋がる」変数設計のヒント

本コラムでは、機械学習モデル作成の際に結果を大きく左右する工程のひとつである「特徴量エンジニアリング」をテーマに、当社が普段どんな考え方・手順で特徴量を設計しているのかをご紹介します。
単にモデルの精度を上げることだけでなく、「この特徴量が効いているなら、どういう施策に繋げられるか?」という観点をセットで考えるのが、MyStoryのスタンスです。家電量販店の購買データや、退職者予測などの人事データ分析を例に、「アルゴリズム×ビジネス理解×行動経済学」を融合した、機械学習の特徴量エンジニアリングの考え方をお伝えします。
データサイエンティストが作る特徴量とビジネスサイドの期待にはズレがある?
まず最初に触れておきたいのは、データサイエンティスト側とビジネス側で、特徴量エンジニアリングに対する見え方が大きく異なる、という点です。データサイエンティストは、数学・統計学やプログラミングには強い一方で、ビジネスの現場感覚を持つ機会がどうしても少なくなりがちです。その結果として、
- 「モデル精度を少しでも良くするためにはどうすれば良いか」という精度改善に意識が向きやすい
- 逆に、「ビジネス側が求めていること」を考えるまでには至らない人が多い
という構図が生まれます。現場でよく見られるのは、
- ビジネス側から見ると意味のわかりにくい特徴量が大量に使われている
- モデルの精度は高いのに、「それで、結局現場は何を変えればいいの?」で議論が止まる
という状態です。MyStoryではこういった状態に陥らないようにするために、「精度の高いモデル」を作ること以上にビジネス上の問いを特徴量に落とし込むことを重視しています。明らかにしたい事象に"効いていそうな要因”を、モデルが学習しやすく、かつビジネス側も直感的に理解できる指標に翻訳する。この往復運動を通じて生まれた特徴量ほど、「予測精度」も「施策への繋げやすさ」も両立できる「良い特徴量」だと考えています。機械学習の特徴量エンジニアリングを単なる「テクニック」ではなく、ビジネス課題の翻訳プロセスとして捉えることが重要です。
家電量販店の例:価格そのものより「カテゴリ内の相対価格」
- 1. なぜ「価格そのもの」だけでは足りないのか
たとえば、家電量販店の購買データを使って「どの商品が売れやすいか」を予測するとします。素直に考えれば、「価格」というカラムをそのまま特徴量に入れたくなります。ところが、人の行動をよく観察すると、消費者は絶対的な価格だけで判断しているわけではありません。
✓ スマートフォンカテゴリの平均価格が15万円なら、10万円のスマホは「安い」と感じやすい
✓ 一方で、扇風機カテゴリの平均価格が5千円なら、5万円の扇風機は「高すぎる」と感じる
同じ「10万円」「5万円」でも、カテゴリごとの文脈が変わると“高い/安い”の受け止め方はまったく違うのです。行動経済学でいう「参照点(リファレンス)」や「相対評価」の考え方がここに働いています。
- 2. 「カテゴリ内平均価格との差分」という特徴量
そこでMyStoryでは、単に「価格」を入れるのではなく、たとえば次のような特徴量を設計します。
✓ 「カテゴリ内の平均価格との差分」
⇒ 商品価格 − 同一カテゴリ内の平均価格
✓ 「カテゴリ内での価格順位」
⇒ そのカテゴリ内で何番目に安い/高い商品か
こうした相対価格を入れることで、「カテゴリ内で割安な商品ほど売れやすい」「高価格帯だがブランド力が強いため売れている」といった、人の意思決定メカニズムに近い構造をモデルに学習させることができます。
- 3. なぜ「施策」にも繋がりやすいのか
さらに重要なのは、この特徴量はそのまま施策に翻訳しやすいという点です。もし「カテゴリ内平均との差分」が重要な特徴量として効いているなら、
✓ POPで「カテゴリ内最安!」と強く打ち出す
✓ 「このカテゴリでは“やや安め”の価格帯が一番売れている」なら、そのゾーンの商品を意図的に厚くする
といった打ち手が、そのまま見えてきます。「価格」だけだと、「ああ、やっぱり価格が重要なんですね」で終わりがちですし、打てる施策も「じゃあ値下げしましょう」くらいに限られてしまいます。一方で、「カテゴリ内の平均価格との差分」のような特徴量は、「単に安い・高い」ではなく、「そのカテゴリの中でどう見えるか」という形に変換されているため、価格戦略や売場づくり、販促コピー(POP・WEBバナー)など、実際の売り場の意思決定に直結しやすくなります。
多くのデータサイエンティストは、どうしても「モデルの精度」を最大化することに意識が向きがちです。MyStoryでは、「その特徴量が効いていたとして、ビジネス側は何を変えられるのか?」までをセットで考えます。
「施策につながるか?」を起点にした特徴量発想
特徴量エンジニアリングで陥りがちな罠は、「モデルのスコアは改善しているが、ビジネスとして結局何をすればいいの?」がわからないという状態になってしまうことです。そのためMyStoryでは、特徴量を設計する前に次の問いを置きます。
- この特徴量が「効いている」とわかったとき、どんな打ち手が思い浮かぶか?
- その打ち手は、現場が実際にコントロール可能か?(変えられる要因か?)
この2つの問いに答えられない特徴量は、たとえ性能が少し上がっても、最終的には「当たり前の再発見」で終わってしまうことが多いです。
人事データ分析(退職者予測)の特徴量エンジニアリング
次に、人事データの「退職者予測」を例に、ビジネス理解にもとづく特徴量設計をご紹介します。
- 1. 給与をそのまま入れるのではなく、「時給」という形にする
人事データには多くの場合、「給与額」と「労働時間」が含まれています。ここで単純に「給与」を特徴量として入れるだけだと、「給与が低い人ほど退職しやすい」という、ある意味“当たり前”の結論に落ち着きがちです。この結果から導ける施策も、「じゃあ給与を上げましょう」で終わってしまいます。
MyStoryでは、ここに働き方の負担感という視点を掛け合わせます。「長時間働いているのに、給与はさほど高くない人」ほど不満・疲弊が蓄積しやすく、退職リスクも高いのではないか?この仮説を特徴量に落とし込んだものが、たとえば次のような指標です。
✓ 「時給(総支給額 ÷ 実労働時間)」
✓ 「残業を含めた時間当たりの報酬」
この指標が効いているとわかれば、施策としては
✓ 長時間労働の抑制(業務プロセスの見直し)
✓ 特定セグメントのベース給与・手当の調整
✓ 同じ給与水準でも残業時間を減らすことで満足度を保つ
など、「お金を上げる」以外の打ち手を含めて設計しやすくなります。
- 2. 「介護休暇×年齢」から生まれる「中年介護フラグ」
人事データには、「年齢」や「介護休暇日数」といったカラムがあるケースも多くあります。これらをそのままモデルに入れてもよいのですが、もう一歩踏み込むと、次のような仮説が立てられます。
仮説:「40代以降で、親の介護など家庭側の負担が急に増え、仕事との両立が難しくなる人は一定数いるのではないか」
この仮説を特徴量として表現したものが、「中年介護フラグ」(例:年齢が40歳以上 かつ 介護休暇日数が一定閾値以上 の場合に1、それ以外は0)という変数です。この特徴量が退職予測モデルで効いているとわかった場合、 40代以上で介護負担が大きい社員に対してリモートワーク・短時間勤務などの柔軟な働き方の導入を検討、介護と仕事の両立を支援する社内相談窓口の設置といった、かなり具体的な施策に繋げることができます。単に「年齢が高いと辞めやすい」よりも一段深い解釈と打ち手が見えてくるのがポイントです。
- 3. 「給与」と「子供数」からつくる「実質給与」指標
もうひとつ、人事データでよく登場するのが「給与」と「子供に関する情報」です。たとえば「給与」カラムと、「年齢別の子供数」があるケースを考えてみます。このとき、単に「給与」と「子供の人数」を別々にモデルへ入れるだけでは、「生活の実感としての豊かさ/苦しさ」 をうまく捉えきれないことがあります。
同じ年収500万円でも、「独身で一人暮らしの社員」と「小さな子供が2〜3人いる社員」では可処分感覚や生活の余裕はまったく違うはずです。そこでMyStoryでは、例えば次のような考え方で「実質給与」という特徴量を設計します。
【特徴量設計の考え方】
22歳以下の同居子供を、年齢に応じて「大人○○人分」に換算
✓ 小学生は 0.4人分
✓ 中高生は 0.6人分
✓ 大学生相当は 0.8人分
といったかたちで“重み”を設定
本人を1人分として、「大人換算人数」= 本人1 + 子供の大人換算合計として、その「大人換算人数」で給与額を割ることで、世帯負担を加味した「実質給与」をつくるイメージです。
当然、同じ給与額でも、独身の人よりも扶養家族数が多い既婚者の方が、生活が苦しくなりやすい状況は多いでしょう。「実質給与」は、こうした家族構成に起因する経済的なプレッシャーを、モデルにわかりやすい形で埋め込んだ特徴量だといえます。この特徴量が退職予測モデルで効いているとわかれば、
✓ 子育て期の社員向けの手当・福利厚生の見直し
✓ 保育・教育費負担の大きい層に対するピンポイントなサポート
✓ 子育てと仕事の両立を支援する制度の設計・広報
といった、より現実に即した打ち手につなげることができます。モデルにとっても、単に「給与」と「子供数」を別々に入れるより、両者の関係性を直接表現した「実質給与」の方が学習しやすいケースは多くあります。
「なんとなく作る特徴量」と「意味のある特徴量」の違い
特徴量エンジニアリングでよくあるNGパターンも、少しだけ触れておきます。
- なんとなく、元のカラム同士を足し算・掛け算して増やしていく
- 自動特徴量生成ツールで大量の候補を出し、重要度の高いものだけ残す
- だが、残った特徴量が「現場には意味がわからない」ものばかりになる
もちろん、自動生成や統計的な特徴量抽出も有用です。しかしそれだけに頼ると、「モデルの精度は高いが、誰も解釈できない&何もビジネスアクションに繋がらないモデル」になりがちです。MyStoryでは、「この特徴量が効いているなら、どの部署が、何をどう変えれば良いか説明できるか?」をチェックポイントにしています。ここをクリアできない特徴量やモデルは、どれだけスコアが良くても、現場では使われません。機械学習の特徴量エンジニアリングをビジネスに活かすには、「意味のある特徴量」を意識して設計することが欠かせません。
特徴量エンジニアリングは「施策設計」の一部
MyStoryは行動経済学や消費者行動理論の知見と、現場のビジネスロジックを掛け合わせながら、「アルゴリズム×ビジネス理解×行動科学」の特徴量エンジニアリングを行っています。お客様と対話しながら「どんな特徴量を作れば、どんな示唆が得られ、現場のどんな行動が変わるのか」を一緒に設計していくことで、施策に繋がる特徴量設計ができるように日々工夫しています。機械学習モデルの構築プロセスそのものを、ビジネス課題の整理と施策立案のプロセスと一体化させていくイメージです。
「外部委託した会社のデータサイエンティストが出してきた分析結果がネクストアクションに繋がらない」「いま手元にある変数では精度の高いモデルを作れない」といったお悩み・ご相談があれば、ぜひお気軽にお問い合わせください。機械学習の特徴量エンジニアリングを含めた一連の分析プロセスを、ビジネス成果に結びつく形でご支援します。
【参考】MyStoryの『データ利活用支援』サービス
『データ利活用支援』サービスへ移動