Custom Models
Custom models are written in javascript. The javascript shouldn't be doing any heavy calculations, but instead should build a dynamic pipeline or data flow. This is possible since pipelines and data flows can be defined in pure JSON. A visualization can then execute the pipeline or data flow on the compute cluster.
We've used custom models to build DCM simulators. We built a model to return individual level probabilities. The model took a couple of input parameters to determine whether an 'other/none' option exists, which algorithm to use (share of preference, first choice, nested logit), and a few other parameters. Once the individual level probabilities are calculated, a basic pipeline can aggregate those probabilities in total or by subgroup.
Usage Example:
Just paste the freaking syntax here for the custom iProb model and explain it