# Currency Normalization for Salary Prediction

I have a dataset (350k data points) with data of employees across different regions over the last 10 years. The dataset consists of their skills, the region they are in, the industry, their current role, their salary in the respective currency.
After doing some analysis, I have found 60% of the salaries are in SGD, 30% in INR, and the rest are divided across 15 other currencies. Is it recommended that I have a model for each currency or is there a way I can convert all the currencies to a universal value so I can use all my data points to train?
Currently, I have used the 40% of the points available in SGD to train a random forest model and I have found that the results on the test set are reasonably accurate. For this model, I have considered skills, role, and industry as features and nothing else. Is there any better model I can explore? Thank you

• What's the output of your model? Region specific salary prediction? Commented May 15, 2021 at 21:38
• Doesn't have to be region-specific. I just need to predict salary given the above features Commented May 21, 2021 at 11:44

Within each currency (say SGD or INR), you can divide the salary by quartiles, for e.g the top 25 percentiles of salaries within each currency can be assigned a value of 4, the next 25th percentile a 3 and so and so forth. This way you are able to normalize salaries across currencies.

I would suggest convert all currency into one currency using a mapping. (Say we will convert all currency to SGD). Use the following python code to convert.

conversion = dict{
'SGD' : 1.0,
'INR' : --- , #Conversion Rate
..........

}
map(lambda x : conversion[x], mylist) # Your currency list.

#Then apply standard normalization
mylist = np.array(mylist)
mylist = (mylist - min(mylist))/(max(mylist) - min(mylist))


The same skill-set wouldn't give the same salary in different countries because of difference in the living standard. So what I would do is convert the salaries into a common currency, but using the PPP instead of the official conversion rate (look it up, it's a different conversion rate that tries to equalise the purchasing power of different currencies, by eliminating the differences in price levels between countries). And I would also keep the currency as a categorical variable in order to cope with the specifics of each countries that is not explained by the PPP.