Off-The-Job Hours widget - Learner Dashboard
Overview
The Off-The-Job (OTJ) Hours widget on the learner dashboard tracks the learner's progress against the planned hours in their ILR.
The target line shows how many OTJ hours the learner should have completed by now. It's worked out by:
dividing the programme's planned hours by the number of days on programme, to give a target number of OTJ hours per day
multiplying that daily rate by the number of days that have passed, to give the target hours so far
dividing the target hours by the total planned hours in the ILR, to give a percentage.
Worked example
A learner is on a 2-year programme with 500 planned hours, and is at month 12.
500 planned hours ÷ 730 days on programme = 0.68 OTJ hours per day
0.68 OTJ hours per day × 365 days = 250 target hours
250 target hours ÷ 500 planned hours = 50% target progress.
This tracks progress towards the planned hours in the ILR, which are the hours the learner should aim to achieve.
To check the learner is still on course for the minimum hours for their programme, compare the Completed and Forecast figures in the legend.
Calculating the widget with OData fields
You can reproduce the widget's figures in your own reports using these OData fields from the Users table.
Submitted and completed hours
Submitted hours:
UserLearningPlanSummary_SubmittedTimeCompleted hours:
UserLearningPlanSummary_CompletedTime
Both are returned in minutes. Divide by 60 to get hours.
Target hours
The target uses:
learning start date:
UserILRSummary_ProgrammeStartDatelearning end date:
UserILRSummary_PlannedEndDateplanned hours:
UserILRSummary_PlannedHours.
The target can't be more than the planned hours. It's calculated as follows:
Programme hasn't started (start date is after today): target hours = 0.
Programme has ended (planned end date is today or earlier): target hours = planned hours.
Programme is in progress (start date is today or earlier, and planned end date is after today): target hours = planned hours × (days elapsed ÷ total programme duration), where total programme duration = planned end date − start date, and days elapsed = today − start date.
OData worked example
Using these values:
Start date: 1 January 2026
Planned end date: 31 August 2026
Today: 2 June 2026
Planned hours: 40
Submitted time: 800 minutes
Completed time: 600 minutes
This gives:
Submitted hours: 800 ÷ 60 = 13.33
Completed hours: 600 ÷ 60 = 10
Programme duration: 242 days; days elapsed: 152
Target hours: 40 × (152 ÷ 242) = 25.12.