Develop a statistical test to distinguish two products I have a data set from a customer survey, I want to deploy a statistical test to see whether there is significance difference between product 1 and product 2.
Here is a data set of customers' reviews. 
The rate is from very bad,bad,okay,good,to very good.
customer    product1    product2
1           very good   very bad
2           good        bad
3           okay        bad
4           very good   okay
5           bad         very good
6           okay        good
7           bad         okay
8           very good   very bad
9           good        good
10          good        very good
11          okay        okay
12          very good   good
13          good        good
14          very good   okay
15          very good   okay

What methods should I use to see if there is any difference betw these two products?
 A: *

*One possibility is you could use the sign test.
This relies on the comparisons within customers to see whether their rating from product1 to product2 went up, down, or stayed the same (under the binomial sign test the assumption is that you only get "up" or "down" results, but there are several common ways to approach the within-pair ties, such as customer 9's good vs good).
One common approach is to exclude the tied ratings like customer 9's (so that the conclusion is about the relative proportion of up-vs-down differences in the population, assuming random sampling of customers).
In this case you had 4 customers who gave higher ratings to the second product, 8 who gave lower, and three who gave the same.
In that case, with your data, 4 of one sign and 8 of the other, a two-tailed sign test would not come close to rejection at any typical significance level. Here's the analysis in R:
> binom.test(4,12)

        Exact binomial test

data:  4 and 12
number of successes = 4, number of trials = 12, p-value = 0.3877
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
 0.09924609 0.65112449
sample estimates:
probability of success 
             0.3333333 

The p-value is quite high.

*Now if you're prepared to assign scores (or even just to rank) to the relative sizes of the changes in ratings within each pair -- that is to say, whether customer 2's "good" to "bad" change is bigger, smaller or the same as customer 4's "very good" to "okay", and so on, then you could apply a signed rank test on those ranks or by doing a paired permutation test on assigned scores (though you must also deal with heavy ties, this can readily be done by permuting the sets of ranks or scores you actually have).
There are some other choices you might consider -- but I don't think choice of analysis will change the outcome; I think they'll all fail to reject at typical significance levels on this data.
A: You have dependent ordinal data. You should use the Wilcoxon signed-rank test to test for significant difference between both products across all customers.
But given the data above, the Wilcoxon signed-rank test does not yield significant results.
