The Cell Weighting algorithm can typically be used only up to 3 weighting variables. In fact, with a larger number of weighting variables there are two major issues:

- there might not be
**enough respondents**(or even no respondents at all) for some of the cells; - it might
**not be possible to obtain the population frequency for all cells**(e.g., a 4-way contingency table reporting the distribution of the population by*age*x*gender*x*education level*x*geographical area*).

The typical approach to weight upon a large number of variables is to adopt **RIM weighting**.

RIM weighting focuses on individual variables (or pairs of variables when the categories of two individual variables are combined to create a new single variable) and is based on an iterative algorithm:

- can be applied when only the population distribution of individual variables (e.g.,
*gender*;*age*; etc.) or pairs of variables (e.g.,*gender*x*age*;*gender*x*education**level*;*gender*x*geographical**area*, etc.) is known; - a large number of variables can be included in the weighting process (e.g., 10 or even 20 variables).

It is important to adopt a **powerful**, **robust**, and **validated** RIM algorithm which could use a large number of weighting variables, each with several categories.

The algorithm should also produce **clear and exhaustive summary statistics **to allow the user to assess the quality of the weighting and to review the weighting process if necessary.

Sometimes weights could be too strong (e.g., a weight larger than 10) or too weak (e.g., a weight smaller than 0.1). A large weight means that the information provided by some respondents have a large impact on the results, while a small weight means that some respondents are almost uninfluential. It is important to being able to assess the quality of the weighting process and to take corrective actions if required (e.g., removing some of the weighing variables from the process or combining some of the categories of the weighting variables).

The functions

RIM.weightingandRIM.weighting.v2available in R-sw Discriminant allow computing RIM weights. Both are based on robust algorithms and produce a detailed summary report. Restrictions for the weights can be specified (i.e., minimum and maximum values) and categories of weighting variables can be weighted down to zero if required. Base weights (pre-weights) can be used to initiate the RIM algorithm so that they are accounted for before RIM weighting is performed.

**RIM Weighting Report**