Menu Engineering

Optimize your menu using the BCG matrix approach

Menu Matrix

← Low Margin | High Margin →
← Low Popularity | High Popularity →
🧩 Puzzles {{ count($puzzles) }}

High profit, needs promotion

@forelse($puzzles as $item)
{{ $item['recipe_name'] }} {{ number_format($item['margin'], 1) }}%
@empty

No items

@endforelse
Stars {{ count($stars) }}

High profit & popular - maintain!

@forelse($stars as $item)
{{ $item['recipe_name'] }} {{ number_format($item['margin'], 1) }}%
@empty

No items

@endforelse
🐕 Dogs {{ count($dogs) }}

Consider removing or revising

@forelse($dogs as $item)
{{ $item['recipe_name'] }} {{ number_format($item['margin'], 1) }}%
@empty

No items

@endforelse
🐴 Plowhorses {{ count($plowhorses) }}

Popular, improve margins

@forelse($plowhorses as $item)
{{ $item['recipe_name'] }} {{ number_format($item['margin'], 1) }}%
@empty

No items

@endforelse
Avg Popularity: {{ number_format($data['avg_popularity'] ?? 0, 1) }} units | Avg Margin: {{ number_format($data['avg_margin'] ?? 0, 1) }}%
@if(count($recommendations) > 0)

Action Recommendations

@foreach($recommendations as $rec)
@switch($rec['type']) @case('star') @break @case('plowhorse') 🐴 @break @case('puzzle') 🧩 @break @case('dog') 🐕 @break @endswitch

{{ $rec['item'] }}

{{ $rec['action'] }}

{{ ucfirst($rec['priority']) }}
@endforeach
@endif