   "This function dispatches to either small- or large-conv-update, depending on the number
   of participants (as decided by call to sample-size-fn)."
   [conv votes & {:keys [med-cutoff large-cutoff]
-                                 :or {med-cutoff 100 large-cutoff 1000}
+                                 :or {med-cutoff 100 large-cutoff 10000}
                                  :as opts}]
   (println "\nStarting new conv update!")
   (try

                      :last-clusters (:base-clusters conv)
                      :cluster-iters (:base-iters opts')))))))

       :group-clusters
            (plmb/fnk [conv rating-mat base-clusters opts']
              (time2 "group-clusters"
                (greedy
                (sort-by :id
                  (kmeans (xy-clusters-to-nmat2 base-clusters)
                    (choose-group-k base-clusters)
                    :last-clusters (:group-clusters conv)
                    :cluster-iters (:group-iters opts'))))))

       :bid-to-pid (plmb/fnk [base-clusters]
                     (time2 "bid-to-pid"
                      (greedy
                       (map :members (sort-by :id base-clusters)))))

       ;;; returns {tid {
       ;;;           :agree [0 4 2 0 6 0 0 1]
       ;;;           :disagree [3 0 0 1 0 23 0 ]}
       ;;; where the indices in the arrays are bids
       :votes-base (plmb/fnk [bid-to-pid rating-mat]
                     (time2 "votes-base"
                       (->> rating-mat
                          colnames

                              :D (agg-bucket-votes-for-tid bid-to-pid rating-mat disagree? tid)}))
                          (reduce (fn [o entry] (assoc o (:tid entry) (dissoc entry :tid)))))))

     ; End of large-update
     }))



