Appearance
画面設計: 管理者 単語習得率ダッシュボード
関連: api.md §4 / data-model.md §3.5
URL
/admin/vocab— 集団ダッシュボード/admin/learners/:id/vocab— 個別(admin-learner-detail.md 参照)
目的
「1000個中800個覚えた」「クラスで遅れている単語領域」「強み/弱み」を可視化する。
要素
サマリーカード
- 総単語数(期間内配分)
- 平均習得率
- mastered 単語累計
- 要注意学習者数(習得率閾値以下)
習得率分布
- ヒストグラム(学習者を習得率バケツで区分)
- フィルタ:コホート、JLPTレベル、期間
単語別難易度マップ
- 各単語を「クラス全体の正答率」で並べた表/ヒートマップ
- 低正答率単語を抽出(指導材料候補)
カテゴリ別習得率
- 品詞・テーマ別の習得率ライン
API
GET /admin/vocab-stats?cohortId=&from=&to=— 集団統計GET /admin/vocab-stats/difficult-words?cohortId=&limit=20— 低正答率抽出- 応答
{ items: [...], summary: {...} }
RBAC
- TA(担当クラスのみ)/OA(自組織)/TM(引継ぎ分のみ)
- SA/EM は本画面にアクセス不可。SA 向けの集計は
/org/reports、EM 向けは/employer/candidates/:idの候補者レポートで別途提供する - SU は本画面アクセス不可
指標定義(明記)
- 習得率 =
VocabularyProgress.status == 'mastered'/ 配分単語数 - 単語別正答率 =
QuizAnswerを所属QuizAttempt.started_atで期間フィルタし、is_correct=true/ 回答総数(N 日の集計はQuizAttempt.started_at基準。初期値 N=30、OA 設定で変更可) - 「要注意」閾値 = OA 設定(初期値:習得率 40% 未満 かつ 学習時間下位 25%)
エッジケース
- 学習者 0 名のコホート:「該当データなし」
- 短期間(7 日未満)は信頼性警告を表示
- 期間内に単語配分変更があった場合は、集計前提の変更をツールチップで明示
モック(M1)
- コホート 1、学習者 30 名の合成データ
- ヒストグラム、低正答率単語表、カテゴリ別ラインを表示
未確定
- 単語の「難易度」スコアに個人特性(N?レベル)を加重するか
- クラス間比較(ベンチマーク)の提供範囲