Slow Moving Products / Product Sales Velocity Documentation¶
Menu Location: Products > Product Sales Velocity Report (or Slow Moving Products)
Access Level: Manager / Administrator
Last Updated: 2026-03-01
Overview¶
The Product Sales Velocity Report (also called Slow Moving Products) helps identify products with low sales volume over a specified time period. Unlike the Never Sold Products report (which shows zero sales), this report shows products that sold but with very low velocity, helping you decide what to discount, promote, or discontinue.
Primary Functions:
- Analyze product sales over custom date ranges
- Identify slow-moving inventory
- Filter by product classification category
- Use quick time range buttons (1 week to 1 year)
- Sort by quantity sold to find lowest performers
- Compare first sale vs last sale dates
- Export results for analysis
Page Layout¶
Header Section¶
- Never Sold Products Button: Link to related report (top right)
- Page Title: "Products > Product Sales Velocity Report"
- Info Alert: Explains report purpose - identify low/zero sales products for discontinuation decisions
Filter Form¶
- Parent Classification: Optional dropdown to filter by product category
- Start Date: Beginning of analysis period
- End Date: End of analysis period
- Quick Range Buttons: Pre-set time periods (1 week to 1 year)
- Run Report Button: Generate report with selected filters
Main Content Area¶
Table showing (appears only after running report):
- Menu ID (linked to product edit)
- Product Name
- Retail Price
- Quantity Sold (in date range)
- First Sold date (in date range)
- Last Sold date (in date range)
Quick Time Range Buttons¶
Click any button to automatically set date range:
| Button | Date Range |
|---|---|
| Last Week | 7 days ago → today |
| Last 2 Weeks | 14 days ago → today |
| Last Month | 30 days ago → today |
| Last 3 Months | 90 days ago → today |
| Last 6 Months | 180 days ago → today |
| Last Year | 365 days ago → today |
Tip: Quick buttons automatically run the report immediately.
Filter Options¶
Parent Classification (Optional)¶
- Dropdown of master product categories
- Filter to specific category (e.g., "Produce", "Dairy", "Meat")
- Leave blank to see all products
- Useful for category-specific inventory reviews
Custom Date Range¶
- Start Date: First day of analysis period
- End Date: Last day of analysis period
- Use date pickers for precision
- Click "Run Report" after setting custom dates
Report Data & Columns¶
| Column | Description | Source/Calculation |
|---|---|---|
| Menu ID | Product identifier (clickable) | menu.id, links to add-product.php |
| Name | Product name | product_classification.name |
| Retail | Retail selling price | menu.retail_price |
| Sold | Total quantity sold in date range | SUM(menu_qty) for completed orders |
| First Sold | First sale date in period | MIN(deliver_on) for orders |
| Last Sold | Most recent sale in period | MAX(deliver_on) for orders |
Data Filtering:
- Only permanent products (menu.permanent = 1)
- Only active products (menu.status = 1)
- Only completed orders (cust_order.status != 5)
- Only addon sales (cust_order_contents.type = 1)
- Ordered by Sold quantity ascending (lowest sellers first)
- Limited to 1000 products
Common Use Cases¶
Use Case 1: Monthly Slow Mover Review¶
Goal: Identify products to discount or discontinue this month
Steps:
- Navigate to Products > Product Sales Velocity Report
- Click "Last Month" button
- Review products at top of list (lowest sold quantities)
- For products with < 5 sold in month:
- Click Menu ID to review product details
- Decide: promote, discount, or discontinue
- Export CSV for management review
Decision Thresholds (monthly):
- 0-5 sold: Strong discontinuation candidate
- 6-15 sold: Consider promotion or discount
- 16-30 sold: Monitor, may need marketing support
- 30+ sold: Acceptable velocity
Use Case 2: Seasonal Product Performance¶
Goal: Evaluate seasonal products after their season
Steps:
- Set Start Date to beginning of season
- Set End Date to end of season
- Select relevant category from Parent Classification
- Click "Run Report"
- Compare performance to previous season
- Decide if product should return next year
Example: Summer products - set dates May 1 to August 31, review in September.
Use Case 3: Quarterly Inventory Reduction¶
Goal: Free up warehouse space and capital
Steps:
- Click "Last 3 Months" button
- Sort by Sold (lowest first - already default)
- Identify products with < 10 sales in 3 months
- Calculate inventory holding cost
- Create liquidation/discount plan
- Mark for discontinuation if no sales improvement
Use Case 4: Category-Specific Analysis¶
Goal: Review specific product category performance
Steps:
- Select category from Parent Classification dropdown
- Click "Last 6 Months" button
- Review all products in category
- Identify underperformers relative to category average
- Consider if category itself is problematic or just specific items
Use For:
- Dairy category review
- Produce optimization
- Specialty items assessment
Use Case 5: Marketing Campaign Effectiveness¶
Goal: Measure if promotion improved product sales
Steps:
- Run report for "before campaign" period
- Export CSV and note sold quantities
- Run report for "during/after campaign" period
- Compare quantities
- Calculate lift percentage
- Decide if campaign should continue or product should be discontinued despite promotion
Interpreting Results¶
Sales Velocity Indicators¶
Very Slow (0-2 sales per month average):
- Strong discontinuation candidates
- Tying up inventory and resources
- Not generating meaningful revenue
Slow (3-10 sales per month average):
- Consider promotion or featured placement
- May need better description/imagery
- Evaluate pricing competitiveness
Moderate (11-30 sales per month average):
- Acceptable for niche products
- Monitor for trends (improving or declining)
- May benefit from occasional promotion
Healthy (30+ sales per month average):
- Good performers
- Maintain visibility and inventory
Date Pattern Analysis¶
First Sold = Last Sold: Only sold once in entire period - very concerning
Long Gap Between First and Last: Sporadic, unreliable demand
Recent Last Sold: Some ongoing interest - may be salvageable
Old Last Sold: Demand has dried up - likely discontinue
Troubleshooting¶
Issue: Report Shows No Results¶
Check:
- Verify date range is correct
- Ensure there are orders in selected period
- Remove Parent Classification filter (may be too restrictive)
- Confirm you clicked "Run Report" after setting dates
Issue: Product I Know Sold Isn't Showing¶
Check:
- Verify it's a permanent product (not weekly menu item)
- Confirm product status is active
- Check if sales were in selected date range
- Verify sales were addon type (not menu items)
Issue: Expected More Products in Results¶
Remember:
- Limited to 1000 products maximum
- Only shows permanent active products
- Only includes products that had at least 1 sale in period
- Products with zero sales appear in "Never Sold Products" report instead
Best Practices¶
Review Frequency¶
- Monthly: Quick check of last month's slow movers
- Quarterly: Deep dive with 3-month or 6-month view
- Annually: Year-over-year comparison
- Post-Season: Seasonal product performance review
Analysis Workflow¶
- Run broadest report first (Last Year, no classification filter)
- Export CSV for full dataset
- Re-run with specific classifications for detailed review
- Compare across time periods for trends
- Cross-reference with inventory levels and holding costs
Action Thresholds¶
Create your own thresholds based on business model:
- Set minimum acceptable monthly velocity
- Define "slow mover" for your inventory
- Establish discontinuation criteria
- Document promotion/discount decision tree
Things to Avoid¶
- ❌ Discontinuing seasonal products based on off-season data
- ❌ Comparing niche specialty items to mainstream products
- ❌ Ignoring profit margins (low volume, high margin may be worth keeping)
- ❌ Making decisions on short time periods (< 30 days for established products)
Quick Reference Card¶
| Task | Action |
|---|---|
| Check last month's slow sellers | Click "Last Month" button |
| Quarterly product review | Click "Last 3 Months" button |
| Seasonal product analysis | Set custom dates for season, Run Report |
| Category-specific review | Select classification, click time range button |
| Find worst performers | Run report, look at top rows (default sort) |
| Export for analysis | Use browser's print-to-PDF or copy table |
| Edit slow-moving product | Click Menu ID number |
Related Pages¶
- Never Sold Products (
never-sold-products.php) - Products with zero sales ever - Product Edit (
add-product.php) - Edit/discontinue products - Product Classifications (
product_classifications_active.php) - Manage categories
Typical Workflow:
- Slow Moving Products → Identify low performers → Never Sold Products (check for zeros) → Edit products
FAQs¶
What's the difference between Slow Moving and Never Sold?¶
Slow Moving = sold something but very little in time period. Never Sold = zero sales ever (all-time).
What's a good sales velocity benchmark?¶
Varies by business, but generally 20-30 sales per month indicates healthy addon. Set your own benchmarks based on your data.
Should I use this report or Never Sold Products?¶
Use both! Never Sold finds total failures. Slow Moving finds declining or niche products needing attention.
How do I account for seasonal products?¶
Compare same season year-over-year, or use custom dates for in-season analysis only.
Why doesn't this show revenue instead of quantity?¶
Revenue can be misleading (one high-price sale vs many low-price). Quantity sold shows true demand patterns.
Can I see this by week instead of total period?¶
No, this report aggregates the entire selected period. For weekly breakdown, run Addons Report.
End of Documentation
For additional help, contact your system administrator or Kiva Logic support.