
業界が変われば、KPI・データ粒度・運用はガラッと変わります。
本記事では小売/EC・広告/メディア・製造・IT/SaaSの4業界を横断し、「要件 → データ → 指標 → 打ち手」までを一気通貫で設計できる“実務テンプレ”として整理しました。
未経験の方は、ここから1業界を選んでPF(ポートフォリオ)化すれば、職務経歴書に直結します。
この記事で身につくこと
-
業界別のKPIを 現場の言葉 で語れる
-
最低限の スキーマ→特徴量→評価→ダッシュボード運用 の型を横展開できる
-
PF(ポートフォリオ)を意思決定に接続 する見せ方がわかる
>>【完全ガイド】データサイエンティストの仕事内容と必要スキル・年収
>>未経験からデータサイエンティストへ:6ヶ月ロードマップ【現役が解説】
>>【保存版】データ職のポートフォリオ完全ガイド|再現性・評価・LTまで
>>【保存版】モデル評価:指標の選び方・交差検証・閾値最適化・ビジネス接続を“実務の型”で解説
>>データ可視化レポート納品の型:Tableau/Matplotlib|“図3点+結論1行+運用”で伝わる・続く・刺さる
>>はじめてのSQL:SELECT/WHERE/GROUP BYを最短で理解【コピペOK】
>>【保存版】SQLite×Pythonで作る“ローカルDWH”——ETL・集計・レポート自動化の最短手順
>>コピペで動く需要予測|ARIMA×LightGBMでベースライン→運用まで
>>勤怠・売上の異常検知は設計が9割|SLOとRules→Stats→MLで“静かな監視”を作る
はじめに:業界を意識しない学習は“伝わらない”
Kaggle中心の学びは運用や意思決定への接続があいまいになりがち。
さらに、粒度(日次/セッション/ロット)や遅延(集計タイミング)を無視すると、せっかくの分析も現場で使えません。
鍵は、業界ごとのKPI・スキーマ・運用文脈に合わせて「要件→データ→指標→打ち手」を設計することです。
筆者メモ(ふみと)
大手でデータ/マーケサイエンティストを10年。採用側・伴走側の両方で感じるのは、刺さるPFは例外なく「業界のKPI言語で語り、再現可能で、意思決定(閾値/在庫/配信)まで踏み込む」ということ。本稿は、その“型”を圧縮して渡します。
この記事の使い方
各業界ごとに「代表課題とKPI → 最低スキーマ → 特徴量/モデル/評価 → ダッシュボード/運用 → PF雛形」の順でまとめます。
コードやSQLはそのままコピペで試せます。コードの前には 「このコードで何をしたいのか」 を明示しています。
小売/EC:需要×在庫は“誤差管理”から
代表課題とKPI:需要予測(MAE/WAPE)、在庫最適化(欠品率/在庫回転)、プロモ効果(Lift/粗利)、顧客価値(RFM/CLV)
最低スキーマ(例)
sales(tx_id, tx_date, store_id, sku_id, qty, price, promo_flag)
sku(sku_id, category, brand, size)
store(store_id, area, format)
calendar(date, wday, holiday, campaign)
まず何をしたい?(ねらい)
- 欠品や過剰在庫を減らす ために、日次レベルで需要を外さない。
- 安全在庫 を「μ + zσ」で設計し、目標欠品率 を業務の 閾値 に翻訳する。
特徴量/モデルの勘所
- ラグ、移動平均、季節性、祝日、プロモ前後はまず効く
- モデルは 軽量なツリー(LightGBM) や回帰で十分
- 安全在庫:平均需要μ、需要の標準偏差σ、目標欠品率αに対応するz値で
μ + zσを設定
評価と運用(“誤差管理”)
- 指標:MAE/WAPE(WAPEは絶対誤差の合計÷実績の合計)
- 運用:誤差→閾値→発注提案 に落とす。週次ダッシュボードは「売上推移・欠品率・在庫日数」を1枚に。
SQL最小例(カレンダー結合で欠測を埋め、予測用ベースを作る)
このSQLでやりたいこと:全日×全店舗×全SKUの 穴埋めテーブル を作り、モデリングに使える日次データをそろえます。
SELECT c.date, s.store_id, sk.sku_id,
COALESCE(SUM(sa.qty),0) AS qty
FROM calendar c
CROSS JOIN store s
CROSS JOIN sku sk
LEFT JOIN sales sa
ON sa.tx_date=c.date
AND sa.store_id=s.store_id
AND sa.sku_id=sk.sku_id
WHERE c.date BETWEEN '2025-06-01' AND '2025-08-31'
GROUP BY 1,2,3;
PF雛形(需要予測)
- 指標:MAE/WAPE、在庫欠品率
- 成果翻訳:補充提案表(SKU×店舗×数量)と在庫日数の変化
- 構成:
features/train.pyevaluate.pyreports/dashboards/tests/
広告/メディア:配信最適化は“確率×費用対効果”
代表課題とKPI:配信最適化(CPA/ROAS)、クリエイティブ評価(CTR/CVR/Lift)、アトリビューション、予算配分(MMM)
最低スキーマ(例)
impression(impr_id, date, campaign, adgroup, creative, device, cost)
click(click_id, impr_id, date)
conv(conv_id, date, value, user_id)
creative_meta(creative, type, copy)
まず何をしたい?(ねらい)
- 反応確率(クリック/コンバージョン) を学習し、コスト当たりの価値(ROAS/CPA) を最大化。
- 予算や入札を スコア×閾値 に翻訳し、日次運用に落とす。
特徴量/モデルの勘所
- 曜日/時間/デバイス/媒体の傾向を素直に学習
- 反応確率は ロジスティック回帰 or ツリーモデル でOK
- 評価は PR-AUC(陽性稀少時に有効)
- MMMの入口は 単回帰 からで十分
SQL最小例(日×キャンペーンのROASを出す)
このSQLでやりたいこと:日次×キャンペーンの 広告費と成果(価値) をまとめ、ROAS を算出します。
SELECT i.date, i.campaign,
SUM(c.value) / NULLIF(SUM(i.cost),0) AS roas,
SUM(i.cost) AS spend
FROM impression i
LEFT JOIN click k ON k.impr_id=i.impr_id
LEFT JOIN conv c ON c.date=i.date AND c.user_id IS NOT NULL
GROUP BY 1,2;
PF雛形(配信最適化)
- 指標:PR-AUC/ROC、CPA/ROAS
- 成果翻訳:閾値×入札の運用表、予算再配分案
- 構成:
notebooks/model/evaluate.pymmm_baseline.pydashboards/
製造:監視は“誤警報率×検出率”の設計から
代表課題とKPI:異常検知(誤警報率/検出率)、歩留まり(良品率/不良率)、予防保全(MTBF/停止時間)
最低スキーマ(例)
sensor(ts, line_id, machine_id, temp, vib, press)
lot(lot_id, start_ts, end_ts, result)
maintenance(machine_id, ts, work_type)
まず何をしたい?(ねらい)
- 驚くべき変化を早く・静かに・正しく知らせる 監視を作る(“静かな監視”)。
- 誤警報率(False Positive Rate) を設計値として持ち、Recall とのバランスをチューニング。
特徴量/モデルの勘所
- 滑動窓の統計(平均/分散/偏度)、変化点、SPC(管理図)から導入
- モデルは IsolationForest / One-Class SVM / ロジスティック など
Python最小例(窓統計)
このコードでやりたいこと:センサー値に 移動平均と移動標準偏差 を付与し、変化点の兆候 をとらえやすくします。
import pandas as pd
w = 60
df['temp_mean'] = df['temp'].rolling(w).mean()
df['temp_std'] = df['temp'].rolling(w).std()
rolling(w)は直近w点の窓をつくり、平均・標準偏差を計算- これらを しきい値監視(例:
temp > temp_mean + 3*temp_std)に接続
PF雛形(異常検知)
- 指標:PR-AUC、Recall@誤警報率
- 成果翻訳:点検指示シート(時刻×機械×理由)と想定停止削減
- 構成:
etl/features/monitor/alert_rules.yamltests/
IT/SaaS:解約は“スコア×施策”で動かす
代表課題とKPI:解約予測(Churn/Retention)、オンボーディング(Aha moment到達率)、料金最適化(ARPU/LTV)
最低スキーマ(例)
events(user_id, ts, event, props)
subscription(user_id, plan, start_ts, cancel_ts)
account(industry, size, region)
まず何をしたい?(ねらい)
- 利用パターン(ファネル、利用間隔、機能回数)で解約リスクを可視化
- スコア×施策(例:スコア>0.8→CS架電) に翻訳し、運用へ
特徴量/モデルの勘所
- D1/D7アクティブ、主要機能の利用回数、直近利用からの経過日数
- モデルは ロジスティック回帰/ツリー、評価は PR-AUC / Lift
SQL最小例(コーホート残存をつくる)
このSQLでやりたいこと:ユーザーの初回利用日を「コーホート」として束ね、日次の 継続(残存) を可視化します。
WITH first AS (
SELECT user_id, MIN(DATE(ts)) AS cohort
FROM events GROUP BY 1
), daily AS (
SELECT e.user_id, DATE(e.ts) d, 1 AS active
FROM events e GROUP BY 1,2
)
SELECT f.cohort, d.d, SUM(active) AS act
FROM first f JOIN daily d USING(user_id)
GROUP BY 1,2;
PF雛形(解約予測)
-
指標:PR-AUC、Recall@閾値、Lift@Top10%
-
成果の翻訳:スコア>0.8→CS架電 の対象件数/期待CV
-
構成:
features/train.pyevaluate.pycohort.ipynbdashboards/
共通:伝わるダッシュボードは“結論1行+図3点”
- 結論1行:今週は需要が+8%/欠品-1.2pt。
- 図3点:推移(折れ線)/分解(棒)/構成比(100%積上げ)。
- 注釈:異常点に矢印+メモ、基準線で判断を速く。
- 打ち手:在庫閾値+1日/予算を媒体Bへ+15%/解約スコア>0.8に架電。
ワンポイント:ダッシュボードは「決めるための1枚」。グラフは3つに絞り、結論→根拠→次の一手 の順で置くと、会議が早く終わります。
求人票の“翻訳表”:業界語→スキル/成果
| 業界語 | 裏にある仕事 | 書き換え(職務経歴書) |
|---|---|---|
| WAPE/MAE | 需要予測の誤差管理 | 「MAE 12.4で在庫欠品率-0.8ptを実現」 |
| ROAS/CPA | 予算配分と配信最適化 | 「PR-AUC 0.73、閾値×入札でCPA-12%」 |
| SPC/MTBF | 製造の監視・保全 | 「誤警報5%でRecall0.65、停止時間-7%」 |
| Retention/LTV | SaaSの解約防止 | 「Lift@Top10% 2.1で架電対象を集中」 |
“伴走レビュー”で業界PFを仕上げよう
厳しめのレビューほど、PFは現場語になります。まずは無料カウンセリング/体験で、課題サンプルとレビュー基準に触れてみましょう。
TechAcademy データサイエンスコース(受講料:174,600円~ ※更に割引あり)

株式会社キカガク AI人材長期育成コース(受講料:237,600円~)

状況別の“勝ち筋”
- 社会人(転職):現職に近い 1業界 を選び、KPIの言語でPF化
- 副業目的:小売/広告の レポート自動化 を商品化(単価×稼働で回収)
- 在宅中心:SaaSの解約PF はローカルで完結しやすく、非同期レビューと相性◎
今日やること(60分)
- 業界を1つ選ぶ(現職に近いほど有利)。
- 上のスキーマを雛形に疑似データを作る(100日/1,000レコード程度)。
- 指標を決める(小売=MAE、広告=PR-AUC/CPA、製造=Recall@誤警報、SaaS=PR-AUC/Lift)。
- README雛形(目的/KPI/再現手順/結果/打ち手)を用意し、
Makefile/pytest/CIまで作る。 - ダッシュボードに図3点と結論1行+打ち手を書く。
README雛形(コピペ可)
# 業界別PF(小売:需要予測)
## 目的/KPI
- 欠品率の低減、発注提案の自動化(MAE/WAPE)
## データ/スキーマ
- sales/sku/store/calendar(疑似データ生成スクリプト同梱)
## 再現手順
- `python -m pip install -r requirements.txt`
- `make all`(features→train→evaluate→report)
## 結果/打ち手
- MAE 12.4、補充提案で欠品率-0.8pt(試算)
## 限界/次の一手
- プロモ影響の分離/店舗クラスタ
付録:指標の超要約
- MAE:平均絶対誤差。外れ値に比較的強い。
- WAPE:総絶対誤差÷総実績。売上規模が違うSKUでも比較しやすい。
- PR-AUC:陽性稀少時の分離性能(広告・解約予測で有効)。
- Lift@k%:上位k%に絞った際の濃度。施策の“当てどころ”を見抜く。
- Recall@誤警報率:製造の監視設計で重要。誤报警を抑えつつ取りこぼしを減らす。
この記事から次に読むべきもの
-
-
【テンプレ&実例】未経験からでも通る職務経歴書:実務再現PF×定量化×ATS最適化
「未経験からデータ職に応募しても通らない…何を直せばいい?」 結論:履歴書でポテンシャル、職務経歴書で実務の再現性を示すのが王道です。 本記事は、採用側/伴走側の両視点から、1枚/2枚テンプレ、ATS ...
-
-
面接でよく聞かれる質問50選と回答例(Python/DS職)|業務再現×指標×運用で刺さる答え方テンプレ
「精度は高いのに、面接で落ちるのはなぜ?」 採用側は“動く再現性”と“意思決定に繋げる説明”を見ています。 本記事では、採用側(評価者)としての実務経験をもとに、カテゴリ別50問の想定質問と**回答テ ...
-
-
【保存版】データ職のポートフォリオ完全ガイド|再現性・評価・LTまで
ポートフォリオって「作ったものの置き場」でしょ? いいえ。採用側が見たいのは「意思決定に効いた証拠」と「再現性」です。 本ガイドは、未経験〜初学者が週10時間×4〜6週で、テーマ選定→要件定義→データ ...
-
-
コピペで動く需要予測|ARIMA×LightGBMでベースライン→運用まで
現場でちゃんと当たる需要予測って、どこから始めればいい? ベースライン→検証→運用まで、一気通貫で進める“型”で解説します。 この記事は、ARIMAとLightGBMを使った需要予測ミニプロジェクトの ...
-
-
勤怠・売上の異常検知は設計が9割|SLOとRules→Stats→MLで“静かな監視”を作る
異常検知は「驚きを、早く・静かに・正しく知らせる」ための仕組みづくり。 本記事は、勤怠/売上データの監視を“現場で使える形”に落とし込むための設計と実装テンプレをまとめました。結論から言うと、SLOを ...
-
-
【保存版】データレポート納品の型:要件定義→ETL→検証→可視化→Excel/PDF→引き継ぎまで、失注しないワークフロー完全版
“いい分析”より“伝わる納品”。副業や実務で評価されるのは、意思決定に効く1枚と再現できるパッケージを期限通り出せること。 本記事は、未経験〜初学者が 週10時間×2〜3週 で、要件定義 → データ受 ...
最近のコメント