       rates = map cms, computeTPRandFPR
       createROCChart rates
 
+    compareInputParameters = (modelsByAlgorithm) ->
+      zipObject mapWithKey modelsByAlgorithm, (models, algorithm) ->
+        headParameter = (head models).parameters
+        tailParameters = map (tail models), (model) -> model.parameters
+
+        headKeys = keys headParameter
+
+        #TODO null keys
+
+        areSame = map headKeys, (key) ->
+          every tailParameters, (tailParameter) ->
+            a = headParameter[key]
+            b = tailParameter[key]
+            # DRF has array-valued params, so handle that case properly
+            if isArray a and isArray b
+              a.toString() is b.toString() #HACK
+            else
+              a is b
+
+            tailParameter[key] is headParameter[key]
+
+        [
+          algorithm
+          zipObject headKeys, areSame
+        ]
 
     createComparisonGrid = (scores) ->
       header = [
         'Method'
         'Name'
+        'ROC Curve'
         'Input Parameters'
         'Error'
         'AUC'

        [
          model.model_algorithm
          model.key
          model.parameters
          (format4f metrics.error) + errorBadge #TODO change to bootstrap badge
          format4f auc.AUC
          head auc.threshold_criteria

    renderComparisonTable map selectedItems, (item) -> item.data

  renderComparisonTable = (scores) ->
    [ table, kvtable, thead, tbody, tr, diffSpan, th, td ] = geyser.generate 'table.table.table-condensed table.table-kv thead tbody tr span.bg-info th td'

    transposeGrid = (grid) ->
      transposed = []
