SIMULATION 한 장 · 마트 계산대
마트 계산대, 왜 내가 선 줄만 유독 늦게 줄어들까?
기본 조건(직원 계산대 4대, 계산대마다 따로 줄)에서 평균 대기는 2.4분이지만, 가장 오래 기다린 손님은 10.3분을 기다렸고, 손님의 36.2%는 나보다 늦게 온 사람이 옆줄에서 먼저 계산을 시작했습니다.
같은 계산대 4대를 한 줄 서기로 바꾸면 평균 대기는 2.2분으로 비슷하지만 최장 대기는 7.7분으로 줄고, 추월당하는 손님은 0%가 됩니다. 평균보다 운 나쁜 사람의 대기가 줄어드는 효과입니다.
물건이 적은 손님을 셀프계산대 3대로 나누면 평균 대기가 0.3분까지 떨어집니다. 손님이 1.2배로 늘면 따로 줄의 최장 대기는 27.1분, 한 줄 서기는 23.1분으로 차이가 더 벌어집니다.
무엇을 시뮬레이션하나요?
마트에서 가장 짧아 보이는 줄에 섰는데 옆줄이 먼저 줄어드는 경험은 흔합니다. 앞사람 카트에 물건이 산더미이거나, 결제에서 시간이 걸리면 내 줄만 멈춥니다. 이 시뮬레이터는 주말 11시부터 15시까지 직원 계산대 4대에 손님이 몰리는 상황을 재현합니다.
왼쪽 패널에서 계산대 수, 줄 서는 방식, 셀프계산대 수, 장바구니 크기, 손님 몰림을 바꿀 수 있습니다. 화면에서 빨간색으로 바뀌는 사람은 아직 기다리는 중인데, 자기보다 늦게 도착한 손님이 이미 다른 줄에서 계산을 시작한 경우입니다.
시나리오별 결과
| 시나리오 | 평균 대기 시간 | 10명 중 가장 오래 기다린 1명 (상위 10%) | 가장 오래 기다린 손님 | 10분 넘게 기다린 손님 | 나보다 늦게 온 손님이 먼저 계산한 비율 |
|---|---|---|---|---|---|
| 기본 (4대·따로 줄) | 2.4분 | 6.2분 | 10.3분 | 15명 | 36.2% |
| 한 줄 서기 | 2.2분 | 5.8분 | 7.7분 | 10명 | 0% |
| 따로 줄 + 셀프 3대 | 0.3분 | 1.2분 | 4.1분 | 0명 | 12.8% |
| 직원 계산대 5대 | 0.4분 | 1.5분 | 4.8분 | 0명 | 18.1% |
| 손님 1.2배 | 9.6분 | 20.9분 | 27.1분 | 228명 | 51.1% |
| 손님 1.2배 + 한 줄 서기 | 9.4분 | 20.3분 | 23.1분 | 223명 | 0% |
각 시나리오를 손님 흐름(난수 시드)만 바꿔 30번씩 돌린 평균입니다. 시나리오 이름을 누르면 같은 조건으로 위 시뮬레이터가 열립니다.
기본 (4대·따로 줄) · 한 줄 서기 · 따로 줄 + 셀프 3대 · 직원 계산대 5대 · 손님 1.2배 · 손님 1.2배 + 한 줄 서기
어떻게 계산하나요?
이산사건 시뮬레이션으로 손님 한 명 한 명의 도착, 줄 선택, 계산 시작, 계산 끝 시각을 계산합니다.
- 도착: 13시 무렵이 정점인 비정상 포아송 과정입니다. 1.0배 기준 4시간 동안 약 470명이 옵니다.
- 장바구니: 물건 수는 평균값 주위로 퍼지되 가끔 아주 많은 손님이 섞이는 오른쪽으로 긴 분포입니다.
- 계산 시간: 직원 계산대는 결제 30초 + 물건 1개당 3초, 셀프계산대는 45초 + 1개당 6초에 ±15% 흔들림을 줍니다.
- 따로 줄: 손님은 도착한 순간 사람이 가장 적은 줄을 고르고, 한번 서면 줄을 옮기지 않습니다. 앞사람들의 장바구니 크기는 미리 알 수 없습니다.
- 한 줄 서기: 줄 하나에서 기다리다 먼저 비는 계산대로 갑니다. 도착 순서대로 계산이 시작됩니다.
- 셀프계산대: 물건 15개 이하 손님은 셀프계산대 공용 줄로 갑니다.
"나보다 늦게 온 손님이 먼저 계산한 비율"은 직원 계산대 손님 중, 자기보다 늦게 도착한 손님이 자기보다 먼저 계산을 시작한 경우의 비율입니다.
이 시뮬레이션의 가정
- 11:00~15:00, 4시간을 시뮬레이션합니다. 화면 1초가 3분입니다.
- 따로 줄에서는 사람 수만 보고 줄을 고르고, 줄을 갈아타지 않습니다.
- 계산원 속도는 모두 같고, 계산원 교대·쉬는 시간은 없습니다.
- 줄이 길어도 포기하고 나가는 손님은 없습니다.
- 도착 간격과 장바구니 크기를 확률분포로 뽑으므로 실행마다 결과가 조금씩 다릅니다.
실제와 다를 수 있는 점
- 실제 손님은 앞사람 카트를 보고 줄을 고르거나 중간에 옮깁니다. 이 모델보다 따로 줄의 불공평이 덜할 수 있습니다.
- 한 줄 서기는 계산대까지 걸어가는 시간이 생기는데, 이 모델에는 반영하지 않았습니다.
- 셀프계산대 오류·직원 호출 시간, 소량 전용 계산대는 넣지 않았습니다.
- 도착 패턴은 가상의 주말 분포이며 특정 매장 실측이 아닙니다.
자주 묻는 질문
왜 내가 선 줄만 늦게 줄어드는 것 같나요?
줄이 여러 개면 그중 하나가 가장 빠를 뿐, 내 줄이 가장 빠를 확률은 줄 수만큼 낮습니다. 이 시뮬레이션 기본 조건에서도 손님의 36.2%는 자기보다 늦게 온 사람이 옆줄에서 먼저 계산을 시작했습니다.
한 줄 서기가 정말 더 빠른가요?
평균만 보면 큰 차이가 없습니다(따로 줄 2.4분, 한 줄 2.2분). 차이는 운 나쁜 손님에게서 납니다. 최장 대기가 10.3분에서 7.7분으로 줄고, 늦게 온 사람에게 추월당하는 일이 없습니다.
그럼 왜 마트는 한 줄 서기를 잘 안 하나요?
계산대 앞까지 걷는 시간, 긴 줄을 세울 공간, 줄이 길어 보이는 효과 등 현실적인 이유가 있습니다. 이 시뮬레이터는 공간과 걷는 시간을 계산하지 않으므로, 실제로는 한 줄 서기의 이점이 조금 줄어듭니다.
계산대를 1대 더 여는 것과 셀프계산대 중 무엇이 효과가 큰가요?
이 조건에서는 직원 계산대 5대가 평균 0.4분, 따로 줄 4대 + 셀프 3대가 평균 0.3분이었습니다. 물건이 적은 손님이 많을수록 셀프계산대의 효과가 커집니다.
결과가 실행할 때마다 다른 이유는요?
손님 도착과 장바구니 크기를 확률분포에서 뽑기 때문입니다. 본문 표는 같은 조건을 30번 돌린 평균입니다.
참고 자료
- Queueing theory (Wikipedia)
- M/M/c queue (Wikipedia)
- Self-checkout (Wikipedia)
- Discrete-event simulation (Wikipedia)
다른 일상 시뮬레이션
마지막 업데이트 2026-10-22 · 만든 곳 데이터팝콘 · 유튜브 @simulation.hanjang · 인스타그램