
ポートフォリオって「作ったものの置き場」でしょ?
いいえ。採用側が見たいのは「意思決定に効いた証拠」と「再現性」です。
本ガイドは、未経験〜初学者が週10時間×4〜6週で、テーマ選定→要件定義→データ設計→ETL/分析→評価→可視化→README→10分LT→改善まで作り切るための“実務の型”を提供します。テンプレ/チェックリスト/コード雛形はコピペOKです。
この記事で身に付くこと
- “刺さる”ポートフォリオの設計図(評価指標まで逆算)
- 再現性のあるリポジトリ構成とREADMEテンプレ
- 10分LT(ライトニングトーク)台本テンプレ
採用に刺さらない“ありがちな失敗”3つ
① Notebook1枚で完結:セル順でしか再現できず、翌月には動かない。実務では再現手順と入出力の分離が必須です。
② ビジネス非接続:AUCや精度の自慢だけ。意思決定(Top-k/コスト/リソース制約)の話がないと弱いです。
③ ストーリー不在:目的→仮説→検証→打ち手の一貫性が途切れ、説得力を失います。
解決のカギ
「パイプライン(ETL)+評価設計+10分LT」の型に乗せること。以降のテンプレをそのまま使えばOKです。
レビュー100件超で見えてきた“勝ち筋”
筆者(ふみと)は大手企業でデータ/マーケティングサイエンティスト歴10年。採用側として数十人分の課題提出やポートフォリオをレビューしてきました。刺さる作品の共通点は、(1) 課題をビジネス語で語れる、(2) 再現可能なリポジトリ、(3) 10分LTが結論→根拠→打ち手で明瞭、の3つ。そこで本記事はこの要件から逆算して作っています。
ふみとメモ:実際の面接で「このスライド1枚で何を決めてもらいたい?」と聞くと、強い候補者は一呼吸で答えます。ここが腹落ちすると通過率が一段跳ねます。
“刺さるポートフォリオ”の設計図
以降は Python 3.10+ / pandas 2.x / scikit-learn 1.x / SQLite を想定します。
まず選ぶ:3つのトラック(目的別)
- 分析/BIトラック:売上・需要・構成比の把握→営業会議向け“意思決定1枚”
- MLトラック:離反/需要/不良予測→CV±std / Top-k / コストまで評価
- 自動化トラック:SQLite×Pythonで毎月回るETL→Excel納品の仕組み
どれか1つを深くやるのが最短ルート。横展開は2作目でOK。
テーマ選定テンプレ(コピペOK)
【誰の意思決定?】(例:店舗Mgr/ECMgr/人事)
【何を決める?】(例:重点店舗/在庫補充/離反対策)
【評価指標】(例:MAE/PR-AUC/Recall@5%)
【データ】(例:売上/顧客/在庫/公開データ)
【粒度/期間】(例:月次×店舗×カテゴリ、直近24ヶ月)
【納品物】(例:10分LT+Excel1冊/ダッシュボード)
リポジトリ雛形(そのまま使える)
project_name/
├─ data/ # 入出力(raw/processedを分けると尚良)
│ ├─ raw/
│ └─ processed/
├─ src/ # 前処理・学習・評価を関数化
│ ├─ features.py
│ ├─ train.py
│ ├─ evaluate.py
│ ├─ sql/
│ │ ├─ create_tables.sql
│ │ └─ queries.sql
├─ notebooks/ # 実験用(成果はsrcへ移す)
├─ reports/ # 図/Excel/PDF
├─ requirements.txt
└─ README.md # 再現手順
ルール:Notebookは試作、本流は関数化してsrc/
へ。データ/コード/成果物は分離しましょう。
READMEテンプレ(採用側はまずココを見る)
# プロジェクト名:上位店舗の売上トレンドと在庫打ち手提案
## 目的(1文)
店舗Mgrが翌月の重点施策を決めるために、月次売上トレンドと構成比の変化を把握する。
## データ
* sales.csv(date, store, product, qty, price)
* stores.csv(store, area, open\_date)
## 指標と評価
* KPI:売上、構成比(Top-5カテゴリ)
* MLがある場合:PR-AUC / Recall\@5%(営業リソース5%想定)
## 使い方(再現手順)
```bash
python -m venv .venv && source .venv/bin/activate # Windowsは .venv\Scripts\activate
pip install -r requirements.txt
python src/init_db.py # SQLite初期化(任意)
python src/run_all.py # ETL→集計→Excel/PDF出力
```
## 成果物
* reports/report.xlsx(Summary/Pivot/Data)
* reports/fig\_trend.png(注釈入り)
* 10分LTスライド(/reports)
## 結果サマリ(3行)
1. 4〜7月のYoY -12%(来店数要因)。
2. 新商品X導入でカテゴリYの粗利率 +2.1pt。
3. 次月:在庫調整A/Bとクーポン施策案。
>>【保存版】データレポート納品の型:要件定義→ETL→検証→可視化→Excel/PDF→引き継ぎまで、失注しないワークフロー完全版
データとETL:SQLite×pandasの骨子
重い整形はSQL、仕上げはpandasが基本です。
詳細は>>【保存版】SQLite×Pythonで作る“ローカルDWH”——ETL・集計・レポート自動化の最短手順
from pathlib import Path
import sqlite3, pandas as pd
from src.features import make_monthly
DB = Path("data/warehouse/retail.sqlite")
con = sqlite3.connect(DB)
monthly = make\_monthly(con) # WITH monthly AS (...) を内部で実行
monthly.to\_excel("reports/report.xlsx", index=False)
可視化:1枚で伝える型
- 図1(大):月次売上折れ線+移動平均+注釈(キャンペーン/障害)
- 図2(小):上位10店舗の横棒(1位を上)
- 図3(小):100%積み上げ(カテゴリ構成比)
色は2〜3色+強調1色、単位/軸/凡例は明記。[内部リンク:可視化入門]
MLを入れるなら:評価設計の必須セット
- CV(StratifiedKFold/KFold)→平均±std
- Top-k(営業/審査の上限に合わせる)
- 閾値(Youden/コスト最小)
- CI(ブートストラップで95%区間)
10分LT台本テンプレ(8〜10枚)
- タイトル/役割/目的(30秒):誰の意思決定を支援?
- データと粒度(60秒):行粒度・期間・除外ルール
- KPI/指標(60秒):採用理由
- 結果1(90秒):トレンド図+注釈→結論1行
- 結果2(60秒):上位店舗/カテゴリ比較
- ML結果(90秒):CV±std、Top-k、閾値、コスト
- 示唆(60秒):打ち手A/B、期待インパクト
- 再現性(60秒):README/コマンド/DB
- 今後(30秒):改善計画
- Q&A(60秒):想定質問に先回り回答
サンプル企画(この3本なら外さない)
おすすめ3選
- 分析/BI:「月次×店舗の売上トレンドと構成比」— Excel+1枚スライド / 折れ線・横棒・100%積み上げ
- ML:「離反(解約)予測と営業優先リスト」— PR-AUC / Recall@5% / Permutation重要度
- 自動化:「SQLite×Pythonで毎月回るレポート」— 増分ロード、PRAGMA/INDEX、エラーログ
レビュー観点チェックリスト
- 目的:誰の意思決定か。KPIと接続しているか。
- データ:粒度/期間/欠損/重複/型の扱いが明記。
- ETL:SQL/関数化で再現可能、
README
に手順。 - 可視化:図選択の根拠、注釈/単位/凡例、色は2〜3色+強調1色。
- 評価:CV±std、Top-k、閾値、CIを提示。
- 成果物:Excel/PDF/モデル/スクリプトが揃い1コマンド実行可能。
- 発表:結論→根拠→打ち手 の順で10分以内。
採点ルーブリック(面接官視点:100点)
- 目的/KPIの一貫性 20点
- 再現性(README/コマンド/構成) 20点
- 可視化の説得力(注釈/選図/配色) 15点
- 評価設計(CV/Top-k/閾値/CI) 20点
- ビジネス示唆(打ち手A/Bと期待効果) 15点
- コード品質(関数化/型/最小テスト) 10点
この配点で自己採点→不足を埋めるのが最短で合格水準に届く方法です。
仕上げまで最短到達:伴走レビューという選択
独学でも完走できますが、レビューの往復があると説得力が段違い。次の2校は質問対応/レビュー/転職支援がセットで、6週間で1本仕上げるのに相性が良いです。
TechAcademy データサイエンスコース(受講料:174,600円~ ※更に割引あり)

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

行動計画:30日で1本仕上げる(週10時間×4週)
Week1(設計):テーマ選定→要件票→データ確保→リポジトリ雛形→requirements.txt
固定
Week2(ETL/集計):SQLite初期化→取り込み→WITH monthly
→検証(全体=内訳合計)
Week3(可視化/ML):1枚スライド構成→図3点→(必要なら)CV±std/Top-k/閾値/CI
Week4(仕上げ):README/再現コマンド→Excel/PDF→10分LTリハ→自己採点(ルーブリック)
- [ ] READMEに目的/KPI/手順が明記
- [ ] 1コマンドで成果物が出る
- [ ] スライドは結論→根拠→打ち手
- [ ] (ML)CV±std/Top-k/閾値/CIあり
- [ ] 自己採点80点以上(ルーブリック)
付録A:最小テストとデータ検査(コピペ可)
import sqlite3, pandas as pd
def test\_sales\_non\_negative():
con = sqlite3.connect("data/warehouse/retail.sqlite")
df = pd.read\_sql\_query("SELECT qty, price FROM sales", con)
assert (df.qty >= 0).all() and (df.price >= 0).all()
付録B:Issue/PRテンプレ
### 目的
### 変更点(Before/After)
### 影響範囲
### 再現手順
付録C:よくある質問(FAQ)
Q. 公開できるデータがない / A. 公開データ/合成データでOK。粒度/指標/意思決定の設計が本質。
Q. 何本作るべき? / A. 1本を深く(評価と再現性まで)。余力があれば2本目で別トラック。
Q. Kaggleだけで良い? / A. 学習には◎。ただし再現性/意思決定接続/10分LTを自作で補う。
次に読むべき記事
-
-
【保存版】データレポート納品の型:要件定義→ETL→検証→可視化→Excel/PDF→引き継ぎまで、失注しないワークフロー完全版
“いい分析”より“伝わる納品”。副業や実務で評価されるのは、意思決定に効く1枚と再現できるパッケージを期限通り出せること。 本記事は、未経験〜初学者が週10時間×2〜3週で、要件定義→データ受領→ET ...
-
-
【保存版】SQLite×Pythonで作る“ローカルDWH”——ETL・集計・レポート自動化の最短手順
ローカルでゼロ構築、ファイル1つで完結、サーバ不要。本記事はSQLite×Pythonで“毎日回る”ETL・集計・レポート自動化を最短で作るための完全ガイドです。データ設計→DB作成→ETL(取り込み ...
-
-
【保存版】可視化入門:Matplotlib/Plotlyの使い分けと“伝わるグラフ設計”10ステップ
結論:可視化は「きれいに描く」ことではなく、意思決定を動かすための設計です。本稿では、未経験〜初学者が 週10時間×1〜2週 で、Matplotlib/Plotlyを軸に “伝わるグラフ”の設計と実装 ...
-
-
【保存版】scikit-learn基礎:回帰・分類・前処理・パイプライン・交差検証を“実務の型”で習得
機械学習で迷子になる最大の理由は、前処理→学習→評価→改善の順番が曖昧なまま個々のアルゴリズムに飛びつくこと。本記事は、未経験〜初学者が週10時間×2〜3週で到達できるscikit-learnの最短ル ...
-
-
【保存版】モデル評価:指標の選び方・交差検証・閾値最適化・ビジネス接続を“実務の型”で解説
精度が上がらない原因の多くは「評価設計の誤り」にあります。評価とは「何点取れたか」ではなく、意思決定に耐えるかを測る営み。この記事では、回帰/分類/ランキングの指標の選び方、交差検証の正しい使い分け、 ...
最近のコメント