Skip to content

画面設計: 管理者 単語習得率ダッシュボード

関連: 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?レベル)を加重するか
  • クラス間比較(ベンチマーク)の提供範囲

Internal — thriveJobs