I'm in charge of contacting customers of a company in order to analyse their satisfaction.

The problem is I contact them by phone and the people I contact (the sample) are not representative of the full population.

Then I consider post-stratification but the problem is I need to ensure the new version of sample is representative on several quantitative variables at the time :

  • age
  • spent amount.

I know that I need a qualitative variable for the stratification.

How can I put these 2 quantitative variables into a single qualitative stratification variable ?

1st idea : Split the sample based on the age quartile. I obtain 4 groups.
Split each of the 4 groups based on its spent amount quartile. Now I have 16 groups (6.25% of the population each) which can be used for the stratification

2nd idea : Perform a clustering and find k-groups which can be used for the stratification

Which one is the most used when analysts need to post-stratificate a sample based on several quantitative variables ?


1 Answer 1


Here is a short answer that I am happy for someone to edit and expand on (might do it myself if I get time).

Your first idea represents the most common approach, and would get you results that are fine. A variant on the first idea, if not all 16 groups of the 2x2 combination are well represented in the sample, is to use raking, so you just are matching the marginal totals for each of your two variables.

Implementing your second idea is much rarer and involves more risks and decision-making (eg exactly how do you cluster them? and you want to be careful you don't involve your target variable in the clustering or that will render your post-stratification scheme invalid for a variety of complicated reasons).

A third alternative - probably superior as it makes better use of the information available, but slightly more complex to implement - is to use the original quantitative variables (or at least one of them - spend springs to mind). This can be done through calibration or GREG estimation - see Thomas Lumley's page for an example of doing this in R.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.