Analytics & Reports
The ticket system provides analytics dashboards, scheduled reports, and CSV exports via KoolReport Pro.
Analytics Dashboard
Accessing the Dashboard
Navigate to Staff Panel → Analytics (scp/analytics.php)
Available Metrics
| Metric | Description |
|---|---|
| Tickets Created | New tickets per period |
| Tickets Closed | Resolved tickets per period |
| Average Response Time | Time from creation to first staff response |
| Average Resolution Time | Time from creation to close |
| Tickets by Department | Distribution across departments |
| Tickets by Priority | Priority level breakdown |
| Tickets by Status | Current status distribution |
| Tickets by Assignee | Workload per staff member |
| AI Urgency Distribution | Breakdown by AI urgency level |
| Over-Budget Count | Tickets exceeding budget thresholds |
| Escalation Count | Tickets escalated per period |
Date Range Filtering
All metrics support configurable date ranges:
- Today
- This Week
- This Month
- Last 30 Days
- Last 90 Days
- Custom Range (date picker)
PM Performance Dashboard
Accessing
Navigate to Staff Panel → PM Dashboard (scp/pm.php)
Available to staff in the PMS_LIST configuration.
Widgets
| Widget | Description |
|---|---|
| Active Tickets | Count of open tickets across all staff |
| Budget Alerts | Tickets approaching or over budget |
| Documentation Review | Tickets pending PM documentation acknowledgment |
| Staff Workload | Tickets per assignee with capacity indicators |
| Escalation Queue | Recent escalations requiring attention |
| AI Critical Alerts | Tickets with CRITICAL urgency |
| Stale Tickets | Tickets without activity in configurable days |
Budget Alert Thresholds
The PM dashboard highlights tickets based on budget utilization:
| Level | Threshold | Indicator |
|---|---|---|
| Green | 0–75% | On track |
| Yellow | 75–90% | Approaching limit |
| Orange | 90–100% | Near budget |
| Red | 100%+ | Over budget (locked) |
Scheduled Reports
Configuration
Navigate to Admin → Settings → Analytics (scp/analytics-settings.php)
| Setting | Options |
|---|---|
| Enable Scheduled Reports | Yes / No |
| Frequency | Daily / Weekly / Monthly |
| Send Time | Hour of day (default: 7:00 AM CST) |
| Recipients | Comma-separated email addresses |
| Report Range | Previous day / week / month (matches frequency) |
| Include Charts | Yes / No |
Report Contents
Scheduled reports include:
- Ticket volume summary (created vs closed)
- Average response and resolution times
- Department breakdown
- Top assignees by volume
- Escalation count
- Over-budget ticket list
- AI urgency distribution
- Open ticket aging (how long open tickets have been open)
Cron Job
# Runs on configured schedule
php cron-analytics-report.php
The cron checks if it's time to send based on the configured frequency and last-sent timestamp.
CSV Export
From Analytics Dashboard
- Set desired date range and filters
- Click Export CSV button
- Download contains all metrics in tabular format
From Ticket List
- Navigate to any ticket queue/list view
- Apply desired filters
- Click Export → CSV
- Download contains ticket details for the filtered set
Export Fields
| Field | Description |
|---|---|
| Ticket Number | Display number |
| Subject | Ticket subject |
| Status | Current status |
| Priority | Priority level |
| Department | Assigned department |
| Assignee | Assigned staff member |
| Client | Client name |
| Organization | Client organization |
| Created | Creation date/time |
| Last Updated | Most recent activity |
| Closed | Close date (if applicable) |
| AI Urgency | AI-determined urgency |
| Estimated Hours | AI estimated effort |
| Budget Hours | Allocated budget |
| Hours Used | Harvest time entries total |
KoolReport Integration
Architecture
Analytics are built on KoolReport Pro:
| Component | File | Purpose |
|---|---|---|
| Report Classes | include/koolreports/ | Data sources and processing |
| Analytics Page | scp/analytics.php | Dashboard rendering |
| Settings Page | scp/analytics-settings.php | Scheduler configuration |
| Report Cron | cron-analytics-report.php | Scheduled email delivery |
Custom Reports
To create a new report:
- Create a report class in
include/koolreports/ - Define data source (MySQL query)
- Define processing pipeline (group, filter, calculate)
- Add view template for rendering
- Register in the analytics dashboard
Legacy Reports
The original osTicket report system is still available at Staff Panel → Reports (scp/reports.php):
- Ticket Activity (by date range)
- Agent Activity (by staff member)
- Department Activity (by department)
- Help Topic Activity (by topic)
These provide basic counts and are less detailed than the custom analytics dashboard.
Troubleshooting
| Issue | Solution |
|---|---|
| Dashboard shows no data | Verify date range includes tickets; check MySQL query logs |
| Scheduled reports not sending | Check cron is running; verify email settings |
| Export is empty | Check filters aren't too restrictive; verify permissions |
| Charts not rendering | Clear browser cache; check JavaScript console for errors |
| PM Dashboard blank | Verify staff ID is in PMS_LIST configuration |
| Metrics seem incorrect | Check time zone settings; verify date range boundaries |