How to Predict Support Ticket Volume
Why Ticket Prediction Matters
Support staffing is a constant balancing act. Too many agents scheduled on a quiet day wastes payroll. Too few agents on a busy day means long wait times, frustrated customers, and burned-out staff. Most support teams handle this with rough estimates based on last week's numbers, but those estimates miss the patterns that drive ticket volume.
Machine learning captures the full picture: day-of-week effects (Monday is typically busiest), seasonal patterns (holiday shopping generates more questions), product launch impacts (new features create new questions), marketing campaign effects (promotions bring new customers with setup questions), and growth trends (more customers means more tickets over time). A model trained on all these factors produces forecasts that are consistently more accurate than manual estimates.
Building Your Dataset
Create a dataset where each row is one day (or one week), and the target column is the number of tickets received. Include features that influence ticket volume:
- Time features: Day of week, month, week of year, is_holiday, is_weekend, days_until_major_holiday
- Business metrics: Active customer count, new signups that day, active trial accounts
- Product events: Was a new feature released this week, was there a bug or outage, was an update deployed
- Marketing activity: Email campaigns sent, ads running, promotions active (these bring traffic and questions)
- Lag features: Tickets yesterday, tickets same day last week, tickets same day last year, 7-day rolling average
- Channel breakdown (optional): Tickets by channel (email, chat, phone) if you need per-channel forecasts
Aim for at least 6 months of daily data (180+ rows) to capture weekly patterns, and 12+ months to capture seasonal effects. See How Much Data Do You Need.
Training and Using the Model
Pull your ticket history from your support system and merge with business metrics, product events, and marketing activity data. Each row is one day. The target column is total tickets received that day.
Upload to the Data Aggregator app. Use gradient boosting regression or random forest regression. These handle the complex interplay of weekday patterns, seasonality, and business events well.
Create rows for the next 14-30 days with known information: day of week, month, planned product releases, scheduled marketing campaigns, and current customer count. The model predicts ticket volume for each day. Use the 7-day rolling average from the most recent actual data as your lag feature for the first forecast day, then use predicted values as lag features for subsequent days.
If your average agent handles 25 tickets per day and the model predicts 175 tickets on Monday, you need 7 agents scheduled. If it predicts 80 tickets on Wednesday, 3-4 agents are sufficient. Add a buffer for uncertainty, typically 10-20% above the forecast.
Handling Product Launches and Events
Product launches and major updates create ticket spikes that may not have exact historical parallels. Include a "major_release" flag in your training data for past launches. The model learns the typical impact of a launch and can apply that pattern to future launches.
If you are planning a launch significantly larger than any previous one, the model will underestimate the spike. In that case, use the model's forecast as a baseline and multiply by a factor based on the expected scale difference. A launch affecting 3x more users than your biggest previous launch might generate 2-3x the typical launch spike.
Automating the Forecast
Set up a weekly scheduled workflow that runs the forecast every Sunday evening for the upcoming week. The workflow pulls the latest business metrics, generates the forecast, and sends the staffing recommendation to your support manager by email or SMS. This turns ticket prediction from a manual analysis task into an automated weekly report.
Forecast support ticket volume and staff your team based on data. No coding or spreadsheet formulas needed.
Get Started Free