FN-001 |
FN-001 — Ghost Inventory Pattern
Ghost Inventory ARCHETYPE-001
Recovery: 6-8 weeks
Revenue Band: $1.8M-$2.2M annual
Concept Age: 22 months post-launch
Stack: Toast POS, MarginEdge, BevSpot
FN-001 — Ghost Inventory Pattern
Snapshot
- What was found: Wine inventory on paper exceeded physical bottle count by 127 units ($4,318 retail value).
- Why it mattered: Food/bev cost variance consistently 3.2 points above target with no identifiable waste.
- What it cost: $28,400 annually in untracked shrinkage (12.7% of wine program revenue).
Signals (Observable Indicators)
- Cost variance persistent above 2.5 points for 90+ days without seasonal explanation
- MarginEdge inventory counts reconcile to invoices but not to POS sales velocity
- Wine-by-the-glass pours per bottle below expected yield (22 pours vs. expected 25-26)
- Server void rates on wine SKUs 2.1x higher than food voids
- Weekend shift managers approve voids without inventory adjustment
- BevSpot par levels unchanged despite velocity shifts over 18 months
- Physical bottle count delays exceed 45 minutes (suggests avoidance behavior)
Evidence Trail
Systems Compared
| Toast POS | MarginEdge | BevSpot | Physical Count |
|---|---|---|---|
| 1,847 units sold (90d) | 1,974 units received (90d) | 284 units on-hand | 157 units on-hand |
| $47,238 wine revenue (90d) | $22,116 COGS (90d) | Par: 280 units | Variance: -127 units |
| 46.8% theoretical cost | 3.2pt variance | Last updated: 47d ago | Audit date: Nov 12 |
What Mismatched
- POS vs. Physical: 127-unit gap between theoretical inventory (284) and actual count (157)
- Void Pattern: 34 wine voids in 90 days; 29 occurred Fri-Sun; 26 approved by same 2 managers
- Pour Variance: Actual yield 22.3 pours/bottle vs. expected 25.8 (13.6% deviation)
Artifacts Examined
- Toast POS transaction logs (June 1 - Nov 12, 2025)
- MarginEdge receiving history and inventory snapshots
- BevSpot par level configurations (last modified Feb 2024)
- Physical count worksheet (sommelier-conducted, Nov 12, 2025)
- Server void approval logs (90-day export)
Root Cause Hypothesis (Ranked)
1. Insufficient Void Controls + Manager Permission Drift
Confidence: High
Evidence:
- 29 of 34 voids (85.3%) occurred on weekend shifts with manager-on-duty approval
- Same 2 managers approved 76% of all wine voids (compared to 31% of food voids)
- No physical inventory adjustment triggered by void workflow in Toast
- Managers promoted from server roles 8-10 months ago; permissions never tightened post-promotion
2. Uncalibrated Pour Variance (Training Drift)
Confidence: Medium
Evidence:
- 13.6% deviation from expected pour yield indicates over-pouring or spillage
- No refresher training documented since opening (22 months ago)
- 3 of 7 bartenders hired in past 6 months; onboarding checklist incomplete
- Jigger use inconsistent (observed during site visit)
3. Stale Par Levels + Velocity Mismatch
Confidence: Medium
Evidence:
- BevSpot par levels unchanged since Feb 2024 (9 months stale)
- Menu mix shifted significantly in summer (rosé velocity up 40%, reds down 18%)
- Dead stock accumulating (11 SKUs with zero movement in 60+ days, $1,847 tied up)
- Over-ordering on slow SKUs driven by outdated pars
Fix Protocol
1. Implement Void → Inventory Adjustment Workflow
- Who: Toast admin + GM
- What: Configure Toast to require inventory adjustment selection on all wine voids; create “Spillage,” “Incorrect Order,” “Comp” categories with mandatory inventory deduction
- Output: Void approvals automatically decrement MarginEdge inventory (tested in staging before rollout)
2. Restrict Weekend Manager Void Permissions
- Who: Owner + Toast admin
- What: Require GM or owner approval for wine voids above $35 retail; weekend managers limited to $35 threshold
- Output: Permission matrix updated in Toast; alert sent to GM for all high-value voids within 30 minutes
3. Recalibrate Pour Standards + Retrain Team
- Who: Sommelier + bar lead
- What: Conduct 90-minute pour calibration session; issue fresh jiggers; post laminated pour cards at each station; spot-check 2 pours/shift for 3 weeks
- Output: Pour variance target <5%; sommelier sign-off on calibration completion per bartender
4. Update BevSpot Pars to Current Velocity
- Who: Sommelier + GM
- What: Pull 90-day sales velocity report from Toast; recalculate pars based on 2-week turnover target; flag dead stock for discount/86
- Output: Updated par levels in BevSpot; dead stock decision made (discount, comp, or donate) within 10 days
5. Institute Weekly Spot Counts (High-Value SKUs)
- Who: Sommelier or bar lead
- What: Count top 15 wine SKUs by revenue every Monday AM; compare to expected inventory based on weekend POS sales; investigate variances >5%
- Output: Spot count log (shared spreadsheet); variance alerts escalated to GM same-day if threshold exceeded
Prevention Controls
Permission Controls
- Managers: max $35 wine void approval (above threshold escalates to GM)
- Bartenders: cannot approve own voids
- Servers: no void permissions on wine (must request manager approval)
- Owner/GM: unrestricted, but receive digest of all voids >$35 within 24h
Mapping Rules
- All wine voids must map to inventory adjustment reason code (Spillage, Incorrect Order, Comp, Breakage)
- Reason code auto-decrements MarginEdge/BevSpot inventory (no manual entry)
- “Comp” voids require customer name in notes field (enforced by Toast validation)
Threshold Alerts
- Wine cost variance >2.5 points for 14 consecutive days → alert GM + owner
- Void rate on wine SKUs >8% of category revenue → alert GM + sommelier
- Pour yield deviation >8% on spot-check → mandatory retraining within 72h
- BevSpot par levels unchanged >60 days → alert sommelier to review
Scheduled Reconciliations
- Weekly: Spot count (top 15 SKUs) vs. POS expected inventory
- Monthly: Full physical count vs. MarginEdge on-hand
- Quarterly: BevSpot par level review + dead stock purge
Recovery Math
Inputs
| Variable | Low | Expected | High | Source |
|---|---|---|---|---|
| Current shrinkage rate | 11.2% | 12.7% | 14.1% | 90d POS vs. physical variance |
| Post-fix shrinkage rate | 2.5% | 3.8% | 5.0% | Industry benchmark (controlled pour + tight voids) |
| Wine program revenue | $220K | $234K | $248K | Trailing 12mo actuals annualized |
| Implementation timeframe | 6 weeks | 7 weeks | 9 weeks | Assumes 2-week training lag + 1-week system config |
Calculation
Current annual shrinkage = Revenue × Current shrinkage rate
= $234,000 × 12.7% = $29,718
Target annual shrinkage = Revenue × Post-fix shrinkage rate
= $234,000 × 3.8% = $8,892
Annual recovery = Current shrinkage - Target shrinkage
= $29,718 - $8,892 = $20,826
Range
- Conservative (P10): $17,900/year (assumes low revenue, high residual shrinkage)
- Expected (P50): $20,800/year (assumes expected revenue, moderate tightening)
- Optimistic (P90): $27,400/year (assumes high revenue, aggressive shrinkage reduction to 2.5%)
Assumptions
- Revenue remains flat (no growth assumed; purely defensive recovery)
- Void controls reduce discretionary comps by 60% within 4 weeks of rollout
- Pour calibration reduces over-pour waste by 50% within 3 weeks of training
- No staff turnover during implementation window (6-8 weeks)
- BevSpot par updates reduce dead stock tie-up by $1,200 within 60 days (one-time cash benefit, not recurring)
What This Is NOT
- NOT a staffing problem (turnover normal; training gap, not talent gap)
- NOT a theft allegation (no evidence of malicious intent; permission drift + training erosion)
- NOT a technology problem (systems work fine; workflow mapping is the issue)
- NOT a vendor overbilling issue (invoices reconcile; problem is post-receipt shrinkage)
Context
- Revenue Band: $1.8M-$2.2M annual (full-service, wine-focused)
- Concept Type: Modern American, upscale-casual
- Location Density: Urban downtown district, tourism + local mix
- Stack in Use: Toast POS, MarginEdge (inventory/COGS), BevSpot (ordering/pars), QuickBooks (accounting)
- Concept Age: 22 months post-launch
- Team Size: 24 FTE equivalents (7 FOH, 9 BOH, 3 bar, 5 mgmt/admin)