Reports & Analytics
Deep, real-time insights into every aspect of your restaurant operations.
The Real-Time Advantage
Powered by our new ClickHouse Analytics Engine, your data is no longer "15 minutes old."
- Sub-Second Updates: Sales populate on your dashboard in under 1 second after check close.
- Live Profitability: Food cost and labor % are calculated on the fly as orders come in.
- Instant Querying: Even complex reports (e.g., "Year-over-Year Sales by Hour for 5 Locations") load in milliseconds.
Overview
The reporting system provides:
- Pre-Built Reports - Sales, labor, inventory, financial
- Custom Report Builder - Drag-and-drop report creation
- Scheduled Reports - Automatic delivery via email
- Gennie AI Analyst - Ask questions in plain English ("Why is labor high?")
- Custom Dashboards - Build your own analytics views
- Forecasting - AI predictions for sales and staffing
Accessing Reports
- Go to Manager > Reports
- Or say "Hey Maximus, show reports"
Reports Dashboard
┌─────────────────────────────────────────────────────────────────┐
│ REPORTS & ANALYTICS [+ Build Report] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ASK GENNIE │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ "Why is food cost 2% higher than last week?" │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ LIVE METRICS (Updating...) │
│ ─────────────────────────────────────────────────────────── │
│ [Sales: $4,200 ▲] [Labor: 22% ▼] [Void Rate: 1.2% -OK] │
│ │
│ RECENT REPORTS │
│ ─────────────────────────────────────────────────────────── │
│ Daily Sales Summary Today [View] [Schedule] │
│ Weekly Labor Report This Week [View] [Schedule] │
│ Product Mix Analysis Last 7 Days [View] [Schedule] │
│ │
│ SCHEDULED REPORTS Next Run │
│ ─────────────────────────────────────────────────────────── │
│ Weekly Sales (Email) Monday 6am [Edit] [Pause] │
│ Daily Labor (PDF) Daily 11pm [Edit] [Pause] │
│ │
└─────────────────────────────────────────────────────────────────┘
Available Reports
Pre-Built Reports
| Report Category | Reports Available |
|---|---|
| Sales | Daily Summary, Period Comparison, Revenue by Category, Revenue by Order Type |
| Labor | Hours Worked, Labor Cost %, Overtime, Scheduled vs Actual |
| Inventory | Stock Levels, Usage Report, Waste Tracking, Order Suggestions |
| Financial | P&L Summary, Cash Flow, Tax Summary, Deposit Reconciliation |
| Customer | Visit Frequency, Spending Patterns, Loyalty Activity, Feedback |
| Product Mix | Best Sellers, Low Performers, Category Analysis, Margin Report |
| Operations | Ticket Times, Table Turns, Wait Times, Peak Hours |
Forecasting & Trends
Reports now include AI Forecasts (dotted lines on charts):
- See predicted sales for the next 7 days based on 3 years of history + weather.
- Compare "Actual vs Forecast" to grade your performance.
Custom Report Builder
Build any report you need with drag-and-drop.
Accessing Report Builder
- Click + Build Report
- Or say "Hey Gennie, create a custom report"
Building a Report
┌─────────────────────────────────────────────────────────────────┐
│ REPORT BUILDER [Preview] [Save] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ DATA SOURCE (ClickHouse) │
│ ─────────────────────────────────────────────────────────── │
│ [Orders ▼] │
│ │
│ FIELDS DRAG TO ADD │
│ ┌───────────────────────┐ ┌───────────────────────────┐ │
│ │ ○ Order Date │ │ │ │
│ │ ○ Order Total │ →→→ │ Order Date │ │
│ │ ○ Item Name │ │ SUM(Order Total) │ │
│ │ ○ Category │ │ Payment Method │ │
│ │ ○ Payment Method │ │ │ │
│ │ ○ Server Name │ └───────────────────────────┘ │
│ │ ○ Table Number │ │
│ └───────────────────────┘ FILTERS │
│ ┌───────────────────────────┐ │
│ AGGREGATIONS │ Date: Last 7 Days │ │
│ ─────────────── │ Category: = "Entrees" │ │
│ Sum, Count, Average, └───────────────────────────┘ │
│ Min, Max, Distinct │
│ │
└─────────────────────────────────────────────────────────────────┘
Data Sources
| Source | Available Fields |
|---|---|
| Orders | Date, total, items, server, table, order type |
| Payments | Amount, method, tips, refunds, voids |
| Labor | Employee, hours, wages, overtime, breaks |
| Inventory | Item, quantity, cost, waste, orders |
| Customers | Visits, spending, loyalty points, preferences |
| Reservations | Date, party size, table, status, duration |
| Audit Logs | Who changed what, when (Trust & Safety) |
Aggregation Functions
| Function | Description | Example |
|---|---|---|
| SUM | Total of values | SUM(Order Total) |
| COUNT | Number of records | COUNT(Orders) |
| AVG | Average value | AVG(Ticket Time) |
| MIN | Minimum value | MIN(Check Amount) |
| MAX | Maximum value | MAX(Check Amount) |
| DISTINCT | Unique values | COUNT DISTINCT(Customer) |
Calculated Fields
Create custom calculations:
| Example | Formula |
|---|---|
| Labor Cost % | (Labor Cost / Revenue) * 100 |
| Average Check | Total Revenue / Order Count |
| Tips % | (Total Tips / Total Sales) * 100 |
| Void Rate | (Void Count / Order Count) * 100 |
Filters
| Filter Type | Options |
|---|---|
| Date Range | Today, Yesterday, Last 7/30/90 days, Custom |
| Comparison | Equals, Not equals, Greater than, Less than, Contains, Between |
| Multiple Values | In list, Not in list |
| Null Handling | Is null, Is not null |
Grouping
Group data by:
- Time: Hour, Day, Week, Month, Quarter, Year
- Category: Menu category, Payment type, Order source
- Location: For multi-location restaurants
- Employee: Server, kitchen staff
Data Visualization
Available Chart Types
| Chart | Best For |
|---|---|
| Table | Detailed data with many columns |
| Bar Chart | Comparing categories |
| Line Chart | Trends over time |
| Pie Chart | Parts of a whole |
| Heat Map | Patterns by time/day |
| KPI Cards | Single key metrics |
| Sparklines | Mini trend indicators |
Chart Configuration
┌─────────────────────────────────────────────────────────────────┐
│ VISUALIZATION │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Chart Type: [Bar Chart ▼] │
│ │
│ X-Axis: [Day of Week ▼] │
│ Y-Axis: [SUM(Revenue) ▼] │
│ Color By: [Order Type ▼] │
│ │
│ ☑ Show Data Labels │
│ ☑ Show Grid Lines │
│ ☐ Stack Bars │
│ │
│ PREVIEW │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ █ │ │
│ │ █ █ │ │
│ │ █ █ █ █ │ │
│ │ █ █ █ █ █ █ █ │ │
│ │ M T W T F S S │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Scheduled Reports
Automate report delivery to stay informed without logging in.
Creating a Schedule
- Open any report
- Click Schedule
- Configure delivery:
┌─────────────────────────────────────────────────────────────────┐
│ SCHEDULE REPORT │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Report: Daily Sales Summary │
│ │
│ FREQUENCY │
│ ─────────────────────────────────────────────────────────── │
│ ○ Daily ○ Weekly ○ Monthly ○ Custom │
│ │
│ Time: [6:00 AM ▼] │
│ Day: [Monday ▼] (for weekly) │
│ │
│ DELIVERY │
│ ─────────────────────────────────────────────────────────── │
│ Format: [PDF ▼] [Excel] [CSV] │
│ │
│ Recipients: │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ owner@restaurant.com [×] │ │
│ │ manager@restaurant.com [×] │ │
│ │ + Add recipient │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ CONDITIONS │
│ ─────────────────────────────────────────────────────────── │
│ ☐ Only send if data exists │
│ ☐ Only send if threshold met │
│ [Labor Cost %] [>] [30%] │
│ │
│ [Cancel] [Save Schedule] │
│ │
└─────────────────────────────────────────────────────────────────┘
Schedule Options
| Frequency | Options |
|---|---|
| Daily | Select time, exclude weekends option |
| Weekly | Select day and time |
| Monthly | Select day of month and time |
| Custom | Specific dates, quarterly, etc. |
Delivery Formats
| Format | Best For |
|---|---|
| Sharing with owners, printing | |
| Excel | Further analysis, pivot tables |
| CSV | Importing to other systems |
Conditional Delivery
Send reports only when conditions are met:
- Data exists for the period
- Metric exceeds threshold (e.g., labor > 30%)
- Anomaly detected
- Specific day of week
Managing Schedules
- Go to Reports > Scheduled
- View all active schedules
- Edit, pause, or delete
Gennie & Natural Language Queries
Ask questions in plain English - AI generates the report.
How It Works
- Type or speak your question
- AI interprets and generates SQL query for ClickHouse
- Results display with visualization in under 100ms
- Refine or drill down
Example Questions
| Question | What You Get |
|---|---|
| "What were sales last week?" | Weekly sales summary with daily breakdown |
| "Show me labor cost as a percentage" | Labor cost % chart over time |
| "What's our best selling item?" | Top items ranked by quantity and revenue |
| "Compare this month to last month" | Period comparison with variance |
| "Why was Tuesday slow?" | AI analysis of Tuesday's performance (Weather, events) |
| "When are we busiest?" | Heat map of sales by hour and day |
Query Refinement
After initial results:
- "Break that down by category"
- "Show me just dinner service"
- "Compare to last year"
- "What's driving the difference?"
AI Insights
The system proactively identifies:
| Insight Type | Example |
|---|---|
| Anomalies | "Sales were 23% below average on Tuesday" |
| Trends | "Delivery orders have increased 15% month-over-month" |
| Correlations | "When weather is rainy, delivery orders spike 40%" |
| Recommendations | "Consider adding staff on Friday evenings" |
Custom Dashboards
Build personalized views combining multiple reports and widgets.
Creating a Dashboard
- Go to Reports > Dashboards
- Click + New Dashboard
- Drag widgets to canvas
Available Widgets
| Widget | Description |
|---|---|
| KPI Card | Single metric with trend |
| Chart | Any chart from report builder |
| Table | Data table with sorting |
| Report | Embedded report |
| Goal Tracker | Progress toward target |
| Alert List | Recent alerts and anomalies |
Dashboard Layout
┌─────────────────────────────────────────────────────────────────┐
│ MY DASHBOARD [Edit] [Share] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ TODAY'S SALES│ │ LABOR COST % │ │ AVG CHECK │ │
│ │ $4,875 │ │ 28.5% │ │ $36.08 │ │
│ │ ▲ 12% │ │ ▼ 2.1% │ │ ▲ 5% │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ ┌────────────────────────────────┐ ┌────────────────────────┐ │
│ │ SALES BY HOUR │ │ TOP ITEMS TODAY │ │
│ │ ▁▂▃▅▇█▇▅▃▂▁ │ │ 1. Burger $287 │ │
│ │ 10 12 14 16 18 20 22 │ │ 2. Fries $156 │ │
│ │ │ │ 3. Wings $142 │ │
│ └────────────────────────────────┘ └────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ RECENT ALERTS (AI) │ │
│ │ ⚠ Labor cost exceeded 32% at 7pm │ │
│ │ ℹ Chicken wings below par level │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Dashboard Options
| Feature | Description |
|---|---|
| Auto-Refresh | Update every 5, 15, 30 seconds (Live Mode) |
| Date Selector | Change date range for all widgets |
| TV Mode | Full-screen for display monitors |
| Share | Give access to other users |
| Mobile View | Responsive for phone/tablet |
TV Display Mode
Perfect for kitchen or office displays:
- Open dashboard
- Click TV Mode
- Dashboard cycles through widgets
- Auto-refreshes data
Exporting Reports
Export Options
| Format | Description |
|---|---|
| Formatted report with charts | |
| Excel | Full data with formatting |
| CSV | Raw data for analysis |
| Google Sheets | Direct export to Sheets |
Exporting a Report
- Run the report
- Click Export
- Choose format
- Download or email
Bulk Export
Export multiple reports at once:
- Go to Reports > Export Center
- Select reports
- Choose date range
- Export all
Voice Commands
| Task | Say |
|---|---|
| View sales | "Hey Maximus, show sales report" |
| Check labor | "Hey Maximus, what's our labor cost?" |
| Best sellers | "Hey Maximus, what's selling best?" |
| Compare periods | "Hey Maximus, compare this week to last week" |
| Build report | "Hey Maximus, create a custom report" |
| Schedule report | "Hey Maximus, schedule weekly sales report" |
Best Practices
For Accurate Data
- Reconcile daily - Ensure all transactions are captured
- Review exceptions - Check voids and comps
- Verify inventory - Count matches system
- Check clock records - Hours are accurate
For Actionable Insights
- Compare consistently - Same periods, same conditions
- Look for patterns - Weekly, seasonal, event-driven
- Drill down - Top-level isn't enough
- Act on findings - Reports are useless without action
For Efficient Reporting
- Schedule key reports - Don't log in every morning
- Build dashboards - See everything at a glance
- Use natural language - Faster than building custom
- Share with team - Everyone aligned on metrics