Shift analytics
Article Content
Pilla tracks how your team clocks in and out so you can spot patterns and address issues. You can view analytics for any shift pattern to see clock-in rates, timing, and upcoming occurrences.
Shift pattern history
The shift pattern history screen shows clock-in performance and scheduling details for a specific shift template.
On mobile
Access the shift info screen by tapping the ellipsis menu on a shift card and selecting View shift pattern history. The AppBar title shows the employee's first name with their shift category in possessive form (e.g. "John's Morning" or "Sarah's Shift").
The screen has two sections:
Frequency and next occurrences shows scheduling details for the shift template.
For recurring shifts:
- Runs -- The recurrence pattern (e.g. "every week on Monday")
- Started on -- The date the pattern began
- Has run X times up to today -- How many times the shift has occurred so far
- Upcoming scheduled occurrences -- A bullet list of future dates, each showing the date and team name if available
For single occurrence shifts:
- The frequency description
- Scheduled for -- The specific date
Clock-In Performance shows historical counts and percentages:
| Metric | Description | Colour |
|---|---|---|
| On Time | Shifts where the employee clocked in on time | Green (#10b981) |
| Late | Shifts where the employee clocked in late | Amber (#f59e0b) |
| Missed | Shifts where the employee did not clock in | Red (#ef4444) |
| Total Shifts | Total number of shifts for this template | Default |
Each metric shows the count and percentage, e.g. "15 (75%)". If there is no historical data, the message "No historical data available" is shown.
On web
Open the shift pattern history by clicking the row actions menu (ellipsis) on any shift in the data table and selecting View pattern details. This opens a side sheet titled with the pattern name.
The sheet has the same two sections as mobile:
- Clock-In Performance -- displayed inside a rounded card with On Time (green), Late (orange), Missed (red) counts and percentages, plus a Total Shifts row separated by a divider
- Frequency and Next Occurrences -- shows runs frequency, started date, estimated run count, and up to 5 upcoming scheduled occurrences with team names
Shift patterns calendar
The shift patterns screen shows a monthly calendar highlighting which days a recurring shift template has occurrences.
On mobile
Access this screen from the Shifts tab menu. The AppBar title is "Shift Patterns".
Month navigation - Navigate between months using Prev and Next buttons with chevron icons. The current month and year is shown in the centre (e.g. "February 2026").
Calendar - A grid with 7 columns (Monday to Sunday). Days that have a scheduled occurrence for the selected template are highlighted. A loading spinner appears in the top-right corner while occurrence data loads.
Template list - Below the calendar, a scrollable list shows all recurring shift templates. Each row displays the template name and team name. Tapping a row selects that template and updates the calendar to show its occurrences. The selected row is highlighted with a grey background. Pull down to refresh the list.
Template actions - Tap the ellipsis icon on a template row to open an action sheet with options such as Edit, Stop (cancels future shifts only), and Delete (removes template and all future scheduled shifts).
The heatmap
The heatmap provides a visual overview of shift and work completion for a team across a month.
On mobile
Accessing the heatmap:
- Go to the Teams tab (Leaderboard)
- Tap a team card
- The heatmap opens showing that team's data
The AppBar shows the team name.
Month navigation - Navigate between months using Prev and Next buttons with chevron icons. The month and year label is shown in the centre.
Reading the heatmap - The heatmap displays a calendar grid with 7 columns (Monday to Sunday). Each day appears as a square with a left-edge gradient indicating that day's status:
| Gradient colour | Meaning |
|---|---|
| Red gradient (red-100 to red-300) | Action required - items were missed or incomplete |
| Orange gradient (orange-100 to orange-300) | Completed with warning - items were completed late |
| Green gradient (green-100 to green-300) | Success - all items completed on time |
| White (no gradient) | No data or future date |
Tapping a day square selects it (highlighted with a grey background) and shows a Day Summary Card below the heatmap. Tapping the same day again deselects it. The day summary card shows:
- Shifts on [date] -- Total shifts, Clocked In, On Time, and Late counts. If users had shifts that day, an "On Shift" section lists their names.
- Work on [date] -- Total work items, Finished, On Time, and Late counts.
Changing team - Tap the Choose Team button in the floating bar to switch teams.
Discussion thread - Tap the message icon in the floating bar to open the gamification thread for that team's monthly performance. A badge count shows unread messages.
On web
The web shifts data table uses a left-edge colour gradient on each row to indicate clock-in status. The colour logic is the same as the mobile heatmap:
| Gradient | Meaning |
|---|---|
| Red (red-300) | Any users have missing clock-ins |
| Orange (orange-300) | All clocked in but some were late |
| Green (green-300) | All clocked in on time |
| No gradient | Virtual pattern or future shift |
Shift data table (web)
The web data table shows shifts in a paginated table with the following columns:
| Column | Description | Visibility |
|---|---|---|
| Date | Formatted as "Mon 17 Jan" | Always visible |
| Name | Employee name | Always visible |
| Team | Team name, with filter dropdown | Hidden below lg breakpoint |
| Time | Start and end time formatted as HH:MM | Hidden below lg breakpoint |
| Clocked In | Shows clocked-in/total count (e.g. "2/3"), or "Virtual" for virtual patterns | Hidden below lg breakpoint |
| Type | Shift category, with filter dropdown | Hidden below xl breakpoint |
| Frequency | Parsed from RRULE, shows "(Stopped)" if template archived, with filter dropdown | Hidden below xl breakpoint |
| Actions | Row actions menu (sticky right) | Always visible |
Filter dropdowns are available in the Team, Clocked In, Type, and Frequency column headers. Virtual pattern rows are displayed in grey text. Leave summary rows show dashes for Time, Clocked In, and Frequency.
The table paginates at 25 rows per page.
Tips
- Use the heatmap to spot patterns in team performance across a month
- Tap a day on the heatmap to see shift and work breakdowns for that date
- Check the shift pattern history to review individual clock-in performance
- Tap the message icon on the heatmap to discuss team results
- To export shift data as CSV, see Exporting shifts
- To generate payroll reports, see Payroll