このページがある理由
学習システムを信頼するご家族には、その仕組みがどう動いているかを見る権利があります。企業なら非公開にするような数字を、ここでは誰でも見られます。訪問者がどこから来るか、どのレッスンが最後まで終わるか、学習者がどこで止まるか、また戻ってくるか、そして採点がどう振る舞うか。公開データは知的資本です。
1行に含まれうる情報
- ページビュー: 「nu lesson」や「home」のようなルート名(生のアドレスは決して含みません)、レッスンのルートに一致した場合のレッスンスラッグ、参照元の種類とドメイン(検索クエリは含みません)、ビューポート幅から判定した端末の種類、ページ滞在時間、スクロールの深さ、セッション内でのページの順番、再訪間隔の区分、訪問回数の区分、閲覧者の現地時刻(時)と曜日、サイトの言語、ブラウザの言語(2文字)、そして閲覧者がサインインしていたかどうか。
- レッスンセッション: レッスンスラッグ、最短経路上のステップ数、完了したステップ数、回答した質問数、試行回数、ヘルプの質問数、完了状況、スコア、所要時間、読み上げの再生回数、次のレッスンまたは登録ボタンがクリックされたかどうか。
- 登録: 最初の認証済みログイン時に1度だけ記録されます。入口ページ、参照元の種類とドメイン、最後のページ、最後のレッスン、触れたレッスン数、それまでのページ数。作成されたアカウントとの紐づけはありません。
- 採点された回答: レッスン、ステップ、カテゴリ、採点者、確信度、時間、結果、回答の長さ。回答そのものは決して含みません。
- モデル呼び出し: 目的、ホスト、モデル名、応答時間、成否。プロンプトや生成結果は決して含みません。
1行に決して含まれない情報
IPアドレスなし、Cookie識別子なし、フィンガープリントなし、ユーザーIDなし、メールアドレスなし、生のURLなし、検索クエリなし、回答テキストなし、プロンプトなし。
ブラウザが自分を特定させずに報告する仕組み
再訪間隔と訪問回数は、ブラウザ自身のローカルストレージに保存されます。ページが報告するのは区分(「1週間以内に戻ってきた」など)だけで、タイムスタンプや端末IDは決して送りません。登録前の道のりは、参加フォームが送信されるまでセッションストレージに置かれます。サーバーは最初の認証済みログインまでルート名だけを保持し、その後に要約を1行だけ書き込みます。ブラウザのストレージを消去すれば、これらはすべてリセットされます。JavaScriptがなければ何も送信されません。登録の行は記録されますが、道のりの項目は空のままになります。
表示の下限
内訳のセル(参照元ドメイン、入口ページ、レッスン、言語など)は、観測数が7件未満の場合は非表示になります。1人の訪問者が単独で1行として現れることはありません。
満足度指数
レッスンセッションごとに行動から算出します。進捗 35%、完了 20%、試行の質 15%、注意の持続 15%、継続 15%。表示時間が7秒未満のセッションは0点になります。あくまで代替指標であり、アンケートではありません。
公開データ
各タブをJSONで: analytics?format=json. 同じ集計、同じ下限。 ソースコード: unhomeschool/views/analytics.py, unhomeschool/signals.py, unhomeschool/static/js/signals.js.