C cenaly.com
무료로 시작하기

수요 예측

요일별 중앙값, 식재료 준비 계획, 발주서 초안 및 '19:00 품절' 위험 관리

On this page 12

수요 예측

요리사는 매일 아침 같은 질문에 답합니다: 무엇을 얼마나 준비할지. 구매 담당자는 그 옆의 질문에 답합니다: 무엇을 얼마나 주문할지. 보통 둘 다 기억에 의존해 답합니다.

관리자 패널 → 재고 → “예측” 탭(admin.cenaly.com/inventory)을 여십시오. 이 탭은 판매 이력을 가져와 세 가지 구체적인 결과물로 바꿉니다. 화면의 순서는 긴급도에 따릅니다: 맨 위에는 오늘 안에 떨어질 위험이 있는 것, 아래에는 준비 계획, 더 아래에는 공급업체 주문 초안이 있습니다. 위험 항목이 없으면 맨 위 블록은 아예 나타나지 않습니다. 맨 아래에는 접힌 참고 자료로 “요리별 예측” 표가 있는데, 숫자를 확인하고 싶어지기 전까지는 보지 않아도 됩니다.


예측은 어떻게 계산됩니까#

요리사에게 말로 설명할 수 있는 통계는 정확히 두 가지입니다:

  1. 이 요리가 해당 요일에 보통 얼마나 팔리는지. 이력 기간은 8주(56일)입니다. 점 추정치는 평균이 아니라 중앙값입니다: 8번의 화요일 중 하나가 40명 규모의 생일이었다면, 평균은 매주 “40인분 준비하라”고 말하지만 중앙값은 그 화요일을 무시합니다. 참고 표 “요리별 예측”에는 숫자 옆에 정직한 관측값의 범위(최소–최대), 표본에 관측값이 몇 개인지, 그리고 피크 — 판매 비중이 가장 큰 시간대 — 가 표시됩니다. 탭 상단에는 계산 근거가 적혀 있습니다: “56일 동안 같은 요일의 중앙값 · 이력 N영업일”.
  2. 이 수요가 하루 안에서 어떻게 분포하는지 — 시간대별 비중: 아침(6–11), 점심(11–16), 저녁(16–23), 밤(23–6). 경계는 모든 매장에 동일하며, 프로필 자체는 화요일별로 따로가 아니라 전체 이력 일수를 한꺼번에 기준으로 계산됩니다.

무엇을 관측값으로 보는지도 의식적으로 정해져 있습니다: 취소된 주문은 이력에 포함되지 않습니다; 오늘의 아직 닫히지 않은 날은 표본에 들어가지 않습니다; 요리가 처음 팔리기 전의 날은 0으로 계산되지 않습니다(신메뉴는 메뉴에 없던 주간에 대해 “판매 0”을 받지 않습니다); “판매가 없는 날”과 “매장이 문을 닫은 날”은 다릅니다. 하루는 지점의 시간대 기준으로 계산됩니다. 계산에는 지점의 매출 기준 상위 500개 항목이 포함되며 — 메뉴의 긴 꼬리는 잘려 나갑니다.

같은 요일에 대한 관측값이 세 개 미만이면 숫자가 나오지 않습니다. 표에는 숫자 대신 줄표가 들어가고, 관측값 열에는 “부족”이라는 표시가 붙습니다. 이런 요리는 준비 계획과 구매에 아예 포함되지 않습니다. 믿을 수 없는 예측은 없는 것보다 나쁩니다: 그것에 따라 준비하고 구매하기 때문입니다.

상단의 전환 스위치는 예측을 어느 날 기준으로 세울지 선택합니다 — 오늘 또는 내일.


준비 계획#

요리별 예측은 테크 카드를 통해 상품 및 반제품 소요량으로 전개됩니다. 전개는 탭을 여는 시점의 현재 테크 카드를 기준으로 합니다 — 셰프가 아침에 레시피를 바꿨다면 계획에 반영됩니다(옆 창에서 한 수정은 페이지 새로고침으로 반영됩니다).

중첩된 반제품은 깊이 전개됩니다: 소스를 육수로 끓이고 육수도 반제품이라면 둘 다 계획에 포함됩니다 — 그렇지 않으면 요리사에게 소스를 끓이라고 하면서 그 소스에 육수가 없다는 것을 말해주지 않은 셈이 됩니다. 중첩 깊이는 다섯 단계로 제한됩니다(서로를 순환 참조하는 레시피로부터도 보호됩니다): 그보다 깊은 것은 모두 원재료로 간주되어 준비 계획이 아니라 구매로 넘어갑니다.

계획 표:

열 의미
상품명 생산해야 할 반제품
잔량 이미 있는 양
필요 하루 예측에 따른 총 소요량
생산 부족분 — 실제로 끓이거나 잘라야 할 양
기한 잔량이 부족해지기 시작하는 시각

기한은 “근무 시작”이 아닙니다. 소스가 아침에는 충분하지만 점심에는 부족하다면, 요리사는 6:00이 아니라 11:00까지 맞춰야 합니다. 시각은 가장 가까운 시간대 경계(6:00, 11:00, 16:00, 23:00)로 반올림되며, 중첩된 반제품에는 기한이 아예 없습니다 — 거기에는 줄표가 있습니다: 그것들은 그것으로 만드는 것 “이전에” 끓입니다. 행은 기한순으로 정렬됩니다: 마감이 이를수록 목록에서 위에 있습니다. 준비할 것이 없으면 탭은 그대로 표시합니다: 잔량이 예측에 충분합니다.

반제품 잔량은 한 번만 소모됩니다: 같은 육수가 소스에도 들어가고 수프에도 들어간다면, 순진한 계산은 잔량을 두 번 적용하여 구매가 원재료를 부족하게 잡았을 것입니다.

“근무 보드로” 버튼은 계획을 작업 체크리스트로 바꿉니다 — 근무 작업 보드를 참조하십시오. “준비 계획 — <날짜>”라는 공통 작업 하나가 생성되고, 각 준비 항목은 제목에 수량과 시각이 바로 들어간 하위 작업이 됩니다(“데미글라스 소스 — 11:00까지 16개”); 공통 작업은 모든 하위 작업이 닫혀야만 닫을 수 있습니다. 다시 누르면 중복이 생기지 않습니다: 해당 날짜의 계획이 이미 보드에 있으면 버튼이 그렇게 알려줍니다.

테크 카드가 없는 요리는 계획에 포함되지 않으며 별도의 경고로 나열됩니다(최대 20개 이름): 그것들에 대해서는 예측이 아무것도 말할 수 없으며, 주문이 완전한 척하는 것보다 이를 소리 내어 말하는 것이 낫습니다.


공급업체 주문 초안#

계획 아래에는 선택한 충당 기간(필드 “충당, 일”: 보통 납품 기간에 여유분을 더한 값, 기본값 3일, 1일에서 30일까지 허용)에 대한 구매 초안이 있습니다.

각 상품마다 두 가지 값이 계산되며, 더 큰 값이 선택됩니다:

  • 기간 동안의 예측 수요에서 현재 잔여량을 뺀 값;
  • 목표 잔여량까지의 보충(상품에 목표 잔여량이 지정되지 않은 경우 주문점까지) — 일반적인 재고 로직입니다.

왜 하나 대신 다른 것이 아니라 더 큰 값인가: 안전 재고는 두 배로 붐비는 내일 금요일을 알지 못하고, 예측은 테크 카드에 아예 포함되지 않는 상품(포장재, 소모품)을 알지 못합니다 — 이런 상품에게는 재고 기준이 유일한 지침입니다. 두 번째 규칙으로 목록에 포함된 행은 “주문점 기준”으로 표시됩니다. 주의하세요: 규칙은 목표 잔여량을 보므로, 주문점보다는 높지만 목표보다 낮은 상품도 초안에 포함됩니다 — “주문 필요” 탭은 아직 이런 상품을 표시하지 않습니다.

예측으로 구매하는 것은 최종 재료뿐입니다: 반제품은 예측에 따라 공급업체 주문에 포함되지 않습니다(반제품은 준비 계획에 따라 생산됩니다) — 반제품은 재고 기준에 의해서만 초안에 포함될 수 있습니다.

수량은 상품에 포장 배수가 지정된 경우 그 배수까지 올림 처리됩니다. 행은 공급업체별로 그룹화되며(공급업체가 지정되지 않은 상품은 별도 그룹), 버튼은 각 공급업체마다 별도의 주문을 생성합니다 — 이후에는 창고 섹션의 일반 구매입니다.


“19:00까지 소진”#

탭의 가장 위 블록은 오늘 하루가 끝나기 전 소진 위험입니다: 지금 바로 급한 항목입니다. 현재 잔여량을 시간대 프로필로 계산한 남은 시간 동안의 예상 소비량과 비교하고, 잔여량이 0이 되는 시각을 알려줍니다. 시각을 산출할 수 없으면 해당 행은 지어낸 시간 없이 “오늘 하루가 끝나기 전에는 부족합니다”라고 솔직하게 표시합니다.

이 블록은 오늘에 대해서만 계산됩니다: “내일”로 전환하면 사라집니다 — 내일에는 “19:00까지 소진” 위험이 존재하지 않습니다.

오늘의 속도 보정: 점심때까지 평소보다 많이 소비했다면 남은 하루에 대한 예상치가 비례적으로 올라가고, 행에 “오늘 속도 ×1.4”와 같은 표시가 나타납니다. 속도는 실제 판매량으로 계산되며(폐기, 손상, 직원 식사는 포함되지 않음), 가장 위험한 상위 십여 개 행에 대해서만 측정됩니다 — 나머지는 일반 프로필로 계산됩니다. 계수는 ×0.5…×2 범위로 제한됩니다 — “오늘 붐빔”에 대한 보정은 필요하지만, 영수증 하나로 예측하는 것은 아닙니다. 속도를 측정할 근거가 전혀 없으면 탭은 요일별 일반 프로필을 사용했다고 솔직하게 알려줍니다.


예측이 나타나려면 필요한 것#

필요 목적 없으면
AWS 환경의 브랜드(cenaly.com, cenaly.com…) 판매 이력을 서버 분석 데이터베이스가 계산하는데, 이는 그곳에만 구축되어 있습니다 cenaly.ru에서는 탭이 항상 “아직 주문 이력이 부족합니다”라고 표시합니다 — 이력에 관한 메시지지만 원인은 다릅니다: 그곳에서는 계산할 수단이 없습니다
판매 이력 요일별 중앙값 계산 “수요를 예측하기에 아직 주문 이력이 부족합니다”
이력에 동일한 요일이 ≥ 3회 표본으로 계산 표의 해당 요리가 “부족”으로 표시되고 계획에 포함되지 않습니다
요리 테크 카드 예측을 상품으로 전개 요리가 “테크 카드 없음” 경고에 포함됩니다
최신 잔여량 부족분과 위험 계산 잔여량이 로드될 때까지 탭은 아무것도 표시하지 않습니다

이력 집계는 서버에서 약 30분에 한 번 재계산됩니다(현재 작업 중인 계정에 대해서만). 테크 카드 전개와 잔여량 차감은 탭을 열 때 현재 데이터로 계산됩니다.


관련 섹션#


자주 묻는 질문#

왜 절반의 요리에 “부족” 표시가 있나요?#

해당 요리들이 이 요일에 이력상 판매가 3회 미만이기 때문입니다 — 예를 들어 요리가 2주 전에 메뉴에 등장한 경우입니다. 관측이 충분해지면 숫자가 저절로 나타납니다. 그전까지 해당 요리는 준비 계획에도, 구매에도 참여하지 않습니다.

왜 평균이 아니라 중앙값을 사용하나요?#

중앙값은 이상치에 강합니다. 40명 규모의 연회 하나가 평균을 밀어올려 업장이 몇 주 동안 과잉 준비를 하게 됩니다. 인터페이스에는 평균이 전혀 표시되지 않습니다 — 중앙값, 분산, 관측 횟수만 표시됩니다.

예측이 날씨, 공휴일, 축구를 고려하나요?#

아니요. 요일과 시간대만 압니다. 연휴 주간과 옆 동네 경기는 여전히 관리자가 머릿속에 담아두어야 합니다 — 그리고 이것이 그것들을 고려한 척하는 모델보다 더 솔직합니다.

일주일 앞을 예측할 수 있나요?#

탭은 오늘과 내일을 표시합니다. 구매를 위해서는 기간이 별도로 “충당, 일” 필드로 지정됩니다: 하루의 예측에 이 값을 곱합니다.

구매 초안이 바로 공급업체에 주문을 보내나요?#

아니요. 이것은 말 그대로 초안입니다: 불필요한 행은 체크박스로 해제하고 나서야 생성을 누릅니다 — “창고” 섹션의 일반 구매 초안이 공급업체당 하나씩 생성됩니다. 수량은 생성된 주문에서, 평소와 같은 곳에서 수정됩니다.

Was this article helpful?