Learning Management - Streak (Shared)
DomainsDOL EnglishUX698 words3 min read
Purpose
Phần tiêu đề “Purpose”- Xây dựng thói quen học mỗi ngày; quy tắc tính streak rõ ràng, tối giản.
Streaklà habit signal của toàn hệ, nhưng không phải hero metric cố định cho mọi phase user.
Logic Streak
Phần tiêu đề “Logic Streak”- Tính streak của một ngày khi bạn hoàn thành (nộp) ít nhất 1 bài luyện (Project).
- Freeze 1 ngày:
- auto-consume ở ngày bỏ đầu tiên.
- nếu hôm nay bạn có streak, ngày mai không làm bài thì streak chưa bị mất (được giữ nhờ freeze 1 ngày).
- Tiếp tục: nếu sau ngày freeze bạn hoàn thành 1 bài, streak tiếp tục đếm (chỉ tăng vào ngày có hoàn thành bài). Ngày không học không làm tăng streak.
- Reset: nếu qua ngày thứ hai liên tiếp vẫn không hoàn thành bài, streak bị mất và reset về 0.
- Múi giờ: tính theo múi giờ tài khoản; cửa sổ ngày 00:00–23:59.
- Hợp lệ:
- chỉ tính theo
submit timestampkhi hoàn thành và nộp bài, - trạng thái
interrupted/incompletekhông tính.
- chỉ tính theo
Vocabulary Streak (phụ)
Phần tiêu đề “Vocabulary Streak (phụ)”- Mục tiêu: hình thành thói quen học từ vựng; hiển thị tách biệt trong Sổ từ vựng.
- Kích hoạt ngày: khi user học ≥ 1 mục từ vựng trong ngày (trả lời ít nhất 1 item trong Review/Quiz của bất kỳ List;
skipkhông tính). - Freeze/Timezone: dùng chung quy tắc với Core Streak (múi giờ tài khoản; 1 ngày freeze; chỉ tăng vào ngày có học hợp lệ).
- Reset: giống Core Streak (qua ngày freeze vẫn không có học hợp lệ → reset về 0).
- Hợp lệ: hành vi được ghi nhận qua sự kiện
item_reviewedhoặcsession_completedcó ≥ 1 item trả lời; mở phiên nhưng chỉskipkhông tính. - Hiển thị: trong Sổ từ vựng có view riêng (heatmap ngày, current/best streak, lịch sử reset). Core Streak là habit signal dùng chung ở cấp nền tảng, nhưng không phải chỉ số trung tâm của mọi surface.
Super Streak
Phần tiêu đề “Super Streak”- Mục tiêu: khuyến khích “ngày đủ” khi user vừa hoàn thành bài luyện (Core) vừa học từ vựng.
- Kích hoạt ngày: khi trong cùng một ngày có cả Core Streak hợp lệ và Vocabulary Streak hợp lệ.
- Freeze: không áp dụng. Super Streak là cờ theo ngày, không được giữ bởi freeze.
- Múi giờ: theo múi giờ tài khoản, cùng cửa sổ 00:00–23:59.
- Tính toán & thống kê
- Đánh dấu
super=truecho ngày khi thỏa điều kiện; không có bộ đếm liên tục riêng. - Tổng hợp số ngày Super theo tuần/tháng để hiển thị độ chăm chỉ (Super Days/week, Super Days/month).
- Đánh dấu
- Hiển thị
- Badge/Chip “Super” trên lịch/heatmap của ngày.
- Summary tuần/tháng: tổng số Super Days, xu hướng so với kỳ trước.
- Analytics
- super_streak_day_marked, super_streak_summary_viewed
Ranking Boundary
Phần tiêu đề “Ranking Boundary”- Core Streak là chỉ số thói quen/recognition, không phải trục xếp hạng cross-area chính.
- Home/community có thể dùng
streak consistencylàm teaser signal, nhưng leaderboard cross-area vẫn đọc theo current-period points. - Không suy
user/account leveltừ streak hoặc super streak.
Surfacing Priority by Learner Phase
Phần tiêu đề “Surfacing Priority by Learner Phase”Low-data / activation- streak có thể surfacing khá rõ để giúp tạo thói quen, nhưng vẫn đứng sau CTA bắt đầu và quick win.
Active learning- streak là proof phụ cho consistency;
today plan,weekly goal,target countdown, vàreview đến lịchphải quan trọng hơn.
- streak là proof phụ cho consistency;
Committed / deep study- streak chỉ là signal phụ trong diligence; không được lấn át
target gap,weak skill, hayreadiness.
- streak chỉ là signal phụ trong diligence; không được lấn át
Achieved / maintenance- streak không còn là trung tâm; ưu tiên maintenance + next journey.
Off-rhythm / comeback- không dùng loss streak làm hero signal; comeback flow phải đọc nhẹ và anti-guilt.
Change log
Phần tiêu đề “Change log”- 2026-03-14: Bổ sung contract surfacing theo phase: streak mạnh nhất ở activation, lùi dần khi user committed, maintenance, hoặc comeback.
- 2026-03-09: Bổ sung boundary với ranking: streak là habit/recognition layer, không phải trục xếp hạng cross-area và không suy ra
account level.