Priorities Scoring Formula
The Priorities score is a human-centered ranking model. It is designed to respect deadlines when reality demands it, honor a user's task-size preference, and allow lightweight manual adjustment without making the queue feel arbitrary.
Super Secret Formula
Here, P is the Priority Score: the single ranking value used to order tasks in the queue.
Deadline pressure
Task size normalization
Task size preference
Variable Definitions
- P
- Priority Score. This is the task's final ranking value; higher scores appear earlier in the queue.
- deadlineScore
- The nonlinear urgency score created by the relationship between time remaining and estimated time required.
- sizeScore
- The score created by the user's preference for quicker tasks, larger tasks, or balanced task size.
- Δ
- Deadline weight. Constant: 100.
- θ
- Deadline curve. This comes from the Deadline Prioritization setting and controls how sharply urgency ramps.
- δ
- Time until the task's deadline, measured in minutes.
- τ
- Estimated completion time in minutes, clamped to at least 1 minute.
- ε
- A small positive value that prevents division by zero and controls the emergency ceiling. Constant: 0.1.
- σ
- Size weight. Constant: 100.
- ξ
- The user's Task Size Preference mapped to a numeric value from -1 to 1.
- Τ
- Maximum estimate used for size normalization. Constant: 720 minutes, or 12 hours.
- β
- The task priority number selected when creating or editing a task. Lower numbers matter more because the formula uses 1 / β.
- μ
- Manual multiplier. Default is 1. Values above 1 increase the total score; values below 1 reduce it.
User Setting Mappings
| Setting | θ | Behavior |
|---|---|---|
| ASAP | 1.0 | Pressure appears earlier and more steadily. |
| Early | 1.3 | Pressure remains noticeable before the task is close to urgent. |
| Balanced | 1.6 | A middle setting between early pressure and last-minute pressure. |
| Close | 1.9 | Pressure stays quieter until usable slack becomes tight. |
| Last Minute | 2.2 | Pressure stays quiet longest, then ramps sharply near the deadline. |
| Setting | ξ | Behavior |
|---|---|---|
| Quick Wins | -1.0 | Strongly favors shorter tasks. |
| Shorter | -0.5 | Mildly favors shorter tasks. |
| Balanced | 0.0 | Gives all task sizes the same neutral size score. |
| Larger | 0.5 | Mildly favors larger tasks. |
| Big Tasks | 1.0 | Strongly favors larger tasks. |
Philosophy
The formula is not trying to be a pure academic scheduling optimizer. It is designed to reduce the friction between deciding what to do and actually doing it. Deadline pressure, task size preference, and a small task-priority tie breaker each play a distinct role.
Humans do not experience time-to-deadline linearly. A task due soon only becomes truly urgent when usable slack starts disappearing. That is why the formula uses relative slack instead of raw time remaining.
Task size is also nonlinear. The perceived jump from a 1-minute task to a 30-minute task is much larger than the jump from a 5-hour task to a 5.5-hour task, so the model uses a logarithmic size scale.
The manual multiplier wraps the whole result. A user can intentionally raise or lower a task without changing the meaning of the underlying deadline, size, or priority components.
Design Principles
- Deadlines should be quiet when there is plenty of usable slack and loud when that slack is disappearing.
- Estimated task size should reflect human perception, not raw minutes on a linear ruler.
- User preferences should change the shape of the ranking without creating confusing negative scores.
- Task priority should resolve close calls without becoming a second hidden ranking system.
- The manual multiplier should stay simple: increase or decrease the whole score.