Data Description
Please download the data from Canvas before you run the codes.
## obs_id ratings respondent_id prfile_id price brand capacity shape
## 1 1 57 1 1 70ct Sagres 200ml Spanish
## 2 2 55 1 2 30ct Cristal 200ml Spanish
## 3 3 55 1 3 60ct Super Bock 250ml Spanish
## 4 4 37 1 4 70ct Super Bock 250ml Spanish
## 5 5 44 1 5 30ct Sagres 330ml Spanish
## 6 6 15 1 6 50ct Cristal 330ml Spanish
The data has 4 product attributes for beers and 3 or 4 levels for each attribute. The levels of these attributes are as below:
## $price
## [1] "30ct" "50ct" "60ct" "70ct"
##
## $brand
## [1] "Cristal" "Sagres" "Super Bock"
##
## $capacity
## [1] "200ml" "250ml" "330ml"
##
## $shape
## [1] "Long Neck" "Rocket" "Spanish"
Estimating the Coefficients
We first estimate a linear regression with ratings as DV
and the 4 attributes as IV’s: \[Ratings =
\alpha + \beta_1*Brand + \beta_2*Capacity + \beta_3*Shape +
\beta_4*Price + e\] The baseline levels are already set for you.
The baseline levels are as below:
## $price
## [1] "30ct"
##
## $brand
## [1] "Cristal"
##
## $capacity
## [1] "200ml"
##
## $shape
## [1] "Long Neck"
With the data, we run a linear regression as below:
# running the logistic regression
mdl <- lm(ratings ~ brand + capacity + shape + price, super_bock)
# get a summary of the model results
results <- summary(mdl)
results##
## Call:
## lm(formula = ratings ~ brand + capacity + shape + price, data = super_bock)
##
## Residuals:
## Min 1Q Median 3Q Max
## -42.196 -7.506 0.619 7.612 35.474
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 76.4519 1.1401 67.055 < 2e-16 ***
## brandSagres 16.7147 0.9309 17.955 < 2e-16 ***
## brandSuper Bock 18.6763 0.9309 20.062 < 2e-16 ***
## capacity250ml -18.7788 0.9309 -20.172 < 2e-16 ***
## capacity330ml -22.2917 0.9309 -23.946 < 2e-16 ***
## shapeRocket -12.9071 0.9309 -13.865 < 2e-16 ***
## shapeSpanish -22.5000 0.9309 -24.170 < 2e-16 ***
## price50ct -5.0769 1.1401 -4.453 9.51e-06 ***
## price60ct -1.7115 1.1401 -1.501 0.134
## price70ct -8.3494 0.9309 -8.969 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 11.63 on 926 degrees of freedom
## Multiple R-squared: 0.6635, Adjusted R-squared: 0.6602
## F-statistic: 202.8 on 9 and 926 DF, p-value: < 2.2e-16
Obtaining the Partworths
Three rules to transform the coefficients to partworths:
- Baseline levels partworths = 0
- Insignificant levels partworths = 0
- Significant levels partworths = coefficients
We first create a table to record coefficients and partworths.
| Attributes | Levels | Coefficients | P-value | Partworths |
|---|---|---|---|---|
| Brand | Cristal | 0.000 | 0.000 | |
| Sagres | 16.715 | 0.000 | 16.715 | |
| Super Bock | 18.676 | 0.000 | 18.676 | |
| Capacity | 200ml | 0.000 | 0.000 | |
| 250ml | -18.779 | 0.000 | -18.779 | |
| 330ml | -22.292 | 0.000 | -22.292 | |
| Shape | Long Neck | 0.000 | 0.000 | |
| Rocket | -12.907 | 0.000 | -12.907 | |
| Spanish | -22.500 | 0.000 | -22.500 | |
| Price | 30ct | 0.000 | 0.000 | |
| 50ct | -5.077 | 0.000 | -5.077 | |
| 60ct | -1.712 | 0.134 | 0.000 | |
| 70ct | -8.349 | 0.000 | -8.349 |
To Evaluate the 4 Strategies
Given the partworths, we can now evaluate and compare the 4 strategies. The 4 strategies are:
- To attack with Cristal long-neck shape 200ml priced at 50 cents
- To attack with Super Bock rocket shape 330ml priced at 60 cents
- To launch a Super Bock long-neck shape 200ml priced at 50 cents
- To re-launch a Super Bock long-neck shape 250ml priced at 50 cents
Here, I will use the 1st strategy as an example. You can follow the same procedure to calculate other strategies.
## [1] -5.077
The results are as follows:
| Strategy | Brand | Capacity | Shape | Price | Utilities |
|---|---|---|---|---|---|
| Competitor | Sagres | 200ml | Long Neck | 50ct | 11.638 |
| 1 | Cristal | 200ml | Long Neck | 50ct | -5.077 |
| 2 | Super Bock | 330ml | Rocket | 60ct | -16.523 |
| 3 | Super Bock | 200ml | Long Neck | 50ct | 13.599 |
| 4 | Super Bock | 250ml | Long Neck | 50ct | -5.18 |