Smart Scheduling learns from your own data. Before you create your first forecast you need to switch on access, set up a Demand Profile that describes how demand works for a location and department, load your history, and make sure you have enough of it. This article walks through each step, using the screens in Humanforce Web.
For a high-level introduction, see the Smart Scheduling overview.
Already using Demand Planning?
Smart Scheduling builds on the existing Demand Planning setup, so your feeds, data and rules can often be reused. Many of the older Demand Planning settings (such as interpolation, rounding and the demand formula) are not used when Smart Scheduling builds a forecast. This article only covers the settings that matter, and calls out the ones to leave alone.
1. Licensing and permissions
Smart Scheduling must be licensed for your account before it can be switched on. Contact your Humanforce Account Manager or Customer Success Manager to enable it or to start a trial.
Access is then controlled through the permissions on each user's Access Level. To change them, see How do I edit the permissions of an Access Level?
Who |
Permission |
What it allows |
|---|---|---|
Roster Managers and anyone using Smart Scheduling |
Rostering > Enable Smart Scheduling |
Shows the Smart Scheduling menu and demand graph in Roster Manager, and the Manage Forecasts page. This permission is off by default. |
Administrators who set up demand feeds and profiles |
TimeTarget Online > View Administration Section > View Demand Plan Feed Setup, View Demand Plan Feed Upload and View Demand Plan Rule |
Gives access to the three Demand Planning admin screens used below. Enable each one together with all the permissions beneath it. |
Administrators |
Smart Scheduling Config |
Gives access to the Smart Scheduling Setup screen in the Admin area. There are no settings on this screen that you need to change at the moment. |
Users only see the locations and departments they already have permission to view. They can't create a forecast, or choose a Demand Profile, for a location or department outside their visibility.
2. Create a demand feed
A demand feed is the measure that drives your staffing needs, such as sales, transactions, covers, bookings or attendance. Smart Scheduling forecasts this measure and turns it into the headcount you need. You will usually need a separate feed for each area of the business, so use clear names.
Go to Admin > System Configuration > Demand Plan Feed Setup.
Select Add new record.
Complete the fields below and save.
Field |
What to enter |
|---|---|
Name |
A name for the feed, for example "Cafe sales" or "Stadium attendance". Required. |
Export Code |
A short code you can use in place of the name in upload files. |
Numeric Format |
Optional. Controls how values are displayed, for example |
Is Spanned |
Tick this if each value applies over a period of time (with a start and an end) rather than at a single point in time. Leave it unticked for data recorded in regular increments, such as sales per 15 minutes. See the note below. |
Apply Value Across Date Range |
Tick this if you want to import a single value that applies to every day in a date range. |
Event > Category and Dataset |
Only for feeds that hold event data. See Setting up event-based forecasting below. Leave both blank for a normal demand feed. |
Spanned values are shared across the intervals they cover. If a value in your main demand feed spans several intervals, the value is divided equally across them. For example, with a 1-hour interval, a 4-hour span with a value of 400 is treated as 100 in each hour. Enter spanned values as the total for the period, not as a per-hour figure.
3. Upload your historical demand
Once the feed exists, load your history into it.
Go to Admin > System Configuration > Demand Plan Feed Upload
If your file contains genuine zero readings that should be kept, tick Include Zero Values. By default, rows with a value of exactly zero are ignored.
Select Select files, choose your .csv file and upload it.
The file must be a .csv with a header row and these columns. The order of the columns doesn't matter, and any extra columns are ignored.
Column |
Format |
Required |
Description |
|---|---|---|---|
Feed |
Text |
Yes |
The Name or Export Code of an existing feed. |
DateStart |
Date and time |
Yes |
When the value applies from. Various formats work. The recommended format is ISO, for example |
DateEnd |
Date and time |
Spanned feeds and date-range imports only |
When the value applies until. It must be later than DateStart. Ignored for feeds that aren't spanned. |
Value |
Number |
Yes |
A whole number or a decimal. |
For a normal demand feed, intervals that have no row are treated as zero, so you don't need to upload rows for periods with no demand (for example when you're closed).
If a row can't be imported, the upload tells you which row and why. The most common messages are:
Invalid or unrecognised Feed name/export code at row n: the Feed value doesn't match an existing feed.
Invalid DateStart / Invalid DateEnd at row n: the date or time isn't in a recognised format.
DateEnd should be greater than DateStart at row n: the end of a spanned value is before its start.
Input Feed is spanned or date ranged, but DateEnd column not available at row n: a spanned feed needs a DateEnd.
Invalid Value at row n: the value isn't a number.
The CSV file must contain a header row: the first row must contain the column names exactly as shown.
4. Create a Demand Profile
A Demand Profile (called a Demand Plan Rule in the Admin area) ties a feed to a location and department and tells Smart Scheduling how to read it. It's what you choose when you create a forecast.
Go to Admin > System Configuration > Demand Plan Rules.
Select Add new record.
Complete the settings below and save.
Demand Rule Definition
Field |
What to enter |
|---|---|
Rule Name |
A name for the profile, used on this screen. |
Display Name |
The name shown in the Demand Profile list when you create a forecast. Give it a clear name, for example "Cafe - sales". |
Demand Data Input Feed |
The feed from step 2. This is the demand measure that Smart Scheduling forecasts. |
Secondary Data Input Feed |
Optional. One or more extra feeds that can improve the forecast, for example footfall alongside sales. Each needs history covering the same period as your main feed, and values for the dates you are forecasting. |
Location |
Required. Forecasts can only use the profile for this location. |
Department |
Optional. If you set a department, the profile can only be used for forecasts in that department. If you leave it blank, the profile can only be used for forecasts with the department set to None, which covers every department in the location. |
Area |
Optional. If you set an area, the profile applies to that area (and the headcount history is taken from it). |
Role, Event, Function |
Not needed for Smart Scheduling. Leave them blank. |
Each combination of location, department, role, area, event and function can have only one rule. If you try to create a duplicate you'll see "A rule with the same combination of filters already exists".
Demand Rule Config
Field |
What to enter |
|---|---|
Minimum Headcount and Maximum Headcount |
The fewest and most people you want rostered for a role at any time, between 1 and 2160. When Smart Scheduling is enabled, these apply per role, not per shift. If they aren't set, Create Forecast shows a warning and assumes a minimum of 1 and a maximum of 10. |
Interval |
The time slice demand is measured and forecast in: 15 minutes, 30 minutes, 1 hour or 1 day. If you leave it blank, 1 hour is used. Choose the interval that suits how you roster. It also sets how far ahead you can forecast (see section 5). If your feed contains smaller increments than the interval, the values in each interval are added together. |
Settings that don't affect Smart Scheduling forecasts
The remaining fields on this screen belong to the original Demand Planning view and are not used when Smart Scheduling builds a forecast, so you can leave them as they are:
Interpolation Mode and Interpolation range (minutes)
Overlapped Spans Aggregation
Interval Consolidation (Smart Scheduling always adds together the values in an interval)
Rounding and Rounding Significance
Offset, Required staff rounding and Required staff rounding significance
Show Qualification Headcount
Labour Group Allocation
Check X and Y in the Demand Formula. The Demand Formula (X rostered staff per Y input units) is not used for AI forecasting, but it does change how a profile behaves. If X and Y are set to different values, Smart Scheduling skips the forecast step and converts your demand figures straight into headcount using that ratio, so the feed needs values for the dates you are planning. For standard forecasting, leave X and Y blank or equal (for example both 1). This matters most if you are reusing a profile from the original Demand Planning feature, which often has a ratio set.
5. Check you have enough history
When you create a forecast, Smart Scheduling checks your history and tells you if something is missing. Knowing the rules in advance saves time.
Demand history
Up to date. You need demand data before the forecast start date. The most recent value you have loaded is where the forecast begins.
At least 3.5 times the forecast length. The length is counted from the end of your latest demand data to the end of the forecast. Smart Scheduling uses up to the most recent 52 weeks of history.
Maximum forecast length. Counted the same way, a forecast can be up to 49 days for 15-minute, 30-minute and 1-hour intervals, and 182 days for 1-day intervals. Because history is limited to 52 weeks and must be 3.5 times the forecast length, a daily forecast works out to around 100 days in practice.
Secondary feeds must also have data within the history period.
Example. Your latest demand data is for 18 October with hourly intervals, and you want to forecast 20 October to 2 November. The forecast is counted from 19 October to 2 November, which is 15 days. That is under the 49-day limit, and you need at least 3.5 × 15 = 52.5 days of demand history, so data going back to about 26 August or earlier. If your latest data had ended in early September, the same forecast would be too far ahead and you would be asked to load more recent data.
Headcount (timesheet) history
Smart Scheduling also learns how many people you usually have working in each role. It uses your worked timesheets (with actual start and finish times) for the same location, department and area.
You need timesheets for each role you want a forecast for. Only roles with historical timesheets are forecast, so a role with no history gets no shifts.
The earliest timesheet for those roles must be at least 3.5 times the forecast length before the forecast starts.
Timesheets must be recorded against the correct location, department, area and role.
History should reflect how you normally roster, covering busy and quiet periods.
Leave, sick days and absences
Headcount history should reflect the people who actually worked. Leave and sick days don't count as headcount, and there is no need to remove periods where absences left you short-staffed. Those periods help Smart Scheduling learn how much demand you can serve with fewer people. A forecast shows the headcount you need to meet demand and does not add a buffer for unplanned absence. To deal with absence, run Autofill again as the roster date approaches, and it will fill any gaps that have opened up.
Advanced edition
In the Advanced edition, Smart Scheduling also uses the geographic coordinates of your location (and of an event's venue, if set) as an additional input. Make sure these are set on the Location.
6. Setting up event-based forecasting (optional)
If your demand is driven by events, such as a stadium or venue, you can forecast for a specific event. This needs three things.
Events and Event Types
Create the event in Management > Rostering > Event Manager, with its dates and times and an Event Type.
On the Event Type (Admin > System Configuration > Event Types), set the Category. This is picked from a list of standard event categories, and it is what links an event to similar past events. Without it, you'll see "Event archetype not found for the selected event".
Event feeds
Event data is held in demand feeds that are tagged with the matching event category.
In Demand Plan Feed Setup, create a feed for each type of event data you hold (for example attendance or bookings).
In the Event box, choose the Category and the Dataset (for example Attendance, Bookings, Entries, Footfall or Sales). Both are required together, and only one feed can use any given Category and Dataset combination.
Tick Is Spanned. Every value in an event feed needs both a DateStart and a DateEnd, otherwise the forecast fails.
Upload your history for past events, and the expected values for the upcoming event covering its dates (for example forecast attendance or ticket sales).
How many past events you need
To forecast an event you need enough similar past events at the same location (and department, if you choose one) within your history. All of the following must be true:
at least 15 past events of similar types (the event's demand archetype group),
at least 5 past events in the same parent category, and
at least 1 past event with exactly the same event category.
Past events shouldn't overlap. If there aren't enough, you will see "Insufficient historical event data for the selected event".
Event times and history
Record the full open period. Set each event's start and end times, and your historical event data, to cover the whole time the venue is open for the event, including entry before and departure after, not just kick-off to final whistle. For example, a game that runs 2pm to 4pm with doors open 90 minutes before and 60 minutes after should be recorded as 12:30pm to 5pm.
Don't pad with zeros. Event data should only contain zeros where the event was genuinely running and the recorded value was zero. Tick Include Zero Values on upload when those zeros are real.
Cover the same period. If you use more than one event feed (for example attendance and bookings), each should cover the same time window for the event.
An event forecast produces demand for the time the event is running. It doesn't generate staffing for work outside that window, such as set-up or pack-down, so plan those shifts separately.
If something isn't set up correctly
Smart Scheduling checks your setup when you create a forecast. If an input is missing or insufficient you will see a message explaining what to fix. See Creating a forecast for the full list of messages and what they mean.