Marketing - MaxDiff - Compare Models

From Q
Jump to: navigation, search

Compare the performance of multiple MaxDiff models by producing a table of metrics from each model.

See this blog post for an example of comparing models.

Example


Options

Input models At least 2 MaxDiff models.

Ensemble Whether to create an ensemble by taking the average of the respondent parameters across the models.

Output

Comparison A table comparing metrics from models (and the ensemble, if selected).
Ensemble Histograms of respondent parameters, as per the underlying MaxDiff outputs.

Code

var controls = [];
var modelsInput = form.dropBox({label: "Input models", types:["RItem:FitMaxDiff"], name: "formModels",
                               multi: true, required: true, min_inputs: 2,
                               prompt: "Select at least 2 MaxDiff models."});
controls.push(modelsInput);

var ensemble = form.checkBox({label: "Ensemble", name: "formEnsemble", default_value: false,
                              prompt: "Whether to create an ensemble of the models."});
controls.push(ensemble);

if (ensemble.getValue()) {
    var output = form.comboBox({label: "Output", 
              alternatives: ["Comparison", "Ensemble"], name: "formOutput", default_value: "Comparison",
              prompt: "A table comparing the models, or histograms of ensemble respondent coefficients."});
    controls.push(output);
}
form.setInputControls(controls);

if (ensemble.getValue())
    form.setHeading('Ensemble of MaxDiff Models');
else
    form.setHeading('Compare MaxDiff Models');
library(flipMaxDiff)
comparison <- MaxDiffEnsemble(formModels,
                              !formEnsemble,
                              get0("formOutput", ifnotfound = "Comparison"))

Further reading: MaxDiff software