/allocation

Simple command line tool for weighted choice allocation

Primary LanguageRubyMIT LicenseMIT

Weighted choice allocation command line tool

Getting Started

This tool requires Ruby.

Usage

Usage: ruby allocation.rb [-h][-v] path/to/file

Format of choices in a .csv file:

Name,Topic 1,Topic 2
Person 1,w1,w2
Person 2,w3,w4

(w1..w4 are weights as real numbers)

Whether the weights are natural numbers, between 0 and 0 or including negative numbers is up to you. The tool works with all.

You can translate preferences into weights by setting all weights of non-preferences to 0 and awarding points e.g. according to:

  • a linear scale (first=3, second=2, third=1)
  • an exponential scale with base 2 (one choice is double the weight of the next one, first=4, second=2, third=1)
  • an exponential scale with base 3 (one choice is triple the weight of the next one, first=9, second=3, third=1)

Author