Telemetry · 教育
原型到底記錄了什麼?
一份適合學生專案的約 20 分鐘資料練習。八次嘗試與全部 18 筆事件紀錄都是虛構的。下載練習教材或 CSV 後,不需要帳號、學生資料或網路即可完成。
計算不同嘗試,而非資料列
假設答題應用記錄開始、開啟題目和提交答案。分別計算每個步驟出現的不同嘗試 ID。為什麼七筆開啟題目的紀錄只代表六次嘗試?哪段少了更多已記錄的嘗試?沒有提交事件,能證明使用者放棄嗎?
20 分鐘活動步驟
- 0–5 分鐘:找出每種事件。一個嘗試 ID 代表一次虛構嘗試,而不是一個人。
- 5–12 分鐘:按事件計算不同的嘗試 ID,比較「開始到開啟」和「開啟到提交」兩段的紀錄差額。
- 12–20 分鐘:提出兩種缺少提交事件的可能原因,再設計一種有助於檢驗其中一個原因的額外事件。有時間可用 SQL 核對計數。
| event | 不同嘗試 ID 數 |
|---|---|
flow_started | ________ |
question_opened | ________ |
answer_submitted | ________ |
事件紀錄
trial_id | event |
|---|---|
| toy-01 | flow_started |
| toy-01 | question_opened |
| toy-01 | answer_submitted |
| toy-02 | flow_started |
| toy-02 | question_opened |
| toy-02 | question_opened |
| toy-02 | answer_submitted |
| toy-03 | flow_started |
| toy-03 | question_opened |
| toy-04 | flow_started |
| toy-04 | question_opened |
| toy-04 | answer_submitted |
| toy-05 | flow_started |
| toy-05 | question_opened |
| toy-06 | flow_started |
| toy-07 | flow_started |
| toy-07 | question_opened |
| toy-08 | flow_started |
用 SQL 核對
將 CSV 匯入 SQLite,資料表命名為 prototype_events;也可以手動計算。以下查詢不會傳送資料。
SELECT
COUNT(DISTINCT CASE WHEN event = 'flow_started' THEN trial_id END) AS started,
COUNT(DISTINCT CASE WHEN event = 'question_opened' THEN trial_id END) AS opened,
COUNT(DISTINCT CASE WHEN event = 'answer_submitted' THEN trial_id END) AS submitted
FROM prototype_events;教師與主辦者參考答案
八次嘗試有開始事件,六次有開啟題目事件,三次有提交事件。toy-02 有兩筆開啟題目的紀錄,但只算一次嘗試。紀錄數先減少兩次,再減少三次。CSV 無法說明原因:使用者可能停止、應用可能出錯,事件也可能沒有送達。沒有隨機分組,不能證明設計修改有效。若依照預期正確記錄到 explicit_exit,它可作為主動離開的線索;沒有該事件仍無法判斷結果。
如果提交紀錄漏了事件呢?
另設一個情境:實際發生三次提交。請選擇有多少筆瀏覽器提交事件未送達紀錄;實際操作保持不變。
紀錄中可見的提交次數3
本情境中實際發生的提交次數3
操作未變,紀錄數卻變了。伺服器端的接收紀錄可能有助於查證;僅憑缺少瀏覽器事件無法判斷。
閱讀更詳細的說明(繁體中文)選用的軟體實作
無需建立帳號,就能在 Telemetry 的瀏覽器 SQL 實驗室查詢同一組虛構資料。Telemetry 能儲存軟體的結構化事件並以 SQL 查詢,但本練習不依賴託管服務。若日後要傳送虛構事件,公開的 $0 方案含 1 GB 儲存空間且不需信用卡。切勿上傳真實學生身分、答案或學習紀錄。
依 Telemetry 現行條款,建立帳號者須超過 18 歲。未成年學生可使用紙本練習,無需建立帳號。 服務條款
我是 Telemetry 創辦人 JR。這份練習借助 AI 起草,尚未在課堂或活動中試用。使用前請審閱;沒有學校或黑客松為其背書。
發現錯誤?歡迎來信,請勿傳送學生資料。