1. A computational system for performing an online choice model, the system comprising at least one processor and at least one memory operatively coupled to the at least one processor and comprising a plurality of modules comprising instructions for execution by the at least one processor, the plurality of modules comprising: a problem definition module comprising a problem definition user interface for receiving a plurality of attributes from a user wherein each attribute has an associated plurality of attribute levels; an online choice model survey module comprising: an experimental design generator module for generating a survey experimental design and an associated plurality of treatments, comprising a library of experimental designs, wherein the experimental design generator module determines the signature of the attribute space from the received plurality of attributes and associated attribute levels and for one or more experimental designs in the library of experimental designs, performs one or more transformations until the signature of the transformed experimental design matches the signature of the attribute space to obtain one or more matching transformed experimental designs wherein each transformation preserving the information properties of the untransformed experimental design, and selecting the survey experimental design from the one or more matching transformed experimental designs, and obtaining a set of treatments from the selected survey experimental design; an online survey assembly module which receives the plurality of treatments and assembles an online survey from one or more survey templates pages, and a plurality of treatment representations created using the plurality of treatments received from the experimental design module; a data collection and sampling module for conducting the assembled online survey, wherein the data collection and sampling module allocates treatments to survey respondents and collects responses using the assembled online survey; a model generation module for receiving the data collected by the data collection and sampling module and building a model to obtain a plurality of model parameter estimates and errors from which a utility estimate can be obtained for each attribute level; and a model explorer module comprising a model explorer user interface for allowing the user to enter one or more attribute levels and obtain a model prediction of the expected utility.