Skip to content

Theo dõi & báo cáo ​

Training Manager không trực tiếp điểm danh (đó là việc của trainer trong Trainer Panel), nhưng cần theo dõi tổng thể tỉ lệ điểm danh, tiến độ học, học viên at-risk, và xuất báo cáo cho lãnh đạo / khách hàng B2B.

Một dòng tóm tắt

Báo cáo điểm danh = (Có mặt + Muộn) / sessions held — tự động tính bởi AttendanceReportService. Tiến độ khoá học = % activity đã hoàn thành. Cả 2 hiển thị trong tab Học viên + tab Khoá học của Batch + có nút export.

Cấp báo cáo ​

CấpPhạm viTrang
Mỗi buổi1 BatchSession × tất cả học viênTrang chi tiết buổi → tab Điểm danh
Mỗi học viên trong lớp1 (Batch × User)Trang Batch → tab Học viên → cột rate + click học viên
Mỗi khoá trong lớp1 (Batch × Course)Trang Batch → tab Khoá học → click khoá
Tổng lớp1 BatchTrang Batch → header stats + tab attendance summary
Cross-batchTất cả lớpDashboard widget + xuất report

Tỉ lệ điểm danh — quy tắc tính ​

Công thức ​

attendance_rate = (count(Present) + count(Late)) / count(sessions held × students)
Trạng tháiTử sốMẫu số
Present (Có mặt)✅ +1✅ +1
Late (Muộn)✅ +1✅ +1
Absent (Vắng)❌✅ +1
Excused (Có phép)❌✅ +1

Quy tắc thêm ​

  • Chỉ buổi live hoặc completed được tính (scheduled / cancelled bỏ qua).
  • Học viên không có bản ghi attendance cho buổi đã held → tự động tính Absent.
  • Excused vẫn ở mẫu số — học viên có phép vẫn không cộng tỉ lệ (đây là lựa chọn thiết kế: Excused = không bị flag at-risk nhưng không được "tặng tỉ lệ").

Excused != Late

  • Late = đến học muộn → vẫn cộng có mặt.
  • Excused = không đến nhưng có lý do chính đáng → không cộng, nhưng cũng không trừ điểm gì ngoài việc kéo tỉ lệ xuống.

Tỉ lệ học viên Excused 100% buổi sẽ là 0% — đây là điểm cần cân nhắc khi báo cáo.

Tab Học viên — bảng tổng quan ​

Trong trang chi tiết Batch → tab Học viên:

Bảng hiển thị (per học viên):

CộtNguồnMã màu
Họ tênusers.first_name + last_name—
Emailusers.email—
Tỉ lệ điểm danhAttendanceReportService::userRate()≥85% xanh, 70–84% vàng, <70% đỏ
(mỗi khoá Program)enrollments.progress≥100% xanh, 50–99% vàng, <50% đỏ

Sort theo bất kỳ cột nào để phát hiện vấn đề:

  • Sort tỉ lệ điểm danh ↑ → at-risk lên đầu.
  • Sort tiến độ khoá X ↓ → top performer nhóm khoá X.

Filter:

  • Theo trạng thái enrollment.
  • Theo khoảng ngày enroll.

Học viên cần chú ý (At-risk) ​

Hệ thống tự sinh danh sách học viên at-risk theo 2 ngưỡng:

Lý doThreshold mặc định
Tỉ lệ điểm danh thấp (below_threshold)< 70%
Vắng liên tiếp (consecutive_absences)≥ 3 buổi

Hiển thị ở:

  • Trainer Panel → widget "Học viên cần lưu ý" (cross-batch của trainer).
  • Báo cáo lớp → tab "At-risk" (per-batch).

Bạn (Training Manager) xem cross-batch qua dashboard widget hoặc query report.

Tab Khoá học — tiến độ chi tiết ​

Trong trang Batch → tab Khoá học:

Mỗi khoá hiển thị:

  • Tên khoá + mã + danh mục
  • Tỉ lệ học viên hoàn thành (completed / total)
  • Tiến độ trung bình (% across học viên)
  • Số học viên đã enroll

Click khoá → mở Tiến độ khoá học (matrix detail):

Matrix Học viên × Activity ​

Như Trainer Panel, nhưng bạn xem được mọi lớp (không bị giới hạn ownership).

Trạng thái cellHiển thị
Chưa bắt đầuTrống
Đang làmIcon đồng hồ vàng
Hoàn thành (có điểm)Badge điểm score/max — xanh nếu pass
Hoàn thành (Assignment)Icon kiểu submission
Hoàn thành (không chấm)Tick xanh

Click cell → mở timeline drill-down (lịch sử attempts, submissions, comments).

Phân biệt với Trainer

Trainer xem matrix để comment / can thiệp cá nhân. Bạn xem matrix để theo dõi tổng thể + audit + báo cáo. Cùng UI nhưng mục đích khác.

Báo cáo cấp Batch (Header stats) ​

Header trang Batch hiển thị widget thống kê tóm tắt:

  • Tỉ lệ điểm danh tổng (overall_rate).
  • Số buổi đã diễn ra / tổng số buổi.
  • Số lượt có mặt trên tổng lượt dự kiến.
  • Số học viên cần chú ý — đếm at-risk (rate < 70% hoặc vắng liên tiếp ≥ 3).

Xu hướng theo tuần ​

(Nếu UI có) chart bar/line theo tuần — gom buổi theo Monday-of-week:

  • Trục X: tuần.
  • Trục Y: tỉ lệ điểm danh trung bình của tuần đó.

→ Nhận diện trend: lớp đang ổn định / tăng / giảm dần qua các tuần.

Phân loại điểm danh ​

Pie chart phân loại:

  • Có mặt (Present)
  • Muộn (Late)
  • Vắng (Absent)
  • Có phép (Excused)

Xuất báo cáo ​

Xuất danh sách học viên + tiến độ ​

Tab Học viên → header Xuất danh sách:

  • Định dạng CSV / XLSX.
  • Cột: tên, email, phone, ngày tham gia, tiến độ từng khoá trong Program (per-row).
  • Tải về.

Xuất báo cáo điểm danh ​

Header Batch → Xuất báo cáo điểm danh (AttendanceExportService):

  • CSV / XLSX.
  • Bảng pivot: học viên × buổi → cell = trạng thái (Present/Late/Absent/Excused).
  • Hữu ích cho B2B billing tháng (gửi cho khách hàng).

Xuất per-buổi ​

Trang chi tiết buổi → Xuất điểm danh (nếu UI có) — bảng học viên × trạng thái buổi đó.

Format Excel chuyên nghiệp

File XLSX có:

  • Header in đậm.
  • Filter ở mỗi cột.
  • Conditional formatting (màu cho trạng thái).
  • Sheet tổng kết phía sau.

→ Có thể gửi thẳng cho khách hàng B2B mà không cần làm lại.

Báo cáo cross-batch (cấp tổ chức) ​

Dashboard widget ​

Sidebar → Dashboard (/admin):

Các widget cho Training Manager:

  • Tổng quan người dùng — tổng user, mới đăng ký kỳ này.
  • Biểu đồ người dùng mới — theo tuần.
  • Tổng quan khoá học — tổng khoá + đăng ký.
  • Biểu đồ ghi danh mới — theo thời gian.
  • Biểu đồ hoạt động đã hoàn thành — số activity hoàn thành.
  • Biểu đồ thời gian học — tổng thời gian học toàn tổ chức.

Tuỳ biến bố cục: Cài đặt → Bố cục dashboard (kéo thả widget).

Báo cáo aggregate ​

Hiện không có "report builder" trong UI — Training Manager cần report custom:

  • Doanh thu cohort → đề nghị Sales/Finance trích.
  • Tỉ lệ retention sau cohort → DB query qua Tenant Admin.
  • So sánh hiệu quả các Program → export rồi pivot Excel.

Đề xuất Tenant Admin xây report builder nếu nhu cầu thường xuyên.

Cảnh báo lớp tự động ​

Thay vì phải mở từng lớp mỗi sáng, hệ thống có thể tự báo khi một lớp có dấu hiệu xấu. Máy quét chạy 07:30 hằng ngày và sinh ba loại sự kiện cảnh báo:

Sự kiệnKhi nàoGhi chú
Chuyên cần lớp tụt dưới ngưỡngTỉ lệ chuyên cần của lớp dưới ngưỡng (mặc định 70%)Không báo lại mỗi sáng cho cùng một lớp — chỉ báo lại sau 7 ngày, hoặc ngay khi tình hình xấu đi rõ rệt
Học viên vắng liên tiếp nhiều buổiMột học viên vắng liên tiếp từ 3 buổi trở lên (mặc định)Mỗi học viên là một cảnh báo riêng; có thể gửi thẳng cho giảng viên phụ trách lớp
Lớp quá hạn chưa đóngLớp còn Đang hoạt động sau ngày kết thúc dự kiến + 3 ngày ân hạn (mặc định)Chừng nào chưa đóng lớp, học viên vẫn nhận email đốc thúc học tập — xem Vòng đời lớp

Cảnh báo chỉ được gửi khi đã có luật

Ba sự kiện trên chỉ là nguồn. Muốn nhận, quản trị phải tạo Luật cảnh báo cho sự kiện tương ứng và chọn Đích nhận (email theo vai trò, Slack, Mattermost, webhook…) ở mục Cài đặt → Cảnh báo vận hành của trang quản trị. Với cảnh báo vắng liên tiếp, luật có thể bật gửi riêng cho người phụ trách (giảng viên của lớp). Nhờ Tenant Admin cấu hình nếu bạn không có quyền vào mục đó.

Quan hệ với các module khác ​

Với Trainer Panel ​

  • Trainer tạo dữ liệu điểm danh + comment.
  • Bạn xem dữ liệu + báo cáo.
  • Nếu trainer quên điểm danh → bạn nhắc qua nhật ký lớp hoặc kênh ngoài.

Với Notifications ​

  • Email tự động gửi cho học viên at-risk (cấu hình trong Tenant Admin):
    • Cảnh báo khi tỉ lệ < 70%.
    • Reminder nếu vắng buổi tiếp theo.
  • Bạn nhận báo cáo tóm tắt hàng tuần (nếu Tenant Admin bật) qua email.

Với Gamification ​

  • Học viên đến đủ buổi → cộng XP streak.
  • Báo cáo "top streak attendance" qua leaderboard (Tenant Admin scope).

Với Subscription ​

  • Học viên có sub active → đếm attendance liên kết với gói.
  • Sub hết hạn giữa cohort → enrollment auto huỷ → học viên rời lớp tự động (đôi khi bất ngờ — báo trước nếu có thể).

Best practices ​

Theo dõi định kỳ ​

  • Hàng ngày — kiểm tra dashboard, đặc biệt số at-risk mới.
  • Hàng tuần — review tab Học viên của mỗi Batch active. Sort theo rate ↑.
  • Mỗi cuối tháng — export báo cáo gửi lãnh đạo / khách hàng.
  • Mỗi cuối cohort — tạo retrospective report (tỉ lệ pass, cohort feedback).

Khi gặp at-risk learner ​

  1. Báo trainer của lớp (qua nhật ký + @mention).
  2. Trainer can thiệp 1-1 (call, email).
  3. Nếu cần can thiệp curriculum:
    • Catch-up plan — trainer áp.
    • Activity Override — trainer áp.
    • Chuyển lớp — bạn (Training Manager) thực hiện nếu lớp khác phù hợp hơn.
  4. Nếu fail completely → ghi nhận, escalate Tenant Admin / khách hàng.

Khi báo cáo cho B2B ​

  • Đính kèm: file XLSX attendance + tiến độ.
  • Highlight: top 3 + bottom 3 học viên.
  • Insight: trend tuần (đang tăng / giảm); buổi nào có drop-off cao.
  • Action item: học viên nào cần khách hàng hỗ trợ động viên.

Câu hỏi thường gặp ​

Tỉ lệ điểm danh hiện 0% dù lớp đã có buổi?

  • Buổi vẫn ở scheduled — chưa được trainer click "Bắt đầu" → không được tính.
  • Trainer chưa lưu attendance → mọi học viên = Absent → 0%.
  • Refresh sau 1–2 phút (queue có delay).

Tiến độ khoá hiện 0% dù học viên đã làm bài?

  • Bài đã làm nhưng chưa complete (vd: Reading nhưng chưa nộp summary, Quiz chưa pass).
  • Activity bị skip / hidden không tính vào % yêu cầu.

Tôi thấy 1 học viên 100% nhưng chưa có chứng chỉ?

  • Khoá chưa gắn Certificate Template.
  • Job cấp chứng chỉ đang queue → đợi vài phút.
  • Liên hệ Tenant Admin nếu sau 1 ngày vẫn không có.

Có thể đặt threshold at-risk khác 70% không?

  • Hiện UI chưa cho tuỳ biến per-tenant. Threshold hardcode ở AttendanceReportService::atRiskStudents($batch, threshold=70.0, consecutive=3).
  • Đề xuất Tenant Admin code config nếu tổ chức cần ngưỡng khác.

Báo cáo có thể tự gửi định kỳ qua email? Hiện không có cron auto-export. Cách tạm: bạn export tay + gửi qua mail tổ chức.

Học viên xem được tỉ lệ điểm danh của họ? Có — qua Learnspace, trang chi tiết Batch / hồ sơ. Họ thấy tỉ lệ + lịch sử buổi. Minh bạch giảm tranh cãi.

Báo cáo có lưu vào DB hay sinh on-the-fly? On-the-fly. Mỗi lần xem là query lại. Lớp lớn (>500 học viên × >50 buổi) có thể chậm → đề xuất Tenant Admin tối ưu cache.

Tôi cần report so sánh 2 Batch? Không có UI built-in. Cách tạm: export 2 file → Excel pivot.

LMS Documentation