プロダクト
概要
heineken-interview-arrange — アンケート回答者からインタビュー対象者を選定し、面接官のカレンダーと突き合わせて日程を確定するまでを一貫して扱う面接調整システム。
課題(Why)
大量のアンケート回答者からインタビュー対象を選び、日程を調整する作業は、従来は以下のように分断されていた。
| 従来の課題 |
本プロダクトでの解決 |
| 回答データが CSV / スプレッドシートに散在し、条件で絞り込めない |
Creative Survey / Ask One の回答を Databricks から参照し、設問への回答を条件に候補者を絞り込める |
| 候補者の優劣を人手で判断していた |
スコアリングルール(projects.scoring_rules)で回答内容から自動採点する |
| 面接官の空き枠確認とメール送信が手作業 |
Google Calendar の空き枠を自動算出し、仮枠を押さえたうえで候補者に案内メールを送る |
| 候補者との日程往復がメールベースで追跡できない |
トークン付き公開ページで候補者が希望日程を送信し、ステータスとして記録される |
| 誰にいつ何を送ったか記録が残らない |
ステータス履歴・メール送信ログ・インポート履歴をすべて DB に残す |
ターゲットユーザー
| ユーザー層 |
説明 |
| リサーチ担当者(管理者・メンバー) |
プロジェクトを作り、候補者を取り込み、選定し、日程調整を進める主たる利用者 |
| 面接官 |
プロジェクトに紐付き、Google Calendar の空き枠が調整対象になる。実際に面接を担当する |
| 閲覧者(viewer) |
進捗の確認のみを行う。更新系の操作はできない |
| 候補者(インタビュー対象者) |
認証なしのトークン付きページから、希望日程を送信する。管理画面にはアクセスしない |
主要なコンセプト
| 用語 |
説明 |
| プロジェクト |
1 回のインタビュー企画。面接時間・調整可能期間・面接形式・スコアリングルール・アレンジ設定を持つ |
| アレンジフロー |
プロジェクト詳細画面の STEP1(日程条件・面接官・仮枠押さえ)→ STEP2(セグメント分けと候補者選定)→ STEP3(追加質問)という段階的ウィザード |
| セグメント |
設問への回答条件で候補者を分類したグループ。STEP2 で定義する |
| 選定区分(selection type) |
候補者を「本命(primary)」「補欠(reserve)」に分ける区分 |
| 仮枠 |
プロジェクトカレンダーに先に押さえておく暫定イベント。担当の面接官が参加者として入る。日程確定時に確定イベントへ変換する |
| プロジェクトカレンダー |
プロジェクトごとに作られる専用の Google カレンダー。仮枠から確定枠までのイベントをここに集約する |
| PROTOTYPE_MODE |
メール送信と Google Calendar への書き込みを無効化する動作モード。既定は有効で、stg では無効にしている |
スコープ外(やらないこと)
- アンケート自体の作成・配信(Creative Survey / Ask One の役割)
- 面接内容の記録・評価・レポーティング
- 候補者への報酬支払い・精算
- 候補者向けのアカウント登録/ログイン(トークン付き URL のみで完結させる)
- Databricks への書き込み(読み取り専用の連携)