Weekly Report Documentation¶
Menu Location: Reports > Weekly Report
Access Level: Manager
Last Updated: 2026-03-01
Overview¶
The Weekly Report is the most comprehensive business intelligence dashboard in the system, providing detailed financial and operational metrics for each delivery week. This report helps you analyze revenue, track customer acquisition and retention, monitor order patterns, and make data-driven business decisions.
Primary Functions:
- View comprehensive week-by-week business metrics
- Analyze revenue breakdown (completed, pending, failed)
- Track customer growth and churn rates
- Monitor order counts and skip rates
- Compare performance across multiple weeks
- View three different report types (Overview, Box Types, Dollar Totals)
Page Layout¶
Header Section¶
- Page Title: "Reports \ Weekly Report"
- Refresh Cache button (recalculates all historical data)
- Chart displaying trend data
Report Controls¶
- From/To Week Selectors: Choose week range to display
- Report Type Dropdown: Switch between Overview, Box Types, or Dollar Totals
- Box Cost Input: (Dollar Totals only) Enter packaging cost per box
- Update Report Button: Refresh with new parameters
Main Content Area¶
Large data table with week-by-week metrics (specific columns vary by report type)
Churn Section (Bottom)¶
Optional churn analysis showing net customer growth over various time periods (7, 14, 30, 60, 90, 120, 365 days)
Three Report Types¶
1. Overview Report (Default)¶
Most commonly used report showing operational metrics.
Key Metrics Per Week:
- All Orders Generated (total orders attempted)
- Skipped Orders (cancelled/skipped orders)
- Paid Orders (orders with payment)
- Promo Orders (orders below threshold, typically < $15)
- Closed At (total deliveries = paid + promo)
- Revenue (Failed, Pending, Completed)
- Customer Signups (normal vs promo)
- Customer Cancels
- Customer Count (active customers at week end)
Chart Displays:
- Closed orders over time
- Skipped orders trend line
2. Box Types Report¶
Shows breakdown of orders by subscription box type.
Purpose: Understand which box sizes/types are most popular
Columns:
- Week ID and Date
- One column per box type (Small, Medium, Large, etc.)
- Count of orders for each box type that week
Use Case: Inventory planning and menu creation based on box type popularity
3. Dollar Totals Report¶
Financial deep-dive showing revenue and cost analysis.
Key Metrics:
- Box revenue (subscription box prices)
- Add-ons (extra items purchased)
- Delivery fees
- Credits applied
- Discounts applied
- Actual payment received
- Produce costs (from inventory data)
- Box costs (packaging/delivery costs)
- Add-on wholesale costs
- All products wholesale costs
- Net profit calculation
Purpose: Understand profitability and cost structure
Overview Report Columns¶
Order Metrics¶
All Orders Generated: Total orders created for the week (cancelled + promo + paid). Includes all order attempts regardless of final status.
Skipped Orders: Count of orders with cancelled status (customers who skipped that week). Important metric for engagement.
Skipped Revenue: Total box_total value of skipped orders. Shows potential lost revenue from skips.
Skipped AVG $: Average revenue per skipped order. Helps understand what customers are skipping.
Paid Orders: Count of orders with actual_total ≥ $15 (or configured threshold). These are standard paying orders.
Promo Orders: Count of orders with actual_total < $15. These are discounted/promotional orders. Click "Promo Orders" column header to adjust threshold.
Closed At: Total orders delivered that week (Paid + Promo). This is your actual delivery count.
Skipped Percent: Percentage of orders that were skipped: (Skipped ÷ (Skipped + Paid + Promo)) × 100%
Revenue Metrics¶
Failed: Total revenue from failed payments (payment_status = -1). Money you expected but didn't collect.
Pending: Total revenue pending collection. Includes orders with no payment attempt yet and payments still processing.
Completed: Total revenue successfully collected from payments (payment_status = 1) plus processing fees.
Failed + Pending + Complete = Total: Sum of all payment attempts. This is your total order value generated.
Addons: Total retail value of extra items purchased (from cust_order_contents). Products beyond base subscription.
Delivery Fee: Total delivery fees charged to customers.
Processing Fee: Total processing fees charged (if enabled).
Credits: Money applied from customer account credits towards orders. Shown as negative.
Discounts: Coupon/discount codes applied. Shown as negative.
Avg $ per paying order: Average revenue per order: Completed Revenue ÷ Paid Orders. Tracks average order value.
Customer Metrics¶
Normal Signups: Count of new customers who signed up WITHOUT a discount/promo code. Organic growth metric.
Promo Signups: Count of new customers who signed up WITH a discount/promo code. Shows promotion effectiveness.
Cust Cancels: Count of customers who cancelled their accounts during the week. Churn metric.
Cust Count: Total active customers at the closeout of that week. Helps track growth trajectory.
Data Source Indicator¶
SAVED (gray label): Stats were calculated and cached. Data is from previous calculation to speed up report loading.
LIVE (blue label): Stats are being calculated in real-time from database. Most recent data available.
Dollar Totals Report Columns¶
| Column | Description | Calculation |
|---|---|---|
| ID | Week ID number | Sequential week identifier |
| Date | Delivery date | Date of that week's delivery |
| Box | Box revenue | SUM(box_total) for non-cancelled orders |
| Add-ons | Extra items | SUM(cost) from cust_order_contents |
| Delivery Fee | Delivery charges | SUM(delivery_fee) from orders |
| Credits | Credits applied | SUM(credits_total), shown negative |
| Discounts | Discounts applied | SUM(discounts_total), shown negative |
| Actual | Payment received | SUM(actual_total) for non-cancelled |
| Produce Costs | Wholesale produce | Calculated from menu_inventory |
| Box Costs | Packaging/delivery | Order count × box_cost config |
| Addons Wholesale | Add-on costs | Wholesale cost of extra items |
| ALL Products Wholesale | Total product costs | All menu items wholesale cost |
| Actual - Produce - Box - Addons | Net calculation | Shows remaining profit margin |
Box Cost Configuration:
- Enter your average packaging cost per box
- Include cardboard, tape, labels, ice packs, etc.
- Can include average delivery cost
- Saved per report session
Purpose: See profitability after product and packaging costs
Box Types Report Layout¶
Shows order counts broken down by each subscription box type.
Columns:
- ID (Week number)
- Date
- One column per box type name (varies by business)
Example:
ID | Date | Small Box | Medium Box | Large Box | Family Box
---|-------------|-----------|------------|-----------|------------
150| Jan 15 2026 | 45 | 123 | 67 | 34
149| Jan 8 2026 | 48 | 118 | 65 | 32
Use Case: Plan inventory and menu portions based on box type popularity
Search & Filtering¶
Week Range Selection¶
From Week: Dropdown showing all past weeks. Select starting week for report.
To Week: Dropdown showing all past weeks. Select ending week for report.
Default Range:
- To: Current week
- From: 12 weeks prior
- Adjustable to any range
Tips:
- Shorter ranges load faster
- Compare similar date ranges year-over-year
- Include enough weeks to see trends (8-12 minimum)
Report Type Selection¶
Overview: Complete operational metrics. Best for daily/weekly monitoring.
Box Type Breakdown: Order distribution by subscription type. Best for inventory planning.
Dollar Totals: Financial analysis with costs. Best for profitability analysis.
Update Report: Click after changing any filter to reload data.
Actions & Operations¶
Adjusting Promo Order Threshold¶
Purpose: Define what counts as a "promo order" vs regular order
Steps:
- Click "Promo Orders" link in column header
- Enter dollar threshold (default $15)
- Click "Save Promo Order Threshold"
- Report recalculates automatically
Example: If set to $15, orders under $15 are "promo", $15 and above are "paid"
Refreshing Cached Data¶
Purpose: Recalculate stats for all weeks from live data
When to Use:
- After fixing data issues
- When "SAVED" data seems incorrect
- After major database updates
Steps:
- Click "Refresh Cache" button (top right)
- Wait for processing (can take 1-2 minutes)
- Page reloads with fresh calculations
- All weeks recalculated and saved
Note: Only use when necessary - uses significant processing
Re-lookup Single Week¶
Purpose: Recalculate one specific week without processing all weeks
Steps:
- Click "SAVED" label next to week
- Modal opens showing data source info
- Click "Re-lookup data Week ID #[number]"
- That week recalculates from live data
- Page reloads with updated week
Faster than: Refreshing entire cache
Customizing Table Columns¶
Purpose: Show/hide columns based on your needs
Steps:
- Click "Customize Table" button (above table)
- Column headers become interactive
- Click column header to toggle visibility
- Click "Done Customizing Table" when finished
- Preferences saved per admin user
Benefits:
- Focus on metrics you care about
- Cleaner view for specific analyses
- Settings persist across sessions
Downloading Report Data¶
Purpose: Export data for external analysis (Excel, Google Sheets)
Steps:
- Configure report (dates, type)
- Use browser to select and copy table data
- Paste into spreadsheet application
Alternative: Print to PDF using browser print function
Loading Churn Report¶
Purpose: See customer acquisition vs cancellation trends
Steps:
- Scroll to bottom of page
- Click "Load Churn Report" button
- Displays net customer growth for 7, 14, 30, 60, 90, 120, and 365 days
- Green numbers = net growth
- Red numbers = net loss
Common Use Cases¶
Use Case 1: Weekly Business Health Check¶
Goal: Quick status check on current week's performance
Steps:
- Set To Week = current week
- Set From Week = 4 weeks ago (for context)
- Report Type = Overview
- Click "Update Report"
- Check:
- Closed At (total deliveries)
- Skipped Percent (should be <30%)
- Completed revenue (cash collected)
- Normal signups vs Cancels (net growth)
Example: Week 150: 450 closed, 25% skip rate, $18,500 revenue, +15 net new customers = Healthy week
Red Flags:
- Skip rate >35%
- Negative net growth (more cancels than signups)
- High pending revenue (collection issues)
Use Case 2: Financial Month-End Review¶
Goal: Understand monthly profitability and costs
Steps:
- Set From/To to cover full month (4-5 weeks)
- Report Type = Dollar Totals
- Enter accurate Box Cost (your avg packaging cost)
- Click "Update Report"
- Review:
- Actual total (money collected)
- Produce costs (your biggest expense)
- Box costs (packaging/delivery)
- Net profit (rightmost column)
- Calculate margins: (Net Profit ÷ Actual Total) × 100%
Example: $75,000 actual - $32,000 produce - $8,000 boxes - $5,000 addons = $30,000 net (40% margin)
Tips:
- Track margin trend month over month
- If margin shrinking, investigate produce costs
- Factor in all costs for accurate picture
Use Case 3: Analyzing Skip Rate Problem¶
Goal: Understand why customers are skipping orders
Steps:
- Report Type = Overview
- Set date range to last 8-12 weeks
- Look at Skipped Percent column
- Identify:
- When did it increase? (specific week)
- Is it trending up or stable?
- Check Skipped AVG $ (what's being skipped)
- Look at chart to visualize skip trend
- Cross-reference with:
- Menu changes that week
- Price changes
- External factors (holidays, weather)
Example: Skip rate jumped from 22% to 35% in week 147. Menu that week had expensive lamb, low produce variety. Customers skipped high-value boxes.
Actions:
- Improve menu variety
- Survey customers about preferences
- Consider skip feedback system
Use Case 4: Planning Inventory for Next Week¶
Goal: Determine how many orders to prepare for
Steps:
- Report Type = Overview
- Set From/To to last 8 weeks
- Note "Closed At" column for recent weeks
- Calculate average deliveries
- Check trend: growing, stable, or shrinking?
- Factor in:
- Current Cust Count
- Upcoming holiday (expect more skips)
- Menu popularity (good menu = fewer skips)
- For box types, switch to Box Types report
Example: Last 8 weeks averaged 445 closed orders. Customer count up 3%. No holiday. Plan for 460 orders.
For Box Breakdown:
- Switch to Box Types report
- See distribution (e.g., 30% small, 50% medium, 20% large)
- Apply percentages to expected orders
- Plan produce inventory accordingly
Use Case 5: Evaluating Marketing Campaign¶
Goal: Measure impact of promo code campaign
Steps:
- Note campaign start week
- Set From = 2 weeks before campaign
- Set To = current week
- Report Type = Overview
- Compare "Promo Signups" before and during campaign
- Check "Promo Orders" (customers redeeming)
- Calculate:
- Customer acquisition cost = campaign spend ÷ new signups
- ROI = lifetime value - acquisition cost
- Track retention: do promo customers stay?
Example: Campaign week: 45 promo signups (vs usual 10). Cost = $800. CAC = $17.78. If avg LTV = $400, strong ROI.
Tips:
- Track promo customer retention separately
- Compare promo vs normal signup retention rates
- Adjust campaigns based on quality of customers acquired
Chart Visualization¶
Overview Report Chart¶
Displays:
- Line graph showing Closed orders over time
- Optional: Skipped orders as second line
- X-axis: Weeks (dates)
- Y-axis: Order count
Purpose: Visualize trends at a glance
Reading the Chart:
- Upward trend = business growing
- Downward trend = shrinking customer base
- Seasonal patterns visible
- Sudden drops indicate issues
Dollar Totals Chart¶
Displays:
- Multiple lines for different revenue types
- Actual Total
- Box Total
- Extras Total
- Delivery Fee
- Credits
- Produce Cost
Purpose: See financial trends and relationships
Insights:
- Is produce cost growing faster than revenue?
- Are add-ons increasing or flat?
- Credits usage patterns
Troubleshooting¶
Report loading very slowly¶
Symptoms:
- Page takes 30+ seconds to load
- Browser appears frozen
Solutions:
- Reduce week range (try 4-8 weeks instead of 50+)
- Use cached data (SAVED tags) instead of forcing recalculation
- Check if "Refresh Cache" is running (wait for completion)
- Try different report type (Overview fastest, Dollar Totals slowest)
Common Causes:
- Very large date range
- Forcing recalculation of many weeks
- Database load from other operations
Numbers don't match expectations¶
Symptoms:
- Revenue doesn't match your records
- Customer count seems wrong
- Missing orders
Check:
- Are you looking at correct week? (check ID and date)
- Is data cached (SAVED) or live?
- If SAVED, try "Re-lookup" for that week
- Check definition of metric (e.g., Paid vs Closed)
- Verify date range is correct
Solutions:
- Click SAVED tag and re-lookup that week
- If multiple weeks wrong, use Refresh Cache
- Verify orders are in correct week (weekly_cycle_id)
- Check order statuses are correct
If Problem Persists:
- Check database directly for that week
- Review recent data migrations or imports
- Contact Kiva Logic support
Churn report shows red (negative growth)¶
Symptoms:
- Churn boxes show negative numbers
- More cancels than signups
Check:
- Is this seasonal? (holidays = more cancels)
- Check Cancel reasons (if tracking)
- Review recent price changes
- Look at skip rate (precursor to cancels)
- Compare to previous same time period
Solutions:
- Improve retention:
- Survey customers
- Enhance menu variety
- Better customer service
- Loyalty incentives
- Increase acquisition:
- Marketing campaigns
- Referral programs
- Seasonal promotions
Normal Patterns:
- Some churn is normal (5-10% monthly)
- Seasonal fluctuations expected
- January often high cancel (post-holiday)
Promo Orders showing incorrectly¶
Symptoms:
- Orders you consider paid showing as promo
- Or vice versa
Check:
- Current threshold setting (click Promo Orders header)
- Order actual_total amount
- Are credits/discounts bringing total below threshold?
Solutions:
- Adjust threshold to match your definition
- Remember: threshold is actual_total (after credits/discounts)
- For different definition, use custom report
Understanding:
- Default threshold: $15
- Example: $25 box - $12 discount = $13 actual = Promo Order
- This is intentional (low revenue orders)
Related Pages¶
- Order Management (
cust_order.php) - Detailed order view and management - Customer Reports (various) - Customer-focused metrics
- Financial Reports (various) - Payment and revenue details
- Email Reports (
email-stats.php) - Communication metrics
Typical Workflow:
- Weekly Report (overview) → identify issue
- Drill into Orders page → find specific orders
- Review Customer page → understand customer behavior
- Take action → update prices, menu, policies
Permissions & Access¶
Required Access Level: Manager with PERMISSION_WEEKLYREPORTS
Manager Capabilities:
- View all report types
- Adjust date ranges
- Customize table columns
- Refresh cached data
- Download/export data
Kiva Admin Additional Capabilities:
- Access developer debug information
- See system performance metrics
- Direct database query access
Restricted Features:
- None for authorized managers
Best Practices¶
Daily/Weekly Monitoring¶
- Check Overview report every Monday morning
- Focus on: Closed At, Skip %, Revenue Completed
- Compare to previous week (2-4 week rolling view)
- Flag anomalies for investigation
Monthly Analysis¶
- Run Dollar Totals for full month
- Calculate margins and trends
- Review customer acquisition costs
- Analyze skip patterns
- Load Churn report for retention check
Strategic Planning¶
- Use 12-week or longer ranges
- Identify seasonal patterns
- Plan inventory based on trends
- Set growth targets based on historical data
- Compare year-over-year performance
Things to Avoid¶
- Don't refresh cache during business hours (slow for everyone)
- Don't analyze single weeks in isolation (need context)
- Don't ignore skipped revenue (lost opportunity)
- Don't forget to adjust promo threshold if pricing changes
- Don't use Box Cost feature without accurate cost data (misleading)
Quick Reference Card¶
| Task | Action/Location |
|---|---|
| View current week performance | Set To = current week, From = 4 weeks ago |
| Check monthly revenue | Use Dollar Totals, date range = full month |
| See which boxes are popular | Switch to Box Types report |
| Find skip rate trend | Overview report, Skipped Percent column |
| Calculate profitability | Dollar Totals, rightmost column |
| Update cached week data | Click SAVED tag, then Re-lookup |
| Recalculate all weeks | Click Refresh Cache (top right) |
| Hide unnecessary columns | Click Customize Table button |
| Check customer growth | Overview, Normal Signups vs Cust Cancels |
| Adjust promo threshold | Click Promo Orders column header |
| View churn analysis | Scroll to bottom, Load Churn Report |
| Compare to last year | Set same week range as last year |
FAQs¶
What's the difference between Paid Orders and Closed At?¶
Paid Orders are orders with payment ≥ threshold ($15). Closed At includes both paid AND promo orders (under threshold). Closed At is your total delivery count. Paid Orders is your regular revenue orders.
Why does revenue show Failed, Pending, and Completed separately?¶
This shows the full picture of payment collection. Failed is money you expected but didn't get. Pending is still being processed. Completed is in your bank. Total = all three combined. This helps identify collection issues.
Can I see data for a specific customer?¶
No, this is aggregate report only. For customer-specific data, use Customer Reports or Order Management pages. This report is for business-level metrics.
How far back can I view reports?¶
As far back as you have data. However, very old weeks (years ago) may be archived and load slowly. Typical range: current week back 1-2 years is reasonable.
What does SAVED vs LIVE mean?¶
SAVED = stats calculated and cached (faster, but may be slightly outdated). LIVE = calculated right now from database (slower, but most current). For past weeks, SAVED is fine. For current week, LIVE is better.
Why is my skip rate so high?¶
Skip rate over 30% can indicate: (1) Menu not appealing that week, (2) Price increases, (3) Seasonal patterns (summer vacations), (4) Customer fatigue, (5) Subscription flexibility working as intended. Compare to historical average.
How do I use the Box Cost field?¶
Enter your average total cost per box delivered. Include: box/packaging ($1-3), dry ice/insulation ($2-5), average delivery cost ($3-7). Example: $1 box + $3 insulation + $5 delivery = $9 per box. This helps calculate net profitability in rightmost column.
Change Log¶
2026-03-01¶
- Initial comprehensive documentation created
- Documented all three report types in detail
- Covered all metrics, filters, and troubleshooting
- Added practical use cases and examples
End of Documentation
For additional help, contact your system administrator or Kiva Logic support.