Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Bài 5 — Chất lượng dữ liệu

Đã đọc 0/12 mục · còn khoảng 7 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

Dữ liệu sai tệ hơn không có dữ liệu

Không có dữ liệu thì người ta biết mình đang đoán. Có dữ liệu sai thì người ta quyết sai với sự tự tin cao. Đây là lý do chất lượng dữ liệu là điều kiện, không phải một cải tiến để làm sau.

Sáu chiều của chất lượng

  • Đầy đủ — có mất bản ghi không?
  • Đúng đắn — giá trị có phản ánh thực tế không?
  • Nhất quán — cùng một thứ có giống nhau giữa các hệ thống không?
  • Kịp thời — dữ liệu tới đủ sớm để dùng không?
  • Duy nhất — có bản ghi trùng không?
  • Hợp lệ — có đúng định dạng và nằm trong khoảng hợp lý không?
Chiều 3 và 4 hay bị bỏ qua nhất. Một báo cáo chính xác nhưng tới sau khi quyết định đã được đưa ra thì vô dụng.

Kiểm tra tự động, không kiểm tra thủ công

Kiểm tra thủ công không mở rộng được và người ta sẽ bỏ khi bận. Bốn loại kiểm tra tự động rẻ và bắt được phần lớn vấn đề:

  • Kiểm tra khối lượng: số sự kiện hôm nay lệch quá 30 phần trăm so với trung bình bảy ngày thì cảnh báo. Bắt được lỗi mất dữ liệu, vốn là lỗi phổ biến nhất.
  • Kiểm tra giá trị rỗng: tỷ lệ trường bắt buộc bị rỗng vượt ngưỡng.
  • Kiểm tra khoảng: giá trị nằm ngoài khoảng hợp lý, ví dụ tuổi âm hoặc đơn hàng gấp 100 lần trung bình.
  • Kiểm tra đối chiếu: tổng doanh thu trong hệ thống phân tích so với hệ thống kế toán, chênh quá ngưỡng thì cảnh báo.
Loại cuối tốn công nhất và có giá trị cao nhất, vì nó bắt được sai lệch hệ thống mà ba loại kia bỏ qua.

Ai chịu trách nhiệm

Chất lượng dữ liệu hỏng khi nó là "việc của đội dữ liệu". Đội dữ liệu không kiểm soát được nơi dữ liệu sinh ra.

Mô hình hiệu quả hơn: đội tạo ra dữ liệu chịu trách nhiệm về chất lượng của nó, giống như đội viết code chịu trách nhiệm về lỗi của mình. Đội dữ liệu cung cấp công cụ, tiêu chuẩn và cảnh báo.

Khi phát hiện dữ liệu sai

Bốn bước: dừng dùng nó ngay và nói cho người đang dùng, đánh giá phạm vi ảnh hưởng, sửa nguồn trước rồi mới tính lại lịch sử, và ghi lại nguyên nhân cùng một kiểm tra mới để không lặp lại.

Bước đầu hay bị chậm vì ngại. Nhưng để người khác tiếp tục quyết định dựa trên số sai tốn kém hơn nhiều so với một tin nhắn khó chịu.

Sai lầm thường gặp

  • Coi chất lượng dữ liệu là việc làm sau.
  • Kiểm tra thủ công thay vì tự động.
  • Giao toàn bộ trách nhiệm cho đội dữ liệu.
  • Chậm thông báo khi phát hiện sai.

Checklist kết bài

  • [ ] Tôi có kiểm tra tự động về khối lượng, giá trị rỗng, khoảng và đối chiếu.
  • [ ] Đội tạo ra dữ liệu chịu trách nhiệm về chất lượng của nó.
  • [ ] Có quy trình rõ khi phát hiện dữ liệu sai.
  • [ ] Mỗi sự cố dữ liệu để lại một kiểm tra mới.
<!--les-append-->

Kiểm tự động — bốn loại đáng có

Chất lượng dữ liệu không giữ được bằng cách xem thủ công. Cần kiểm tự động chạy mỗi lần dữ liệu cập nhật:

Loại kiểmVí dụBắt được gì
Khối lượngSố bản ghi hôm nay so với trung bình 7 ngàyĐường ống hỏng, mất dữ liệu
Tính mớiBản ghi mới nhất cách đây bao lâuĐường ống dừng mà không báo
Phân bốTỉ lệ giá trị null, khoảng giá trịĐổi cấu trúc nguồn
Quan hệTổng theo phòng = tổng chungTrùng lặp hoặc mất mát
Kiểm tính mới là kiểm rẻ nhất và bắt được sự cố phổ biến nhất: đường ống dừng chạy và không ai biết trong ba ngày.

Ngưỡng cảnh báo và sự mệt mỏi

Cảnh báo quá nhạy thì đội tắt nó đi — và lúc đó bạn tệ hơn lúc chưa có.

Nguyên tắc đặt ngưỡng:

  • Bắt đầu rộng, siết dần theo dữ liệu thật
  • Phân mức: cảnh báo (xem khi rảnh) và sự cố (xử lý ngay)
  • Mỗi cảnh báo phải có người nhận cụ thể, không gửi vào kênh chung
  • Cảnh báo nào kêu mà không ai làm gì trong 3 lần liên tiếp thì sửa ngưỡng hoặc bỏ

Ai sở hữu chất lượng

Câu trả lời phổ biến — "đội dữ liệu" — thường sai. Đội dữ liệu không kiểm soát nguồn.

Loại vấn đềAi sửa được
Sự kiện không bắnĐội sản phẩm đã cài nó
Nguồn ngoài đổi cấu trúcĐội tích hợp
Đường ống lỗiĐội dữ liệu
Định nghĩa saiNgười làm sản phẩm sở hữu chỉ số
Mỗi bảng dữ liệu quan trọng nên có một tên người chịu trách nhiệm. Không có tên thì khi có vấn đề, nó nằm đó.

Làm ngay

Đặt một kiểm tính mới cho ba bảng dữ liệu quan trọng nhất: nếu dữ liệu không cập nhật trong 24 giờ thì cảnh báo, gửi cho một người cụ thể. Đây là việc nửa ngày và nó bắt được loại sự cố im lặng nhất. <!--/les-append-->

<!--case-append-->

Áp dụng vào Căng tin số

Căng tin số có hai loại dữ liệu rất khác nhau chạy song song: sổ tay của Cô Hạnh và sự kiện của app. Mỗi bên hỏng theo một cách riêng, và bài học ở đây là không bên nào tự động đáng tin hơn bên kia.

Sổ của Cô Hạnh mạnh ở chiều đúng đắn: cô là người đổ bỏ thật, 14 năm nghề, con số 40 suất mỗi ngày là thứ cô nhìn tận mắt. Nhưng nó yếu ở chiều kịp thời và đầy đủ: ghi cuối buổi, nằm trong bếp, và ngày nào cô bận hay nghỉ thì có thể trống. Sự kiện của app thì ngược lại: tới tức thì, không bao giờ quên ghi giờ, nhưng chỉ đúng khi người ở quầy làm đúng. Tuần 1 nhân viên quầy quên bấm "hết" 5 lần. Năm lần đó bảng "còn món" nói rằng món vẫn còn, và có người đặt hoặc đi bộ tới quầy cơm vì tin nó. Dữ liệu sai tệ hơn không có dữ liệu, đúng như bài học nói.

Bốn kiểm tra tự động, viết cho đúng tình huống này:

Loại kiểmÁp dụng ở căng tinBắt được gì
Khối lượngSố đơn đã thanh toán hôm nay so với trung bình 7 ngày họcApp lỗi thanh toán, hoặc một ngày nghỉ bị tính như ngày thường
Tính mới12:15 mà chưa có sự kiện dish_sold_out nào, trong khi 6 trên 10 ngày cơ sở hết món mặn trước 12:30Nhân viên quên bấm "hết"
Quan hệMỗi đơn đã thanh toán kết thúc ở đúng một trạng thái: đã nhận, không tới lấy, hoặc hoàn tiềnĐơn treo, đơn đếm hai lần
Đối chiếuTiền đặt trước trong app so với sao kê chuyển khoản Anh Tuấn đối soát cuối ngàySai lệch hệ thống giữa app và kế toán
Kiểm tra tính mới ở dòng hai là rẻ nhất và đáng làm đầu tiên. Nó không chứng minh nhân viên quên, nhưng đủ để hỏi đúng người trước khi người tới muộn bị đánh lừa.

Kiểm đối chiếu thì giá trị nhất, vì nó chạm vào nỗi đau P7: Anh Tuấn hiện mất cả tiếng đối soát mỗi tối. Nếu tổng tiền trong app và sao kê khớp nhau mỗi ngày, ông có lý do tin app. Nếu lệch mà không ai biết, ông sẽ quay lại sổ tay "cho chắc", và chuỗi giá trị đứt ở bước tin được.

Ai sở hữu chất lượng? Không phải nhóm làm app cho mọi thứ. Việc bấm "hết" thuộc về nhân viên quầy, tức là về Anh Tuấn, người quản lý họ; số lần quên giảm từ 5 xuống 1 vào tuần 4 là nhờ ông nhắc, không nhờ code. Sổ suất bỏ đi thuộc về Cô Hạnh. Nhóm làm app sở hữu đường đi của sự kiện và cảnh báo.

Một vấn đề chất lượng nữa không nằm ở dữ liệu mà ở bối cảnh: tuần 3 là tuần thi giữa kỳ, nhiều sinh viên về sớm, nên 15 phút xếp hàng và 27 suất bỏ đi đẹp hơn thực tế. Số không sai, nhưng dùng nó mà không ghi chú thì kết luận sẽ sai. Hãy gắn nhãn tuần thi ngay vào dữ liệu, như một thuộc tính của ngày.

Thử ngay: viết nội dung cảnh báo cho kiểm tính mới ở trên, gồm ngưỡng, người nhận và câu gợi ý hành động. Nhớ rằng Cô Hạnh không xem được điện thoại giờ cao điểm, vậy người nhận nên là ai? <!--/case-append-->

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi