Giám sát bàn ăn bằng AI: nhân viên không biết khách vừa rời bàn
Bàn bẩn để lâu là chỗ ngồi không bán được. Cách AI nhận biết trạng thái bàn, đo thời gian dọn bàn và công suất chỗ ngồi cho chuỗi nhà hàng, và giới hạn của nó.

Việc đầu tiên mà một hệ thống giám sát bàn ăn làm được không phải là bắt lỗi ai. Nó là nói cho nhân viên biết một việc mà mắt họ không nhìn thấy: bàn số mấy vừa có khách rời đi.
Trong một nhà hàng đông, nhân viên đang ở khu khác, đang quay lưng, đang bưng đồ. Họ không thể theo dõi hết mọi bàn cùng lúc. Bàn bẩn nằm đó không phải vì ai lười, mà vì không ai biết.
Việc thứ hai là nó tạo ra những con số mà trước đó không cách nào đo được bằng tay: bàn được dọn sau bao lâu, bàn trống bao lâu, khách ngồi trung bình bao lâu, khung giờ nào đông.
Các hình trong bài là hình vẽ minh hoạ, không phải ảnh chụp tại nhà hàng.
Một cái bàn bẩn tốn bao nhiêu?
Câu trả lời tuỳ nhà hàng, nhưng cách tính thì giống nhau.
Nếu đang có khách chờ, mỗi phút bàn bẩn nằm đó là một phút chỗ ngồi không bán được. Với một chuỗi nhiều chi nhánh, vài phút mỗi bàn nhân với số lượt trong ngày nhân với số chi nhánh là một con số thật — nhưng gần như không đơn vị nào có con số ấy, vì muốn có thì phải cử người đứng bấm giờ từng bàn suốt ca.
Và còn phần không thấy được bằng tiền: khách vừa vào đã nhìn thấy bàn đầy bát đĩa. Ấn tượng đó hình thành trước khi họ ăn miếng đầu tiên.
Hệ thống nhận biết trạng thái bàn thế nào?
Bằng hai loại tín hiệu, kết hợp lại.
Nhìn mặt bàn. Bàn trống trơn khác bàn còn bát đĩa. Đây là tín hiệu trực tiếp nhất về việc bàn đã sẵn sàng hay chưa.
Nhìn người. Hệ thống nhận biết có khách đang ngồi tại bàn hay không. Khi tất cả khách rời khỏi bàn và không quay lại trong một khoảng thời gian đã đặt trước, hệ thống coi như lượt phục vụ đã kết thúc.
Khoảng chờ đó quan trọng. Khách đi lấy thêm đồ, đi vệ sinh, đứng dậy nói chuyện — nếu tính ngay lúc họ rời ghế thì hệ thống sẽ báo nhầm liên tục. Đặt một khoảng chờ hợp lý sẽ lọc hết những trường hợp đó.
Khi lượt phục vụ kết thúc, đồng hồ bắt đầu chạy. Quá thời gian quy định mà bàn chưa được dọn, hệ thống nhắc nhân viên.
Đó là toàn bộ cơ chế. Không phức tạp, và chính vì không phức tạp nên nó chạy ổn định trong môi trường nhà hàng thật.
Vì sao bài toán này không cần độ chính xác quá cao?
Đây là điểm đáng chú ý nhất với người đang cân nhắc đầu tư, và nó đi ngược với cách nhiều người nghĩ về AI (Artificial Intelligence).
Mức chính xác cần thiết phụ thuộc vào việc gì xảy ra sau khi hệ thống trả kết quả.
| Ứng dụng | Kết quả dùng làm gì | Yêu cầu chính xác |
|---|---|---|
| Đếm để tính tiền | Ra hoá đơn cho khách | Rất cao — sai một lần là sai tiền |
| Nhận diện để mở cửa | Cho người vào hay không | Rất cao — sai là lỗ hổng an ninh |
| Trạng thái bàn ăn | Nhắc nhân viên, và cộng dồn thành thống kê | Vừa phải là dùng được |
Một lời nhắc sai thỉnh thoảng không gây hậu quả gì — nhân viên ra nhìn, thấy bàn vẫn có khách, quay đi. Và với thống kê, vài trường hợp sai lẻ tẻ không làm lệch bức tranh tổng thể qua hàng nghìn lượt.
Điều đó khiến ứng dụng này dễ triển khai hơn hẳn so với các bài toán nhận diện khác, và là lý do nó thường cho hiệu quả thấy được sớm.
Nhưng lưu ý: điều này chỉ đúng khi sai ngẫu nhiên. Nếu một cái bàn luôn bị nhận sai vì góc camera che khuất, thì số liệu của bàn đó hỏng có hệ thống, và bức tranh tổng thể cũng lệch theo. Cách đọc một con số độ chính xác được nói kỹ ở bài Độ chính xác của AI nghĩa là gì.
Hệ thống đo được những gì?
Thời gian dọn bàn — từ lúc khách rời tới lúc bàn sạch. Con số trực tiếp nhất, và là con số mà lời nhắc tác động vào.
Thời gian bàn trống — từ lúc bàn sạch tới lúc có khách mới. Con số này nói về lượng khách, không nói về nhân viên.
Thời gian khách ngồi tại bàn — bao lâu là một lượt. Đây là cơ sở để tính được một ngày một cái bàn phục vụ được bao nhiêu lượt.
Phân bố theo khung giờ — khung nào đông, khung nào vắng, và điều đó khác nhau thế nào giữa các chi nhánh và các ngày trong tuần.
Ba con số đầu là về từng lượt. Con số thứ tư mới là thứ thay đổi cách tổ chức làm việc, vì nó cho biết nên bố trí người vào lúc nào.
Chuyện đánh giá nhân viên, nói thẳng
Con số thời gian dọn bàn dùng được để đánh giá nhân viên, và trong thực tế nhiều nơi dùng nó như vậy — đưa vào chỉ tiêu công việc của bộ phận phục vụ.
Tôi không phản đối điều đó. Nhưng tôi muốn nêu một lưu ý, và đây là quan điểm cá nhân của tôi chứ không phải kết luận từ số liệu nào:
Nên dùng con số này để tìm chỗ nghẽn trước, rồi mới nói tới cá nhân. Bàn lâu được dọn vào khung mười hai giờ trưa thường không phải vì người làm chậm, mà vì khung đó không đủ người, hoặc vì việc phân công khu vực chưa rõ. Nếu đọc số liệu mà bỏ qua tầng đó, kết luận sẽ sai.
Và một cảnh báo thực tế: chỉ tiêu nào đo được thì cũng lách được. Nếu con số chỉ dùng để phạt, sẽ có người tìm cách làm cho bàn trông như đã dọn mà chưa dọn xong. Lúc đó số liệu vừa mất giá trị vừa gây hại, vì nó vẫn trông đẹp.
Cách dùng bền hơn là nói rõ với nhân viên ngay từ đầu rằng hệ thống tồn tại để báo cho họ biết bàn nào vừa trống — điều mà họ không tự nhìn thấy được — và để bộ phận quản lý biết chỗ nào thiếu người. Khi hiểu như vậy thì đây là công cụ hỗ trợ, và người ta hợp tác.
- Tìm chỗ nghẽn trước, rồi mới nói tới cá nhân
- Nói rõ mục đích với nhân viên ngay từ đầu
- Báo cho nhân viên bàn nào vừa trống
- Cho quản lý biết chỗ nào thiếu người
- Chỉ dùng con số để phạt
- Bỏ qua khung giờ và việc phân công khi đọc số
- Để nhân viên lách chỉ tiêu, số liệu đẹp mà sai
Hệ thống không làm được gì?
Không dọn bàn. Nghe buồn cười nhưng đáng nói: nếu giờ cao điểm không đủ người, lời nhắc chỉ làm rõ hơn việc thiếu người chứ không giải quyết.
Không đánh giá chất lượng dọn. Nó biết bàn đã hết bát đĩa, không biết mặt bàn đã được lau hay chưa.
Không biết vì sao khách ngồi lâu. Một lượt ngồi lâu có thể là khách hài lòng, có thể là đồ ra chậm. Con số không phân biệt được hai chuyện đó.
Không chạy đúng nếu bàn bị che khuất. Đây là điều kiện tiên quyết: camera phải nhìn rõ toàn bộ các bàn. Bàn nào bị cột, vách ngăn hay đèn trang trí che thì số liệu của bàn đó không dùng được. Việc này phải khảo sát từng chi nhánh trước khi ký, vì mỗi nhà hàng bố trí một kiểu.
Không thay được việc phân công. Nếu không rõ ai phụ trách khu nào, lời nhắc sẽ đến với tất cả mọi người, và việc gì của tất cả mọi người thì thường không là việc của ai.
- Báo bàn nào vừa có khách rời đi
- Nhắc khi bàn quá thời gian chưa dọn
- Đo thời gian dọn bàn, bàn trống, khách ngồi
- Cho thấy phân bố theo khung giờ
- Dọn bàn thay người
- Biết mặt bàn đã được lau hay chưa
- Biết vì sao khách ngồi lâu
- Chạy đúng khi bàn bị che khuất
- Thay việc phân công khu vực
Có số liệu rồi thì đổi cái gì?
Phần này tôi không viết từ một dự án cụ thể. Nhà hàng dùng số liệu để điều chỉnh tham số vận hành của riêng họ, và đó là chuyện nội bộ mà tôi không tiếp cận và cũng không nên tiếp cận.
Những gợi ý dưới đây là suy luận của tôi từ chính các con số hệ thống tạo ra, không phải điều tôi quan sát được ở đâu:
Bố trí người theo khung giờ thật, thay vì theo ca cố định. Nếu số liệu cho thấy áp lực dồn vào một khung hẹp, việc tăng người đúng khung đó hiệu quả hơn tăng người cả ca.
Phân lại khu vực phụ trách. Nếu một cụm bàn luôn có thời gian dọn dài hơn hẳn, nên xem cụm đó có nằm xa khu tập kết bát đĩa không.
Tính lại số lượt một bàn phục vụ được trong ngày. Có thời gian ngồi và thời gian trống thì tính được con số này, và nó là cơ sở để đánh giá mặt bằng và bố trí bàn ghế.
So sánh giữa các chi nhánh. Chi nhánh nào lệch hẳn khỏi phần còn lại là chỗ đáng đi xem tận nơi.
Đặt mốc mục tiêu dựa trên số thật của chính mình, thay vì lấy một con số nghe hợp lý. Số liệu ba tháng đầu chính là mốc nền.
Cần gì để triển khai?
Bốn điều kiện:
- Camera nhìn rõ tất cả các bàn, không bị che. Đây là điều kiện quan trọng nhất và là thứ quyết định dự án có dùng được không.
- Vị trí lắp không phá thẩm mỹ của không gian ăn uống.
- Có nơi nhận lời nhắc mà nhân viên thật sự nhìn thấy trong lúc làm việc.
- Có người đọc báo cáo và làm gì đó với nó. Không có thì chỉ còn phần nhắc nhở, và như vậy là dùng một phần nhỏ giá trị.
Ba câu nên hỏi nhà cung cấp — kể cả chúng tôi
Khoảng chờ trước khi tính là khách đã rời bàn đặt bao nhiêu, và đổi được không? Con số này quyết định hệ thống báo nhầm nhiều hay ít, và mỗi nhà hàng cần một giá trị khác nhau.
Bàn nào trong sơ đồ của chúng tôi bị che khuất, và các anh xử lý thế nào? Nên hỏi câu này khi khảo sát, không phải sau khi lắp.
Số liệu xuất ra được dưới dạng nào, và chúng tôi có toàn quyền với nó không? Đây là tài sản dài hạn của chuỗi.
Câu hỏi thường gặp
Có dùng được camera an ninh sẵn có không?
Nhiều trường hợp được, nếu góc nhìn bao quát được các bàn. Nhưng camera an ninh thường lắp để nhìn lối ra vào và quầy thu ngân, không phải để nhìn mặt bàn. Nên khảo sát từng chi nhánh rồi mới kết luận.
Hệ thống có ghi hình khách không?
Đây là câu nên làm rõ với nhà cung cấp và ghi vào hợp đồng. Bài toán ở đây chỉ cần biết có người ngồi tại bàn hay không, không cần biết người đó là ai. Nên yêu cầu rõ hệ thống lưu gì, lưu bao lâu, ai xem được — và nên yêu cầu bằng văn bản chứ không bằng lời hứa bảo mật chung chung.
Bao lâu thì có số liệu dùng được?
Phần nhắc nhở chạy được gần như ngay. Phần thống kê thì cần vài tuần tới vài tháng để tích luỹ đủ mà nhìn ra quy luật theo khung giờ và theo ngày trong tuần. Đừng kết luận sau hai tuần.
Nhà hàng nhỏ, ít bàn thì có đáng làm không?
Giá trị nhắc nhở thì ít bàn cũng có, nhưng ít bàn thì nhân viên cũng dễ tự quan sát hơn. Giá trị lớn nhất của ứng dụng này nằm ở nhà hàng nhiều bàn, nhiều khu, và ở chuỗi nhiều chi nhánh — nơi người quản lý không thể có mặt ở mọi chỗ.
Có liên quan gì tới việc giám sát quầy đồ ăn không?
Cùng một hướng: dùng camera để đo một thứ đang diễn ra mà không ai ghi lại được. Tôi viết riêng về bài toán quầy ở bài Giám sát quầy đồ ăn bằng AI, và về một dự án đếm đồ trên băng chuyền ở bài Khách hỏi đếm món, chúng tôi đề nghị đổi đĩa.
Nếu anh chị đang vận hành nhà hàng hoặc một chuỗi và muốn biết mặt bằng của mình có hợp để làm việc này không, gửi email cho tôi:
Tôi trả lời tất cả, và không gửi tài liệu quảng cáo.