M meni.ge
🍽️ დარბაზი, სამზარეულო და აღრიცხვა

🔮 მოთხოვნის პროგნოზი

მედიანა კვირის დღის მიხედვით, მომზადების გეგმა, შესყიდვის შავი ვარიანტი და რისკი „ამოიწურება 19:00-ისთვის“

დოკუმენტაცია

მოთხოვნის პროგნოზი

მზარეული ყოველ დილით ერთსა და იმავე კითხვას პასუხობს: რამდენი რა მომზადდეს წინასწარ. შემსყიდველი — მომიჯნავეს: რამდენი რა შეუკვეთოს. ჩვეულებრივ, ორივე მეხსიერებით პასუხობს.

გახსენით ადმინ-პანელი → საწყობი → ჩანართი „პროგნოზი“ (admin.meni.ge/inventory). ჩანართი იღებს გაყიდვების ისტორიას და გარდაქმნის მას სამ კონკრეტულ შედეგად. ეკრანზე თანმიმდევრობა გადაუდებლობის მიხედვითაა: ზემოთ ის, რაც დღის ბოლომდე ამოწურვის რისკის ქვეშაა, ქვემოთ — მომზადების გეგმა, კიდევ უფრო ქვემოთ — მომწოდებლის შეკვეთის მონახაზი. თუ რისკის შემცველი პოზიციები არ არის, ზედა ბლოკი საერთოდ არ გამოჩნდება. სულ ბოლოში, ჩაკეცილი ცნობის სახით, მოცემულია ცხრილი „პროგნოზი კერძების მიხედვით“ — შეგიძლიათ არ შეხედოთ მას, სანამ ციფრის გადამოწმება არ მოგინდებათ.

ხელმისაწვდომია AWS ბრენდებზე (cenaly.com, meni.ge და სხვა), cenaly.ru-ზე — არა. პლატფორმის ანალიტიკური ბაზა, რომელიც პროგნოზისთვის გაყიდვების ისტორიას ითვლის, რუსულ კონტურში არ არის გაშვებული. თავად ჩანართი „პროგნოზი“ იქ იხსნება, მაგრამ ყოველთვის აჩვენებს „შეკვეთების ისტორია ჯერჯერობით არასაკმარისია მოთხოვნის საპროგნოზოდ“ — იმის მიუხედავად, თუ რეალურად რამდენი გაყიდვა დაგროვდა.


როგორ ითვლება პროგნოზი

ზუსტად ორი სტატისტიკა, ორივე მზარეულისთვის მარტივად გასაგები:

  1. რამდენი იყიდება ჩვეულებრივ ეს კერძი კვირის ამ დღეს. ისტორიის ფანჯარა — 8 კვირა (56 დღე). წერტილოვანი შეფასება — მედიანა და არა საშუალო: რვა სამშაბათიდან ერთ-ერთი თუ 40-კაციანი დაბადების დღე იყო, საშუალო არითმეტიკული გეტყვით «მოამზადე 40-ზე» ყოველ კვირას, მედიანა კი ამ სამშაბათს უგულებელყოფს. საცნობარო ცხრილში «პროგნოზი კერძების მიხედვით» რიცხვის გვერდით ნაჩვენებია დაკვირვებების რეალური გაფანტვა (მინიმუმი–მაქსიმუმი), დაკვირვებების რაოდენობა შერჩევაში და პიკი — დღე-ღამის მონაკვეთი გაყიდვების ყველაზე დიდი წილით. ჩანართის სათაურში მითითებულია გაანგარიშების საფუძველი: «კვირის იმავე დღის მედიანა 56 დღის განმავლობაში · ისტორიის N სამუშაო დღე».
  2. როგორ ნაწილდება ეს მოთხოვნა დღის განმავლობაში — წილები დღე-ღამის მონაკვეთების მიხედვით: დილა (6–11), სადილი (11–16), საღამო (16–23), ღამე (23–6). საზღვრები ერთნაირია ყველა ობიექტისთვის, ხოლო თავად პროფილი ითვლება ისტორიის ყველა დღეზე ერთად და არა ცალკე სამშაბათებზე.

ის, თუ რა ითვლება დაკვირვებად, ასევე გააზრებულად არის გადაწყვეტილი: გაუქმებული შეკვეთები ისტორიაში არ შედის; დღევანდელი დაუხურავი დღე შერჩევაში არ ხვდება; კერძის პირველ გაყიდვამდე არსებული დღეები არ ითვლება ნულებად (ახალი პოზიცია არ იღებს «ნულ გაყიდვას» იმ კვირებისთვის, როცა ის ჯერ კიდევ არ იყო მენიუში); «დღე გაყიდვების გარეშე» განსხვავდება «დღისგან, როდესაც ობიექტი დაკეტილი იყო». დღე-ღამე ითვლება ლოკაციის სასაათო სარტყელში. გაანგარიშებაში მონაწილეობს ლოკაციის ტოპ-500 პოზიცია ბრუნვის მიხედვით — მენიუს გრძელი კუდი იჭრება.

არანაირი მანქანური სწავლება (Machine Learning) — და ეს გადაწყვეტილებაა, და არა დაუსრულებელი საქმე. ერთიდან ათ ობიექტამდე მქონე ბიზნესის ისტორია იზომება ათობით კვირით და არა წლებით, და მას მთლიანად არღვევს ანომალიები: წვიმა, კონცერტი მეზობლად, ერთი ხელგაშლილი მაგიდა. მოდელები ასეთ მონაცემებზე ერგებიან ხმაურს და იძლევიან თავდაჯერებულ რიცხვებს, რომელთა ნდობაც არ შეიძლება.

კვირის ერთი დღის სამზე ნაკლები დაკვირვება — რიცხვი არ იქნება. ცხრილში ციფრის ნაცვლად ჩაიწერება ტირე, ხოლო დაკვირვებების სვეტში — მონიშვნა «ცოტაა». მომზადების გეგმაში და შესყიდვებში ასეთი კერძი საერთოდ არ მოხვდება. პროგნოზი, რომელსაც ვერ ენდობით, არარსებულზე უარესია: მის მიხედვით ამზადებენ და ყიდულობენ პროდუქტებს.

ზედა გადამრთველი ირჩევს, თუ რომელი დღისთვის აშენდეს პროგნოზი — დღეს თუ ხვალ.


მომზადების გეგმა

კერძების პროგნოზი ტექ-რუკების მიხედვით იშლება პროდუქტებისა და ნახევარფაბრიკატების საჭიროებად. გაშლა ხდება ჩანართის გახსნის მომენტში არსებული მიმდინარე ტექ-რუკების მიხედვით — თუ შეფმა დილით რეცეპტურა შეცვალა, გეგმა ამას გაითვალისწინებს (მეზობელ ფანჯარაში შეტანილ ცვლილებას გვერდის განახლება აიტაცებს).

ჩადგმული ნახევარფაბრიკატები სიღრმეში იშლება: თუ სოუსი მზადდება ბულიონისგან, ხოლო ბულიონი ასევე ნახევარფაბრიკატია, გეგმაში ორივე მოხვდება — სხვაგვარად მზარეულს სოუსის მომზადებას დაავალებდნენ ისე, რომ არ ეცოდინებოდა, მისთვის ბულიონი რომ არ არის. ჩადგმის სიღრმე შემოფარგლულია ხუთი დონით (და დაცულია ისეთი რეცეპტურებისგან, რომლებიც ერთმანეთზე წრიულად მიუთითებენ): ყველაფერი, რაც უფრო ღრმაა, ნედლეულად ითვლება და მიდის შესყიდვებში და არა მომზადების გეგმაში.

გეგმის ცხრილი:

სვეტი რას ნიშნავს
საქონლის დასახელება ნახევარფაბრიკატი, რომელიც უნდა მომზადდეს
ნაშთი რამდენი არის უკვე
საჭიროა მთლიანი საჭიროება დღის პროგნოზის მიხედვით
მოსამზადებელია დეფიციტი — რეალურად რამდენი უნდა მოიხარშოს/დაიჭრას
დრომდე საათი, რომლისთვისაც ნაშთი აღარ იქნება საკმარისი

ვადა არ ნიშნავს «ცვლის დაწყებას». თუ სოუსი დილისთვის საკმარისია, მაგრამ სადილისთვის აღარ ჰყოფნის, მზარეულმა 11:00-მდე უნდა მოასწროს და არა 06:00-მდე. საათი მრგვალდება დღე-ღამის მონაკვეთის უახლოეს ზღვრამდე (06:00, 11:00, 16:00, 23:00), ხოლო ჩადგმულ ნახევარფაბრიკატებს ვადა საერთოდ არ აქვთ — იქ ტირე წერია: მათ ამზადებენ მანამ, ვიდრე მათგან რაიმეს მოამზადებდნენ. სტრიქონები დალაგებულია ვადის მიხედვით: რაც უფრო ადრეა დედლაინი — მით უფრო მაღლაა სიაში. თუ მოსამზადებელი არაფერია, ჩანართზე პირდაპირ დაიწერება: ნაშთები პროგნოზისთვის საკმარისია.

ნახევარფაბრიკატის ნაშთი იხარჯება ერთხელ: თუ ერთი და იგივე ბულიონი შედის როგორც სოუსში, ისე წვნიანში, მარტივი გათვლა ნაშთს ორჯერ გამოიყენებდა და შესყიდვებში ნედლეული დააკლდებოდა.

ღილაკი «ცვლის დაფაზე» გეგმას ამოცანების ჩეკ-ლისტად აქცევს — იხ. ცვლის ამოცანების დაფა. იქმნება ერთი საერთო ამოცანა «მომზადების გეგმა — <თარიღი>», ხოლო თითოეული მომზადება ხდება მისი ქვედავალება რაოდენობითა და საათით პირდაპირ სათაურში («სოუსი დემიგლასი — 16 ცალი 11:00-მდე»); საერთო ამოცანის დახურვა შესაძლებელია მხოლოდ მაშინ, როდესაც ყველა ქვედავალება დახურულია. განმეორებითი დაჭერა დუბლიკატებს არ ქმნის: თუ ამ თარიღის გეგმა უკვე დევს დაფაზე, ღილაკი ამას პირდაპირ შეგატყობინებთ.

კერძები ტექ-რუკის გარეშე გეგმაში არ შედის და ცალკე გაფრთხილების სახით ჩამოითვლება (20-მდე დასახელება): მათზე პროგნოზი ვერაფერს იტყვის, და სჯობს ეს პირდაპირ ითქვას, ვიდრე თავი მოვაჩვენოთ, თითქოს შეკვეთა სრულია.


მომწოდებლის შეკვეთის მონახაზი

გეგმის ქვემოთ მოცემულია შესყიდვის მონახაზი დაფარვის არჩეული ჰორიზონტისთვის (ველი „დაფარვა, დღეები“: ჩვეულებრივ მიწოდების ვადას პლუს მარაგი; ნაგულისხმევად 3 დღე, დასაშვებია 1-დან 30-მდე).

თითოეული საქონლისთვის გამოითვლება ორი მნიშვნელობა და აიღება მეტი:

  • მოთხოვნა პროგნოზის მიხედვით ჰორიზონტისთვის მინუს მიმდინარე ნაშთი;
  • შევსება სამიზნე ნაშთამდე (ხოლო თუ ის საქონლისთვის მითითებული არ არის — შეკვეთის წერტილამდე) — ჩვეულებრივი სასაწყობო ლოგიკა.

რატომ მეტი და არა ერთი მეორის ნაცვლად: სადაზღვევო მარაგმა არ იცის ხვალინდელი პარასკევის შესახებ ორმაგი დატვირთვით; პროგნოზმა კი არ იცის იმ საქონლის შესახებ, რომელიც საერთოდ არ მონაწილეობს რეცეპტებში (შეფუთვა, სახარჯი მასალები) — მათთვის სასაწყობო ნორმატივები ერთადერთი ორიენტირია. მეორე წესით სიაში მოხვედრილი სტრიქონები მონიშნულია როგორც „შეკვეთის წერტილით“. გაითვალისწინეთ: წესი უყურებს სამიზნე ნაშთს, ამიტომ მონახაზში მოხვდება საქონელიც, რომელიც ჯერ კიდევ შეკვეთის წერტილზე მაღლაა, მაგრამ სამიზნეზე დაბლა — ჩანართი „შესაკვეთია“ ასეთ საქონელს ჯერ არ აჩვენებს.

პროგნოზის მიხედვით შეისყიდება მხოლოდ საბოლოო ინგრედიენტები: ნახევარფაბრიკატები პროგნოზით მომწოდებლის შეკვეთაში არ ხვდება (ისინი მზადდება დამზადების გეგმის მიხედვით) — ისინი მონახაზში შეიძლება მოხვდნენ მხოლოდ სასაწყობო ნორმატივით.

რაოდენობა მრგვალდება ზემოთ შეფუთვის ჯერადობამდე, თუ ის მითითებულია საქონლისთვის. სტრიქონები დაჯგუფებულია მომწოდებლების მიხედვით (საქონელი მიუთითებელი მომწოდებლით — ცალკე ჯგუფად), ხოლო ღილაკი ქმნის ცალკე შეკვეთას თითოეულ მომწოდებელზე — შემდგომში ეს არის ჩვეულებრივი შესყიდვები განყოფილებიდან საწყობი.


„ამოიწურება 19:00-ისთვის“

ჩანართის ყველაზე ზედა ბლოკია — დღის ბოლომდე ამოწურვის რისკი: ის, რაც პირდაპირ ახლა იწვის. იგი ადარებს მიმდინარე ნაშთს დარჩენილი საათების მოსალოდნელ ხარჯვასთან, რომელიც დათვლილია დღის მონაკვეთების პროფილის მიხედვით, და ასახელებს საათს, რომლისთვისაც ნაშთი განულდება. თუ საათის განსაზღვრა ვერ ხერხდება, სტრიქონი პირდაპირ ამბობს „დღის ბოლომდე არ ეყოფა“, გამოგონილი დროის გარეშე.

ბლოკი ითვლება მხოლოდ დღევანდელი დღისთვის: „ხვალ“-ზე გადართვისას ის ქრება — ხვალინდელ დღეს „ამოიწურება 19:00-ისთვის“ რისკი არ გააჩნია.

შესწორება დღევანდელ ტემპზე: თუ სადილობისთვის ჩვეულებრივზე მეტი უკვე დაიხარჯა, დღის დარჩენილი ნაწილის მოლოდინი პროპორციულად იზრდება და სტრიქონში ჩნდება აღნიშვნა, მაგალითად: „დღის ტემპი ×1.4“. ტემპი ითვლება ფაქტობრივი გაყიდვების მიხედვით (ჩამოწერები, გაფუჭება და პერსონალის კვება მასში არ შედის) და იზომება პირველი ათზე ცოტა მეტი ყველაზე რისკიანი სტრიქონისთვის — დანარჩენები ითვლება ჩვეულებრივი პროფილის მიხედვით. კოეფიციენტი შეზღუდულია ×0.5…×2 დიაპაზონში — შესწორება „დღეს ხალხმრავლობააზე“ საჭიროა, ხოლო პროგნოზი ერთი ქვითრის მიხედვით — არა. თუ ტემპის გასაზომად მონაცემი საერთოდ არ არის, ჩანართი პირდაპირ იტყვის, რომ აღებულია კვირის დღის ჩვეულებრივი პროფილი.


რა არის საჭირო, რომ პროგნოზი გამოჩნდეს

საჭიროა რისთვის ამის გარეშე
ბრენდი AWS-ის კონტურზე (cenaly.com, meni.ge…) გაყიდვების ისტორიას სერვერული ანალიტიკური ბაზა ითვლის, ის კი მხოლოდ იქ არის გაშვებული cenaly.ru-ზე ჩანართი ყოველთვის წერს „შეკვეთების ისტორია ჯერ ცოტაა“ — შეტყობინება ისტორიაზეა, მაგრამ მიზეზი სხვაა: იქ მისი დათვლის საშუალება არ არის
გაყიდვების ისტორია კვირის დღის მიხედვით მედიანის დასათვლელად „შეკვეთების ისტორია ჯერ ცოტაა მოთხოვნის პროგნოზირებისთვის“
ისტორიაში კვირის ≥ 3 ერთნაირი დღე შერჩევად რომ ჩაითვალოს კერძი ცხრილში მონიშნულია როგორც „ცოტაა“ და გეგმებში არ ხვდება
კერძების ტექ-ბარათები პროგნოზის საქონელში გასაშლელად კერძი მოხვდება გაფრთხილებაში „ტექ-ბარათის გარეშე“
აქტუალური ნაშთები დეფიციტის და რისკის დასათვლელად ჩანართი არაფერს აჩვენებს, სანამ ნაშთები არ ჩაიტვირთება

ისტორიის აგრეგატი სერვერზე გადაითვლება დაახლოებით ნახევარ საათში ერთხელ (და მხოლოდ იმ ანგარიშებისთვის, რომლებიც ამჟამად მუშაობენ); ტექ-ბარათების გაშლა და ნაშთების გამოკლება ითვლება ჩანართის გახსნის მომენტში, მიმდინარე მონაცემების მიხედვით.


დაკავშირებული განყოფილებები


ხშირად დასმული კითხვები

რატომ აქვს კერძების ნახევარს აღნიშვნა „ცოტაა“?

იმიტომ, რომ ამ კერძებზე ისტორიაში კვირის ამ დღეს სამ გაყიდვაზე ნაკლები ფიქსირდება — მაგალითად, კერძი მენიუში ორი კვირის წინ გამოჩნდა. რიცხვი თავისით გამოჩნდება, როდესაც დაკვირვებების რაოდენობა საკმარისი გახდება; მანამდე კერძი არ მონაწილეობს არც მომზადების გეგმაში და არც შესყიდვაში.

რატომ გამოიყენება მედიანა და არა საშუალო?

მედიანა მდგრადია მკვეთრი გადახრების მიმართ. ერთი ბანკეტი 40 ადამიანზე საშუალო მაჩვენებელს ისე ცვლის, რომ ობიექტი კვირების განმავლობაში ზედმეტს ამზადებს. საშუალო ინტერფეისში საერთოდ არ ჩანს — მხოლოდ მედიანა, გაფანტულობა და დაკვირვებების რაოდენობა.

ითვალისწინებს თუ არა პროგნოზი ამინდს, დღესასწაულებს, ფეხბურთს?

არა. მან იცის მხოლოდ კვირის დღე და დღის მონაკვეთი. სადღესასწაულო კვირას და სამეზობლოში დაგეგმილ მატჩს კვლავ მენეჯერი ითვალისწინებს — და ეს უფრო სანდოა, ვიდრე მოდელი, რომელიც თავს აჩვენებს, თითქოს ისინი გაითვალისწინა.

შეიძლება თუ არა პროგნოზის ერთი კვირით ადრე გაკეთება?

ჩანართი აჩვენებს დღევანდელ და ხვალინდელ დღეს. შესყიდვისთვის პერიოდი ცალკე განისაზღვრება — ველით „დაფარვა, დღეები“: ერთი დღის პროგნოზი მრავლდება მასზე.

შესყიდვის დრაფტი შეკვეთას მომწოდებელს მაშინვე უგზავნის?

არა. ეს სწორედ რომ დრაფტია: ზედმეტ სტრიქონებს მონიშვნას უხსნით და მხოლოდ ამის შემდეგ აჭერთ შექმნას — მიიღება განყოფილება „საწყობის“ შესყიდვების ჩვეულებრივი დრაფტები, თითო მომწოდებელზე თითო. რაოდენობები სწორდება უკვე შექმნილ შეკვეთაში, ზუსტად ისე, როგორც ჩვეულებრივ.