I'm trying to come up with a formula to prioritize a list of skills that a learner should tackle based on:
- current familiarity with the skill, and
- the usefulness of the skill.
Familiarity is a $1$ to $5$ rating (unfamiliar to extremely familiar) and usefulness is also a $1$-$5$ rating (least to most useful).
- learn French (familiarity $3$ and usefulness is $5$)
- learn Spanish (familiarity $2$ and usefulness is $4$)
- learn Mandarin (familiarity $1$ and usefulness is $3$)
- learn English (familiarity $5$ and usefulness is $5$)
- ... Etc.
The outcome of the formula should be a number that indicates which skills should be tackled first.
This should be determined based on the current gap between familiarity and usefulness, but also should favour more useful skills (e.g. French should be learnt before Spanish as it is more useful, even though the gap is similar).
I've come up with a basic formula so far:
If familiarity is $x$, and usefulness is $y$, then the outcome $Z$ is:
$$Z = (x - y) \cdot y$$
Using my formula so far, the above skills give:
- learn French ($Z$ = $-10$)
- learn Spanish ($Z$ = $-8$)
- learn Mandarin ($Z$ = $-6$)
- learn English ($Z$ = $0$)
The formula gives a negative number that correctly ranks the skills according to gap and usefulness, however, the output numbers are not evenly distributed (they range from $-20$ to $+6$) and are not exactly intuitive, and so I was wondering if there's a way to make the output more uniform or better than what I've come up with so far.
Ideally, something like a ranking from $1$-$10$ or so (where $1$ is the least priority and $10$ is the highest priority skill) would be ideal.
Thanks in advance
John's answer works great, but here are additional general formulas for converting a number range to another: