SIMULATION 한 장 · 카페 주문 대기
키오스크를 늘렸는데 왜 커피는 더 빨리 나오지 않을까?
기본 조건(주문 창구 1개, 바리스타 2명, 1시간 동안 손님 약 100명·124잔)에서 손님은 도착부터 음료를 받기까지 평균 16.4분을 기다렸고, 그중 대부분은 주문 줄(13.9분)이었습니다.
키오스크를 2대 더 놓아 주문 창구를 3개로 늘리면 주문 줄 대기는 0.2분으로 거의 사라지지만, 픽업대 앞 대기가 4.6분에서 14.9분으로 늘어 총 대기는 15.7분으로 거의 그대로였습니다. 주문이 빨라진 만큼 바리스타 앞에 주문이 쌓였을 뿐입니다. 모바일 주문을 50%로 늘려도 총 대기는 15.6분이었습니다.
주문 창구와 바리스타를 함께 늘려야 총 대기가 6.4분으로 크게 줄었습니다. 줄이 두 단계일 때는 느린 쪽 하나만 고치면 병목이 다음 단계로 옮겨 갈 뿐입니다.
무엇을 시뮬레이션하나요?
점심 직후 카페에서 주문은 금방 했는데 픽업대 앞에서 한참 서 있던 경험이 있다면, 그게 바로 병목이 옮겨 간 모습입니다. 이 시뮬레이터는 직장가 카페의 12:20~13:20을 재현합니다. 손님은 12:40 무렵 가장 많이 오고, 주문 줄에 서서 비는 창구에서 주문한 뒤, 바리스타가 음료를 다 만들 때까지 픽업대 앞에서 기다립니다.
왼쪽 패널에서 손님 몰림 정도, 주문 창구 수, 바리스타 수, 음료 1잔 제조 시간, 모바일 주문 비율을 바꿀 수 있습니다. 모바일로 미리 주문한 손님은 주문 줄을 건너뛰고 바로 제조 대기열에 들어갑니다.
시나리오별 결과
| 시나리오 | 주문 줄 평균 대기 | 주문 후 음료 받기까지 평균 | 도착부터 음료까지 평균 | 주문 줄 최대 | 픽업 대기 최대 |
|---|---|---|---|---|---|
| 기본 (창구 1 · 바리스타 2) | 13.9분 | 4.6분 | 16.4분 | 34.6명 | 12.6명 |
| 키오스크 추가 (창구 3) | 0.2분 | 14.9분 | 15.7분 | 7.2명 | 43.1명 |
| 바리스타 3명 | 13.9분 | 1.3분 | 13분 | 34.6명 | 5.4명 |
| 창구 3 + 바리스타 3 | 0.2분 | 5.6분 | 6.4분 | 7.2명 | 26.3명 |
| 모바일 주문 50% | 4.2분 | 13분 | 15.6분 | 12.7명 | 35.3명 |
| 제조 시간 45초 | 13.9분 | 1.2분 | 13분 | 34.6명 | 5.7명 |
각 시나리오를 손님 흐름(난수 시드)만 바꿔 30번씩 돌린 평균입니다. 시나리오 이름을 누르면 같은 조건으로 위 시뮬레이터가 열립니다.
기본 (창구 1 · 바리스타 2) · 키오스크 추가 (창구 3) · 바리스타 3명 · 창구 3 + 바리스타 3 · 모바일 주문 50% · 제조 시간 45초
어떻게 계산하나요?
이 모델은 두 단계가 이어진 대기행렬(직렬 대기열)을 이산사건 시뮬레이션으로 계산합니다.
- 도착: 1시간 동안 약 100명(1.0배)이 옵니다. 75%는 12:40 전후(표준편차 9분)에 몰리고 25%는 고르게 옵니다. 80%는 한 잔, 15%는 두 잔, 5%는 세 잔을 시킵니다.
- 1단계 주문: 한 줄로 서서 비는 창구로 갑니다. 주문·결제는 평균 약 45초입니다.
- 2단계 제조: 주문이 들어온 순서대로, 비는 바리스타가 한 잔씩 만듭니다. 한 잔 제조 시간은 설정값을 가장 흔한 값으로 하는 삼각분포입니다. 손님은 자기 음료가 모두 나와야 떠납니다.
각 단계가 한 시간에 처리할 수 있는 양을 비교하면 병목이 보입니다. 바리스타 2명이 60초에 한 잔씩 만들면 1시간에 약 120잔, 주문 창구 1개는 1시간에 약 80명을 받습니다. 몰리는 20~30분 동안은 둘 다 부족하고, 한쪽만 늘리면 다른 쪽이 새 병목이 됩니다. 줄에 있는 평균 인원은 '들어오는 속도 × 평균 대기 시간'이라는 리틀의 법칙으로도 확인할 수 있습니다.
이 시뮬레이션의 가정
- 12:20~13:20, 1시간을 시뮬레이션합니다. 화면 1초가 50초입니다.
- 바리스타는 한 번에 한 잔씩 만들고, 여러 잔을 동시에 추출하지 않습니다.
- 주문을 마친 손님은 줄을 떠나지 않고 끝까지 음료를 기다립니다.
- 모바일 주문 손님은 주문한 시각에 매장에 도착한다고 봅니다.
- 도착 시각과 처리 시간은 확률분포로 뽑으므로 같은 조건에서도 실행마다 결과가 조금씩 다릅니다.
실제와 다를 수 있는 점
- 실제 바에서는 여러 잔을 묶어서 만들거나 메뉴마다 제조 시간이 크게 다릅니다.
- 줄이 너무 길면 들어오지 않고 돌아가는 손님은 다루지 않습니다.
- 포장·매장 구분, 디저트 준비 같은 다른 작업은 계산하지 않습니다.
자주 묻는 질문
키오스크를 늘리면 커피가 빨리 나오나요?
이 시뮬레이션에서는 거의 그렇지 않았습니다. 주문 창구를 1개에서 3개로 늘리자 주문 줄 대기는 13.9분에서 0.2분으로 줄었지만, 픽업 대기가 14.9분으로 늘어 총 대기는 16.4분에서 15.7분으로 거의 같았습니다.
그럼 바리스타를 늘리면 되나요?
바리스타만 3명으로 늘리면 총 대기가 13분이었습니다. 이번에는 주문 줄이 병목으로 남기 때문입니다. 둘 다 늘렸을 때 6.4분으로 크게 줄었습니다.
모바일 주문은 효과가 있나요?
모바일 주문 비율을 50%로 올리면 주문 줄은 줄지만 같은 바리스타가 같은 양을 만들어야 해서 총 대기는 15.6분이었습니다. 모바일 주문은 줄을 '어디서' 기다리는지를 바꿀 뿐, 바의 처리량을 늘리지는 않습니다.
제조 시간을 줄이는 건요?
한 잔 제조 시간을 60초에서 45초로 줄이면 픽업 대기가 4.6분에서 1.2분으로 줄었습니다. 다만 주문 창구가 1개면 주문 줄이 그대로 남습니다.
결과가 실행할 때마다 다른 이유는?
손님이 오는 시각, 잔 수, 처리 시간을 확률분포에서 뽑기 때문입니다. 본문 표는 같은 조건을 30번 돌린 평균입니다.
참고 자료
- Little's law (Wikipedia)
- Queueing theory (Wikipedia)
- Theory of constraints (Wikipedia) – 병목 개선
- Discrete-event simulation (Wikipedia)
다른 일상 시뮬레이션
마지막 업데이트 2026-10-22 · 만든 곳 데이터팝콘 · 유튜브 @simulation.hanjang · 인스타그램