If this is really all of the data you have, then this is a simple logistic regression problem, and not multivariate at all. Your dependent (outcome) variable is the probability of a conversion, and the independent (manipulated) variable is the variant of the website used.
Multivariate problems are those in which you have more than one dependent variable, for instance conversion rate, and average amount of money spent.
Your predictor is categorical, so you're going to have to do two things. First, you test if there's any difference between the variants, in general (the main effect). Second, you compare each of the variants to every other one, to see if there's a significant difference between them.
This page looks like a decent introduction to this measure.
R code, where your data has a row for each visit to the site, and two columns, one specifying which variant that visitor saw, and one specifying if there was (value of 1) or wasn't (value of 0) a conversion:
m <- glm(conversion ~ variant, family=binomial, data=data)
summary(aov(m)) # Tests if there's a difference between the variants
library(lsmeans)
lsmeans(m, pairwise ~ variant) # Compares every variant to every other one
Alternatively, if your data has one row per variant, one column for the count of successful conversions (I'll call them successes
, and one for the count of unsuccessful conversions (I'll call failures
):
m <- glm(cbind(successes, failures) ~ variant, family=binomial, data=data)
anova(m, test='Chisq')
When comparing the variants with each other ("pairwise comparisons"), lsmeans
by default compares everything to everything else, and adjusts the p value to account for these multiple comparisons. You may wish to only compare the original variant to everything else, as per your comment, which means that your p value won't be adjusted as heavily. This can still be done using lsmeans, but requires a little more work - you need to create contrast vectors specifying which conditions you want to compare. I've done this for your data below. To explain the first contrast, first.vs.second
, c(1,-1,0,0,0)
means "the difference between the first group (set to 1), and the second group (set to -1), with everything else set to 0, and so ignored.
m.comparisons = lsmeans(m, specs = pairwise ~ variant)
contrast(m.comparisons,
list(
first.vs.second = c(1,-1,0,0,0),
first.vs.third = c(1,0,-1,0,0),
first.vs.fourth = c(1,0,0,-1,0)),
first.vs.fifth = c(1,0,0,0,-1)),
adjust="tukey")
Finally, and this is very, very important: please don't just run the code I've provided, and consider your job complete. If you don't actually read up and understand some of how these analyses work, all of this information will be less than useless.