Разработка AI-системы сокращения пищевых отходов (Food Waste AI)
Пищевые отходы — 30-40% закупленных продуктов в ресторане, 15-20% в ритейле. AI-система сокращает их через точное прогнозирование спроса, динамическое управление запасами, интеллектуальное ценообразование истекающих товаров и оптимизацию использования остатков.
Источники пищевых отходов
Первичные причины:
- Overproduction: приготовили больше, чем продали
- Overordering: закупили больше, чем нужно
- Expiry: не успели продать до истечения срока
- Spoilage: нарушение хранения, цепи холода
По звеньям цепи:
- Производство и фермы: перепроизводство
- Дистрибуция: порча при транспортировке
- Ритейл: истёкший срок, некондиция
- Общепит: overproduction, plate waste
- Домохозяйства: большая часть всех потерь
AI-системы для бизнеса (ритейл, общепит) затрагивают звенья дистрибуции и продаж.
Demand Forecasting для ритейла
Проблема скоропортящихся товаров: Молочные, хлеб, овощи/фрукты — срок 1-7 дней. Ошибка прогноза в 5% = списание реальных денег.
Специальные методы:
- Intermittent demand: для нишевых позиций (organic, premium) с редкими продажами
- Shelf-life aware replenishment: заказ с учётом остаточного срока годности на полке
def shelf_life_adjusted_order(forecast, current_inventory, expiry_dates, min_shelf_life_at_sale=2):
"""
Остаток, который будет продан до истечения срока минус 2 дня
= Sellable inventory
Net need = forecast - sellable_inventory
"""
sellable = sum(qty for qty, exp in zip(current_inventory, expiry_dates)
if (exp - today).days >= min_shelf_life_at_sale)
return max(0, forecast - sellable)
Dynamic Markdown Pricing
Истекающие товары нужно продать, пока они ещё имеют ценность. Dynamic markdown:
def calculate_markdown(current_price, days_remaining, daily_demand, units_remaining):
"""
Оптимальная скидка: максимизировать выручку от остатка
при ограничении: продать всё до истечения срока
"""
# Probability of selling all units at current price
prob_sell = survival_model.predict_proba(days_remaining, units_remaining, daily_demand)
if prob_sell > 0.8:
return 0 # нет необходимости снижать
# Оптимальная скидка: price × demand(price) = max revenue
optimal_price = price_optimizer(daily_demand, price_elasticity, days_remaining, units_remaining)
markdown_pct = (current_price - optimal_price) / current_price
return markdown_pct
# Типичные маркдауны: D-3 до истечения: -15%, D-1: -30%, D0: -50%
Для ресторанов — Daily Specials: Остатки ингредиентов → AI генерирует предложения "Блюдо дня" с высокой маржой, использующие продукты с истекающим сроком. Рецептурная база + inventory → LLM генерирует описание блюда.
Production Planning для общепита
Mise en place optimizer:
def calculate_mise_en_place(cover_forecast, menu, inventory, prep_times):
"""
Cover forecast → ожидаемые заказы блюд
→ ингредиенты, которые нужно подготовить
→ сопоставление с текущим inventory
→ что нужно подготовить, в каком количестве
"""
expected_dishes = cover_forecast @ menu.dish_probability_matrix
expected_ingredients = expected_dishes @ menu.recipe_matrix
# Буфер для walk-ins и вариабельности
prep_with_buffer = expected_ingredients * 1.15
# За вычетом уже готового
net_prep = prep_with_buffer - current_prepped_inventory
return net_prep
Batch cooking optimization: При большом объёме — готовить партиями. AI определяет оптимальный размер батча: баланс между fresh quality (меньше = лучше вкус) и labor efficiency (больше = меньше перенастройки кухни).
IoT мониторинг отходов
Smart bin систем:
- Весы под мусорными баками (Winnow, Orbisk): автоматическое взвешивание
- Камера над баком + CV: классификация что выбрасывается
- Данные в реальном времени → шеф-повар видит wastage by item
# Пример вывода системы мониторинга отходов
daily_waste_report = {
'total_kg': 12.3,
'value_usd': 45.80,
'top_wasted_items': [
{'item': 'Salmon', 'qty_kg': 2.1, 'cause': 'overproduction'},
{'item': 'Mixed salad', 'qty_kg': 1.8, 'cause': 'plate_waste'},
{'item': 'Croissants', 'qty_kg': 1.4, 'cause': 'expired'}
]
}
Донации и B2B продажа остатков
Автоматическое управление излишками:
- За 24 часа до истечения: публикация на Too Good To Go / Eatwith (magic bag)
- За 12 часов: предложение в локальные charity через Last Mile API
- За 6 часов: передача в фудбанк (логистика через собственный курьер или platforma)
Юридически: ГОСТ Р 55787-2013 регулирует передачу продуктов организациям социальной защиты.
Метрики системы:
- Food waste reduction: 20-35% от baseline
- Food Cost %: снижение на 1-3 п.п.
- Markdown recovery rate: выручка от скидочных продаж / стоимость потенциально списанного
- Waste per cover (рестораны): кг/гость
Сроки: базовая система с demand forecast + markdown engine — 4-5 недель. Полноценная платформа с IoT весами, donation API и recipe optimizer — 3-4 месяца.







