1. A server comprising: a memory having executable instructions; and a processor coupled with the memory, wherein the processor when executing the executable instructions performs operations comprising: receiving a request over a network to predict an image preference for an image pair comprising a first image and a second image; identifying a first distortion type associated with the first image and a second distortion type associated with the second image; sampling a variable effect distribution of viewing preference data to determine a first set of effects comprising a plurality of first reference image effects associated with the first image and a plurality of first distortion type effects associated with the first distortion type and to determine a second set of effects comprising a plurality of second reference image effects associated with the second image and a plurality of second distortion type effects associated with the second distortion type; calculating a preference estimate from a logistic regression model of the viewing preference data according to the first set of effects and the second set of effects, wherein the preference estimate comprises a probability that the first image is preferred over the second image; and sending the preference estimate over the network.