From 7833c9fda69d2dfe5bc064d6dbc93b1ffe1cde87 Mon Sep 17 00:00:00 2001 From: Rashi Date: Thu, 9 Apr 2026 15:13:36 +1000 Subject: [PATCH 1/6] Add Task prioritization design document --- .../task_prioritisation_recommender.md | 169 ++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md diff --git a/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md b/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md new file mode 100644 index 00000000..9d27d829 --- /dev/null +++ b/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md @@ -0,0 +1,169 @@ +--- +title: Task Prioritization Recommender Feature +--- + +## 1. Introduction +The Task Prioritization feature is designed to help students identify which tasks to focus on next within OnTrack. The system evaluates multiple factors to generate a priority score for each task, enabling students to manage their workload more effectively and reduce the risk of missed deadlines. + +--- + +## 2. Purpose +The purpose of this feature is to: +- Recommend tasks based on urgency and workload +- Support better time management +- Integrate with AI-based effort prediction for smarter prioritisation + +--- + +## 3. Approach +Tasks are ranked using a **weighted priority scoring system** based on: +- Deadline urgency +- Estimated effort required +- Current student workload + +--- + +## 4. Prioritization Logic + +### 4.1 Deadline Urgency +Tasks with closer due dates receive higher priority. + +### 4.2 Estimated Effort +Tasks requiring more effort are prioritised earlier to allow sufficient time for completion. +This will integrate with the AI-based effort prediction feature. + +### 4.3 Workload +Tasks are prioritised higher when a student has multiple competing tasks. + +Workload is determined by: +- Number of tasks due within a short timeframe +- Total estimated effort required for upcoming tasks + +--- + +## 5. Scoring Model + +### 5.1 Priority Score Formula + +Priority Score = (0.5 × Deadline Score) + (0.3 × Effort Score) + (0.2 × Workload Score) + + +Each factor is converted into a score between **0–100**. + +--- + +### 5.2 Deadline Score + +| Time Remaining | Score | +|---------------|------| +| ≤ 1 day | 100 | +| ≤ 3 days | 80 | +| ≤ 7 days | 60 | +| ≤ 14 days | 40 | +| > 14 days | 20 | + +--- + +### 5.3 Effort Score (AI-Based) + +| Estimated Effort | Score | +|------------------|------| +| > 10 hours | 90 | +| 5–10 hours | 70 | +| 2–5 hours | 50 | +| < 2 hours | 30 | + +--- + +### 5.4 Workload Score + +| Workload Level | Score | +|---------------|------| +| Low | 30 | +| Medium | 60 | +| High | 90 | + +--- + +## 6. Example Calculation + +### Task A +- Due in 2 days → Deadline Score = 80 +- Effort = 8 hours → Effort Score = 70 +- Workload = Medium → Workload Score = 60 +Priority Score = (0.5 × 80) + (0.3 × 70) + (0.2 × 60) += 40 + 21 + 12 += 73 + + +--- + +### Task B +- Due in 10 days → Deadline Score = 40 +- Effort = 2 hours → Effort Score = 30 +- Workload = Low → Workload Score = 30 + + +Priority Score = (0.5 × 40) + (0.3 × 30) + (0.2 × 30) += 20 + 9 + 6 += 35 + + +--- + +### Result +Task A is prioritised higher than Task B due to a higher overall score. + +--- + +## 7. System Flow +1. Retrieve all tasks for the student +2. Calculate: + - Deadline score + - Effort score (from AI prediction) + - Workload score +3. Compute total priority score +4. Rank tasks in descending order +5. Recommend highest priority tasks to the user + +--- + +## 8. Integration + +- Effort scores will be derived from the **AI-Based Effort Prediction feature** +- The system will consume predicted effort (in hours) and map it to scoring ranges +- Designed to integrate seamlessly with backend APIs + +--- + +## 9. Design Rationale + +- **Deadline urgency (50%)** + Highest weight to reduce missed submissions + +- **Effort (30%)** + Encourages early start on complex tasks + +- **Workload (20%)** + Balances tasks across multiple units + +--- + +## 10. Outcome +Tasks with higher priority scores will be recommended first, helping students: +- Stay on track +- Reduce stress +- Improve task planning + +--- + +## 11. Dependencies +- AI-based effort prediction feature (external team) +- Task metadata (deadlines, units, etc.) +- Backend API integration + + +--- + +## 12. Conclusion +The Task Prioritization feature enhances OnTrack by providing a structured and intelligent way to manage student tasks. By combining urgency, effort, and workload, the system delivers meaningful recommendations that improve productivity and academic outcomes. \ No newline at end of file From d814c723c101818d95e32719dad032cabdb6676a Mon Sep 17 00:00:00 2001 From: Rashi Date: Thu, 9 Apr 2026 15:18:34 +1000 Subject: [PATCH 2/6] Fix: lint EOF newline issue --- .../task_prioritisation_recommender.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md b/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md index 9d27d829..b8949943 100644 --- a/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md +++ b/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md @@ -166,4 +166,4 @@ Tasks with higher priority scores will be recommended first, helping students: --- ## 12. Conclusion -The Task Prioritization feature enhances OnTrack by providing a structured and intelligent way to manage student tasks. By combining urgency, effort, and workload, the system delivers meaningful recommendations that improve productivity and academic outcomes. \ No newline at end of file +The Task Prioritization feature enhances OnTrack by providing a structured and intelligent way to manage student tasks. By combining urgency, effort, and workload, the system delivers meaningful recommendations that improve productivity and academic outcomes. From 13e9c0a6a9094782b7f6f6619a38581b680ce589 Mon Sep 17 00:00:00 2001 From: Rashi Date: Thu, 9 Apr 2026 15:25:20 +1000 Subject: [PATCH 3/6] Fix: prettier formatting --- .../task_prioritisation_recommender.md | 84 +++++++++++-------- 1 file changed, 49 insertions(+), 35 deletions(-) diff --git a/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md b/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md index b8949943..cb7f6383 100644 --- a/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md +++ b/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md @@ -3,12 +3,17 @@ title: Task Prioritization Recommender Feature --- ## 1. Introduction -The Task Prioritization feature is designed to help students identify which tasks to focus on next within OnTrack. The system evaluates multiple factors to generate a priority score for each task, enabling students to manage their workload more effectively and reduce the risk of missed deadlines. + +The Task Prioritization feature is designed to help students identify which tasks to focus on next +within OnTrack. The system evaluates multiple factors to generate a priority score for each task, +enabling students to manage their workload more effectively and reduce the risk of missed deadlines. --- ## 2. Purpose + The purpose of this feature is to: + - Recommend tasks based on urgency and workload - Support better time management - Integrate with AI-based effort prediction for smarter prioritisation @@ -16,7 +21,9 @@ The purpose of this feature is to: --- ## 3. Approach + Tasks are ranked using a **weighted priority scoring system** based on: + - Deadline urgency - Estimated effort required - Current student workload @@ -26,16 +33,20 @@ Tasks are ranked using a **weighted priority scoring system** based on: ## 4. Prioritization Logic ### 4.1 Deadline Urgency + Tasks with closer due dates receive higher priority. ### 4.2 Estimated Effort + Tasks requiring more effort are prioritised earlier to allow sufficient time for completion. This will integrate with the AI-based effort prediction feature. ### 4.3 Workload + Tasks are prioritised higher when a student has multiple competing tasks. Workload is determined by: + - Number of tasks due within a short timeframe - Total estimated effort required for upcoming tasks @@ -47,7 +58,6 @@ Workload is determined by: Priority Score = (0.5 × Deadline Score) + (0.3 × Effort Score) + (0.2 × Workload Score) - Each factor is converted into a score between **0–100**. --- @@ -55,68 +65,65 @@ Each factor is converted into a score between **0–100**. ### 5.2 Deadline Score | Time Remaining | Score | -|---------------|------| -| ≤ 1 day | 100 | -| ≤ 3 days | 80 | -| ≤ 7 days | 60 | -| ≤ 14 days | 40 | -| > 14 days | 20 | +| -------------- | ----- | +| ≤ 1 day | 100 | +| ≤ 3 days | 80 | +| ≤ 7 days | 60 | +| ≤ 14 days | 40 | +| > 14 days | 20 | --- ### 5.3 Effort Score (AI-Based) | Estimated Effort | Score | -|------------------|------| -| > 10 hours | 90 | -| 5–10 hours | 70 | -| 2–5 hours | 50 | -| < 2 hours | 30 | +| ---------------- | ----- | +| > 10 hours | 90 | +| 5–10 hours | 70 | +| 2–5 hours | 50 | +| < 2 hours | 30 | --- ### 5.4 Workload Score | Workload Level | Score | -|---------------|------| -| Low | 30 | -| Medium | 60 | -| High | 90 | +| -------------- | ----- | +| Low | 30 | +| Medium | 60 | +| High | 90 | --- ## 6. Example Calculation ### Task A -- Due in 2 days → Deadline Score = 80 -- Effort = 8 hours → Effort Score = 70 -- Workload = Medium → Workload Score = 60 -Priority Score = (0.5 × 80) + (0.3 × 70) + (0.2 × 60) -= 40 + 21 + 12 -= 73 +- Due in 2 days → Deadline Score = 80 +- Effort = 8 hours → Effort Score = 70 +- Workload = Medium → Workload Score = 60 + Priority Score = (0.5 × 80) + (0.3 × 70) + (0.2 × 60) = 40 + 21 + 12 = 73 --- ### Task B -- Due in 10 days → Deadline Score = 40 -- Effort = 2 hours → Effort Score = 30 -- Workload = Low → Workload Score = 30 - -Priority Score = (0.5 × 40) + (0.3 × 30) + (0.2 × 30) -= 20 + 9 + 6 -= 35 +- Due in 10 days → Deadline Score = 40 +- Effort = 2 hours → Effort Score = 30 +- Workload = Low → Workload Score = 30 +Priority Score = (0.5 × 40) + (0.3 × 30) + (0.2 × 30) = 20 + 9 + 6 = 35 --- ### Result + Task A is prioritised higher than Task B due to a higher overall score. --- ## 7. System Flow + 1. Retrieve all tasks for the student 2. Calculate: - Deadline score @@ -139,18 +146,20 @@ Task A is prioritised higher than Task B due to a higher overall score. ## 9. Design Rationale - **Deadline urgency (50%)** - Highest weight to reduce missed submissions + Highest weight to reduce missed submissions - **Effort (30%)** - Encourages early start on complex tasks + Encourages early start on complex tasks - **Workload (20%)** - Balances tasks across multiple units + Balances tasks across multiple units --- ## 10. Outcome + Tasks with higher priority scores will be recommended first, helping students: + - Stay on track - Reduce stress - Improve task planning @@ -158,12 +167,17 @@ Tasks with higher priority scores will be recommended first, helping students: --- ## 11. Dependencies + - AI-based effort prediction feature (external team) - Task metadata (deadlines, units, etc.) - Backend API integration - --- ## 12. Conclusion -The Task Prioritization feature enhances OnTrack by providing a structured and intelligent way to manage student tasks. By combining urgency, effort, and workload, the system delivers meaningful recommendations that improve productivity and academic outcomes. + +The Task Prioritization feature enhances OnTrack by providing a structured and intelligent way to +manage student tasks. By combining urgency, effort, and workload, the system delivers meaningful +recommendations that improve productivity and academic outcomes. + + From 697ed0ed72ba742a7ad2afdd46e5470830a4383f Mon Sep 17 00:00:00 2001 From: Rashi Date: Thu, 9 Apr 2026 15:30:14 +1000 Subject: [PATCH 4/6] Fix: lint EOF newline issue --- .../task_prioritisation_recommender.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md b/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md index cb7f6383..0f7e4029 100644 --- a/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md +++ b/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md @@ -179,5 +179,3 @@ Tasks with higher priority scores will be recommended first, helping students: The Task Prioritization feature enhances OnTrack by providing a structured and intelligent way to manage student tasks. By combining urgency, effort, and workload, the system delivers meaningful recommendations that improve productivity and academic outcomes. - - From c9158084a327da84bc1f04b62fef6d9080d7035e Mon Sep 17 00:00:00 2001 From: Rashi Date: Mon, 20 Apr 2026 19:13:31 +1000 Subject: [PATCH 5/6] Update workload logic --- .../task_prioritisation_recommender.md | 121 +++++++++++++++--- 1 file changed, 105 insertions(+), 16 deletions(-) diff --git a/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md b/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md index 0f7e4029..32652244 100644 --- a/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md +++ b/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md @@ -34,21 +34,110 @@ Tasks are ranked using a **weighted priority scoring system** based on: ### 4.1 Deadline Urgency -Tasks with closer due dates receive higher priority. +Tasks with closer due dates receive higher priority. The system calculates urgency based on the number of days remaining until the task due date. + +#### Deadline Calculation Logic + +1. Retrieve the task due date from the task definition +2. Calculate the number of days remaining: + + **days_left = due_date − current_date** + + - The current date is obtained using `Time.zone.today` to ensure timezone consistency + - If no due date is available, the score defaults to **0** + +--- + +#### Deadline Scoring + +- ≤ 1 day → Score 100 +- ≤ 3 days → Score 80 +- ≤ 7 days → Score 60 +- ≤ 14 days → Score 40 +- > 14 days → Score 20 + +--- + +#### Behaviour + +- Tasks due very soon receive the highest priority +- Tasks with longer deadlines receive lower scores +- Ensures students focus on urgent tasks first + +--- ### 4.2 Estimated Effort -Tasks requiring more effort are prioritised earlier to allow sufficient time for completion. -This will integrate with the AI-based effort prediction feature. +Tasks requiring more effort are prioritised earlier to allow sufficient time for completion. + +Currently, effort is approximated using **task weighting** as a temporary measure. +This will be replaced by the AI-based effort prediction feature in future. + +#### Effort Scoring (Current Implementation) + +- Weighting ≤ 10 → Score 30 +- Weighting ≤ 20 → Score 50 +- Weighting ≤ 40 → Score 70 +- Weighting > 40 → Score 90 + +--- ### 4.3 Workload -Tasks are prioritised higher when a student has multiple competing tasks. +Tasks are prioritised higher when a student has multiple competing tasks across their enrolled units. + +Workload is determined by a combination of: + +- **Number of incomplete tasks** across all active units (task pressure) +- **Student target grade** (academic ambition) + +--- + +#### Target Grade Values + +Each project (unit) has a target grade represented numerically: + +- 0 → Pass +- 1 → Credit +- 2 → Distinction +- 3 → High Distinction + +The workload calculation uses the **average target grade** across all enrolled units to reflect the student’s overall academic goal. + +--- + +#### Workload Calculation Logic + +**1. Task Pressure Score (0–100)** +Based on the number of incomplete tasks: + +- 0–4 tasks → Score 30 (Low) +- 5–9 tasks → Score 60 (Medium) +- 10+ tasks → Score 90 (High) + +--- + +**2. Target Grade Score (0–100)** +Based on the student’s average target grade: + +- High Distinction (3) → Score 90 +- Distinction (2) → Score 75 +- Credit (1) → Score 60 +- Pass (0) → Score 40 + +--- + +**3. Final Workload Score** + +**Workload Score = (0.6 × Task Pressure Score) + (0.4 × Target Grade Score)** + +--- -Workload is determined by: +#### Behaviour -- Number of tasks due within a short timeframe -- Total estimated effort required for upcoming tasks +- Students with more incomplete tasks receive higher workload scores +- Students aiming for higher grades receive higher prioritisation sensitivity +- Ensures personalised recommendations based on both workload and ambition --- @@ -56,7 +145,7 @@ Workload is determined by: ### 5.1 Priority Score Formula -Priority Score = (0.5 × Deadline Score) + (0.3 × Effort Score) + (0.2 × Workload Score) +**Priority Score = (0.5 × Deadline Score) + (0.3 × Effort Score) + (0.2 × Workload Score)** Each factor is converted into a score between **0–100**. @@ -74,14 +163,14 @@ Each factor is converted into a score between **0–100**. --- -### 5.3 Effort Score (AI-Based) +### 5.3 Effort Score (Will be replaced with AI Effort Prediction) -| Estimated Effort | Score | -| ---------------- | ----- | -| > 10 hours | 90 | -| 5–10 hours | 70 | -| 2–5 hours | 50 | -| < 2 hours | 30 | +| Task Weighting | Score | +|---------------|------| +| ≤ 10 | 30 | +| ≤ 20 | 50 | +| ≤ 40 | 70 | +| > 40 | 90 | --- @@ -152,7 +241,7 @@ Task A is prioritised higher than Task B due to a higher overall score. Encourages early start on complex tasks - **Workload (20%)** - Balances tasks across multiple units + Balances tasks across multiple units using task pressure and academic ambition --- From 1d6e3899ee0d4db950949bf77f967a1101fc13e0 Mon Sep 17 00:00:00 2001 From: Rashi Date: Mon, 20 Apr 2026 20:10:19 +1000 Subject: [PATCH 6/6] Fix: prettier formatting --- .../task_prioritisation_recommender.md | 82 ++++++++++--------- 1 file changed, 42 insertions(+), 40 deletions(-) diff --git a/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md b/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md index 32652244..9d0a524c 100644 --- a/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md +++ b/src/content/docs/Products/OnTrack/Projects/Task Prioritization Recommender/task_prioritisation_recommender.md @@ -34,35 +34,35 @@ Tasks are ranked using a **weighted priority scoring system** based on: ### 4.1 Deadline Urgency -Tasks with closer due dates receive higher priority. The system calculates urgency based on the number of days remaining until the task due date. +Tasks with closer due dates receive higher priority. The system calculates urgency based on the +number of days remaining until the task due date. #### Deadline Calculation Logic -1. Retrieve the task due date from the task definition +1. Retrieve the task due date from the task definition 2. Calculate the number of days remaining: **days_left = due_date − current_date** - - - The current date is obtained using `Time.zone.today` to ensure timezone consistency + - The current date is obtained using `Time.zone.today` to ensure timezone consistency - If no due date is available, the score defaults to **0** --- #### Deadline Scoring -- ≤ 1 day → Score 100 -- ≤ 3 days → Score 80 -- ≤ 7 days → Score 60 -- ≤ 14 days → Score 40 -- > 14 days → Score 20 +- ≤ 1 day → Score 100 +- ≤ 3 days → Score 80 +- ≤ 7 days → Score 60 +- ≤ 14 days → Score 40 +- > 14 days → Score 20 --- #### Behaviour -- Tasks due very soon receive the highest priority -- Tasks with longer deadlines receive lower scores -- Ensures students focus on urgent tasks first +- Tasks due very soon receive the highest priority +- Tasks with longer deadlines receive lower scores +- Ensures students focus on urgent tasks first --- @@ -75,21 +75,22 @@ This will be replaced by the AI-based effort prediction feature in future. #### Effort Scoring (Current Implementation) -- Weighting ≤ 10 → Score 30 -- Weighting ≤ 20 → Score 50 -- Weighting ≤ 40 → Score 70 -- Weighting > 40 → Score 90 +- Weighting ≤ 10 → Score 30 +- Weighting ≤ 20 → Score 50 +- Weighting ≤ 40 → Score 70 +- Weighting > 40 → Score 90 --- ### 4.3 Workload -Tasks are prioritised higher when a student has multiple competing tasks across their enrolled units. +Tasks are prioritised higher when a student has multiple competing tasks across their enrolled +units. Workload is determined by a combination of: -- **Number of incomplete tasks** across all active units (task pressure) -- **Student target grade** (academic ambition) +- **Number of incomplete tasks** across all active units (task pressure) +- **Student target grade** (academic ambition) --- @@ -97,12 +98,13 @@ Workload is determined by a combination of: Each project (unit) has a target grade represented numerically: -- 0 → Pass -- 1 → Credit -- 2 → Distinction -- 3 → High Distinction +- 0 → Pass +- 1 → Credit +- 2 → Distinction +- 3 → High Distinction -The workload calculation uses the **average target grade** across all enrolled units to reflect the student’s overall academic goal. +The workload calculation uses the **average target grade** across all enrolled units to reflect the +student’s overall academic goal. --- @@ -111,19 +113,19 @@ The workload calculation uses the **average target grade** across all enrolled u **1. Task Pressure Score (0–100)** Based on the number of incomplete tasks: -- 0–4 tasks → Score 30 (Low) -- 5–9 tasks → Score 60 (Medium) -- 10+ tasks → Score 90 (High) +- 0–4 tasks → Score 30 (Low) +- 5–9 tasks → Score 60 (Medium) +- 10+ tasks → Score 90 (High) --- **2. Target Grade Score (0–100)** Based on the student’s average target grade: -- High Distinction (3) → Score 90 -- Distinction (2) → Score 75 -- Credit (1) → Score 60 -- Pass (0) → Score 40 +- High Distinction (3) → Score 90 +- Distinction (2) → Score 75 +- Credit (1) → Score 60 +- Pass (0) → Score 40 --- @@ -135,9 +137,9 @@ Based on the student’s average target grade: #### Behaviour -- Students with more incomplete tasks receive higher workload scores -- Students aiming for higher grades receive higher prioritisation sensitivity -- Ensures personalised recommendations based on both workload and ambition +- Students with more incomplete tasks receive higher workload scores +- Students aiming for higher grades receive higher prioritisation sensitivity +- Ensures personalised recommendations based on both workload and ambition --- @@ -166,11 +168,11 @@ Each factor is converted into a score between **0–100**. ### 5.3 Effort Score (Will be replaced with AI Effort Prediction) | Task Weighting | Score | -|---------------|------| -| ≤ 10 | 30 | -| ≤ 20 | 50 | -| ≤ 40 | 70 | -| > 40 | 90 | +| -------------- | ----- | +| ≤ 10 | 30 | +| ≤ 20 | 50 | +| ≤ 40 | 70 | +| > 40 | 90 | --- @@ -241,7 +243,7 @@ Task A is prioritised higher than Task B due to a higher overall score. Encourages early start on complex tasks - **Workload (20%)** - Balances tasks across multiple units using task pressure and academic ambition + Balances tasks across multiple units using task pressure and academic ambition ---