Requirements
Please note these steps require a Displayr license.
Method
Panel data is data where there are multiple observations for each individual on the panel. Common examples include:
- Customer satisfaction panels, where the same customers provide ratings of satisfaction over time (e.g., every quarter).
- Television viewing panels, where people’s TV viewing is recorded over time.
- Household purchasing panels, where household purchases are recorded over time.
- Customer records and transactional records (e.g., where an online bookseller records each purchase of its customers).
Data from a panel can be stored in two separate databases: an individual-level database which contains general characteristics of the members of the panel (e.g., the size of the household, its annual income), and the situational database, which records the behavior or opinions of the panel in different situations (e.g., at different points in time).
Weights can be applied from either of the databases. A weight from the transactional database can be applied to a crosstab using only data from the household database and vice versa. For example, the left table below shows lifestage with an expansion weight applied whereby the sample of 1,000 people is weighted up to a population of 10 million people. Thus, the interpretation of this table is that 22 people in the sample are Independents, which makes up 4% of the population and it is estimated that the entire population contains 431,664 households in this lifestage.
The right table above shows the same household data but weighted by both the same expansion weight as applied on the left and also by the quantity of products purchased (the construction of this type of weight is discussed shortly). Thus, its interpretation is:
- 3% of all purchases were by Independents.
- 37 purchase situations involved Independents. Note that it is the number of purchase situations (i.e., rows in the situation database) and not the number of purchases.
- Independents are estimated as having purchased a total of 1,154,491 of the products.
Where a weight from the transactional database is applied to a table in the household database, the weight is computed by summing together the values of the weight in the transactional database. For example, if ID 233 has six observations in the transactional database with weights of 1.0, 1.0, 1.0, 2.0, 1.0, and 0.9, the weight applied in the household database is 6.9.
Where variables have been constructed in the household database using data from the transactional database, the decision of which database to use for the weight fundamentally alters the interpretation of any analyses. Consider penetration (the computation of which is discussed below). The left table below shows weights penetration by an expansion weight in the household database. The interpretation is that 67% of households have purchased (i.e., the penetration is 67%). The right table below shows the same table but where the weight has been taken from the transactional database. It shows that 100% have purchased, which is because anybody who has not purchased has no data in the transactional database and consequently they end up with a weight of 0.
Creating weights by combining individual-level and situational variables
The weight used on the right side of the two examples above combines both an expansion weight from the household data with a measure of the quantity purchased from the transactional database. The following describes how such a weight can be created:
- Select the transactional database from Data Sources and then from the toolbar select + > Data > Variables > New > Custom Code > JavaScript - Numeric.
- The following Expression computes the weight:
quantity * Q.GetValue('Weight', 'Households.sav')
where:- quantity is the name of the variable in the transactional database, which indicates the quantity purchased (i.e., each row in the transactional database represents a purchase; the quantity is the number of items purchased in a given transaction).
- Q.GetValue('Weight', 'Households.sav') takes the expansion weight from the household database and matches it to the appropriate observation in the transactional database, where Weight is the name of the weight variable and 'Households.sav' is the name of the household database.
- * multiplies the expansion weight by the quantity purchased to compute the new weight.
- On the new JavaScript variable check Usable as a weight and then apply the weight to the table.
Next
How to Construct a Weight for a Self-Weighting Sample