Snapshot đối soát#
Mục tiêu: Hiểu snapshot — chốt số liệu views/engagement tại thời điểm T — và cách dùng trong Quản lý đối soát.
Mục tiêu (của bài)#
- Hiểu khái niệm snapshot và tại sao cần trong đối soát.
- Phân biệt 3 cơ chế: daily, post-expiry, makeup.
- Biết cách trigger snapshot thủ công khi cần.
- Sử dụng snapshot làm bằng chứng khi có dispute.
Snapshot là gì?#
Snapshot = bản chụp số liệu bài dự thi tại một thời điểm cụ thể.
Ví dụ: Bài A có 50.000 views vào 2026-04-15. Admin tạo snapshot → con số 50.000 được lưu làm bằng chứng. Dù sau này views tăng/giảm, số đối soát là 50.000.
Tại sao cần snapshot?#
- Công bằng giữa Influencer: Tất cả bài chốt cùng một thời điểm.
- Bằng chứng: Khi Influencer khiếu nại "views của tôi phải là X", Admin có snapshot để tra cứu.
- Ổn định tài chính: Views MXH có thể giảm (video bị xóa, user block). Snapshot khóa số để không ảnh hưởng tính tiền.
3 cơ chế tạo snapshot#
1. Daily snapshot#
- Cơ chế: Job chạy hằng ngày (ví dụ 02:00 AM) chụp toàn bộ bài active.
- Dùng khi: Track growth theo ngày, làm baseline cho Timeline chart.
- Lưu trữ: Lưu lâu dài để phân tích lịch sử.
2. Post-expiry snapshot#
- Cơ chế: Tự động tạo khi thử thách hết hạn.
- Dùng khi: Chốt số liệu cuối cho đối soát chính thức.
- Thời điểm: Ngay sau expiry date (một số giờ để đảm bảo data đã đồng bộ).
3. Makeup crawl (bổ sung)#
- Cơ chế: Admin trigger thủ công khi phát hiện snapshot bị miss/lỗi.
- Dùng khi:
- Job daily fail 1 ngày → missing data.
- Influencer khiếu nại — cần re-crawl.
- Content mới thêm vào đợt đối soát cần snapshot trước khi đối soát.
Dữ liệu được ghi nhận trong snapshot#
Mỗi snapshot entry chứa:
- Content ID — bài dự thi
- Thời điểm snapshot (timestamp chính xác)
- Platform (TikTok/YouTube/FB)
- Số liệu tại thời điểm T:
- Views / Video views
- Likes
- Comments
- Shares
- Saves (nếu có)
- Engagement rate (tính từ số liệu trên)
- Raw data từ API MXH (lưu để debug)
Cách dùng snapshot khi đối soát#
Luồng điển hình#
1. Thử thách hết hạn
↓
2. Hệ thống tự tạo post-expiry snapshot
↓
3. Admin mở đợt đối soát mới
↓
4. Dữ liệu content trong đợt = snapshot
↓
5. Admin duyệt/từ chối từng content dựa trên số liệu snapshot
↓
6. Chuyển Running → cộng tiền dựa trên số liệu snapshot
Khi có dispute từ Influencer#
Tình huống: Influencer nói "Views của tôi đáng lẽ là 100k nhưng snapshot ghi 50k".
Cách xử lý:
- Mở snapshot được dùng cho đợt đối soát.
- Tra cứu timestamp và raw data.
- Nếu snapshot đúng nhưng MXH đổi số (decay) → giải thích cho Influencer.
- Nếu snapshot sai (do API MXH lỗi) → trigger makeup crawl và re-calculate.
Các bước thực hiện#
Trigger makeup crawl thủ công#
⚠️ Feature này có thể được embed trong trang Đối soát hoặc trang riêng — tùy phiên bản admin.
Luồng điển hình:
- Mở chi tiết đợt đối soát.
- Ở mỗi content, có action Makeup Crawl (hoặc "Re-crawl").
- Chọn content cần re-snapshot → submit.
- Hệ thống gọi API MXH lấy số liệu mới.
- Snapshot mới được tạo, nhưng snapshot cũ vẫn giữ (có audit trail).
- Admin quyết định dùng snapshot nào cho đối soát.
Xem lịch sử snapshot#
Mỗi content thường có link/tab Snapshot History hiển thị:
- Thời điểm, số liệu, loại (daily/post-expiry/makeup).
- Ai trigger (nếu manual).
Lỗi thường gặp#
1. Snapshot daily bị miss#
- Job daily lỗi (queue fail, API rate limit).
- Cách khắc phục: trigger makeup crawl cho khoảng ngày miss.
- Kiểm tra monitoring cron để prevent future issues.
2. Số liệu snapshot thấp hơn reality#
- API MXH cache. Số hiển thị trên UI MXH có thể mới hơn số API trả về.
- Nếu lệch quá lớn, đợi 1–2 giờ rồi re-crawl.
3. Makeup crawl không tạo snapshot mới#
- API MXH rate limit.
- Content đã bị xóa trên MXH.
- Token MXH của Influencer đã hết hạn (cần re-auth).
4. Không biết snapshot nào được dùng trong đợt đối soát#
→ Xem Audit Log của đợt — log sẽ ghi snapshot ID được dùng khi chạy Running.
Câu hỏi thường gặp (FAQ)#
Snapshot và reconciliation-item khác nhau ở đâu?
- Snapshot = bản chụp số liệu MXH (views, engagement).
- Reconciliation-item = 1 dòng trong đợt đối soát (1 bài dự thi được xét). Reconciliation-item dùng snapshot làm input.
Khi tạo đối soát, snapshot nào được dùng?
Mặc định: snapshot gần nhất trước cutoff date. Admin có thể chọn snapshot khác nếu hệ thống cho phép.
Số liệu Dashboard Brand có dùng snapshot không?
Có. Dashboard thường dùng daily snapshot để vẽ timeline. KPI tổng cũng tính từ snapshot (không phải real-time API).
Snapshot lưu bao lâu?
Thường lưu lâu dài (>1 năm) cho audit. Tùy chính sách retention.
Có thể xóa snapshot không?
Không nên. Snapshot là bằng chứng pháp lý. Chỉ archive khi rất cũ.
Makeup crawl có tốn phí API không?
Có. Mỗi call API MXH tốn quota. Trigger makeup phải có lý do rõ ràng, không spam.
Liên kết liên quan#
Tham khảo SRS: admin-portal/07-snapshot