New function for classification of income and other types of continuous values: quantile

 by  Trond Pedersen

It will now be possible to convert continuous values into percentile values by using the new function quantile(). Thus, all values contained by a specific variable will be divided and placed chronologically into equally large groups. Finally, the variable values will be replaced by the respective percentile values.

Other divisions may also be used, such as deciles (10 groups), quartiles (4 groups) etc. The lowest division level is 2 groups, and the highest level is 100 groups.

Applicable use case for percentiles, deciles, quartiles etc is when studying individual level income development over time, controlling for inflation. By using percentile values instead of amounts, inflation is irrelevant as only the ranking of each individual’s income on a scale from 0 to 99 is of interest. The value 99 (= 100th percentile) contains the 1% highest incomes.

NB! Note that, due to privacy concerns, will perform a 1% top/bottom coding on each end of the value scale (tails). Thus, when using percentile division, the lowest and/or highest percentile will sometimes be fusioned with the nabouring percentile. This is not the case for other divisions like deciles.


generate percentile = quantile(income,100)
generate decile = quantile(income,10)
generate quartile = quantile(income,4)

Click here for more examples