I stumbled upon this site1 which lets you play with a visualisation of the unemployment algorithm that job centers in Denmark use. I found it intriguing, but I also found it a little cumbersome to try and reverse-engineer the algorithm with the user interface, so instead, I just looked at the source code they provided. The actual algorithm looks something like this:
// take all answers and set the values of the boxes
function setValues() {
// set what the expectationBox needs
expectationBox.setAnswer(document.getElementById("answer2").innerHTML);
if (
expectationBox.answer == "I have a new job, but I haven't started yet" ||
expectationBox.answer == "Within 1 month" ||
expectationBox.answer == "Within 3 months") {
expectationBox.setValue("lowRisk");
}
else if (
expectationBox.answer == "It will be more than 6 months" ||
expectationBox.answer == "I expect to go on maternity leave soon" ||
expectationBox.answer == "I expect to retire soon") {
expectationBox.setValue("atRisk");
}
// and then it goes on...
But that was still kind of hard to read as they had a lot of references to p5.js2. So I thought I’d go ahead and rewrite it in a more readable format:
// ledighedsalgoritme.js
const EXPECTATIONS = {
hasJobButNotStartedYet: 'I have a new job, but I haven\'t started yet',
withinOneMonth: 'Within 1 month',
withinThreeMonths: 'Within 3 months',
withinSixMonths: 'Within 6 months',
moreThanSixMonths: 'It will be more than 6 months',
goingOnMaternityLeaveSoon: 'I expect to go on maternity leave soon',
goingToRetireSoon: 'I expect to retire soon',
dontKnow: 'Don\'t know'
}
const ORIGINS = {
danish: 'Danish',
westernImmigrant: 'Western immigrant',
westernDescendant: 'Western descendant',
nonWesternImmigrant: 'Non-western immigrant',
nonWesternDescendant: 'Non-western descendant',
originUnkown: 'Origin unknown'
}
function ledighedsAlgoritme ({ expectation, origin, age, employmentRate }) {
const lowRiskExpectations = [
EXPECTATIONS.hasJobButNotStartedYet,
EXPECTATIONS.withinOneMonth,
EXPECTATIONS.withinThreeMonths
]
const highRiskExpectations = [
EXPECTATIONS.goingOnMaternityLeaveSoon,
EXPECTATIONS.goingToRetireSoon,
EXPECTATIONS.moreThanSixMonths
]
if (lowRiskExpectations.includes(expectation)) return false
if (highRiskExpectations.includes(expectation)) return true
const highRiskOrigins = [
ORIGINS.westernImmigrant,
ORIGINS.westernDescendant,
ORIGINS.nonWesternImmigrant
]
if (highRiskOrigins.includes(origin)) return true
const isHighRiskAge = age > 55
if (isHighRiskAge) return true
const isHighRiskEmploymentRate = employmentRate < 3
return isHighRiskEmploymentRate
}
This version of the ledighedsAlgoritme function returns true if the answers deem that you are at high risk of being unemployed for a long time and false if there is a low risk of it.
It’s a crude algorithm no doubt, but what can we learn from the algorithm and as well as the questions that Ledighedsalgoritmen1 includes?
First off, there are a lot more questions included than what is used in the algorithm. Here are all the questions, where the ones that are in bold actually matter and the rest don’t:
- What is your highest completed education level?
- In which field of study were you educated? (based on your highest completed education qualification)
- How long do you think it will take before you get a job?
- Were you terminated, or did you resign, from your previous job?
- For how long have you known that you would be unemployed?
- How many jobs have you applied for since you became unemployed?
- How do you assess your job opportunities in the areas where you are looking for work?
- Do you know what job you would like to have?
- How do you apply for/plan to apply for jobs? (You may check multiple boxes)
- Which of the following considerations are you making to increase your job opportunities? (You may check multiple boxes)
- Is there anything that makes it difficult for you to get a job?
- If yes, what is making it difficult for you to get a job? (You may check multiple boxes)
- What is your origin?
- How old are you?
- How many months out of the last 36 months have you been employed?
That’s a lot of questions that don’t affect the outcome of your risk assessment. Also, according to [1] The Danish Agency for Labour Market and Recruitment simply pulls the answers for the last three questions from official registry data.
So, from the questions that you answer yourself the deciding question simply is “do you think it will take you a long time to get a job?”. If you think it’s going to be a while then you better not be a Western Immigrant, Western Descendant, Non-Western Immigrant, over 55 years of age, or have worked less than three months out of the past 36.