Lliira
Organize the best timeslots for a meeting based on probability scores.
📝✨💃
Input format
Input is a tsv file (for easier copy-pasting from spreadsheets).
If input file is not specified, data.tsv
is used by default.
Each row stands for one participant preferences, each column stands a single timeslot.
Rows could be prefixed with names.
Default scores definition
0
— Impossible, ~0%.1
— Bad, <50%, or going to be late or leave early every time.2
— Inconvenvient, ≥50%.3
— Tolerable, ≥80%.4
— Good, ~100%, perhaps with only minor inconvenience.5
— Perfect, ~100%.
Example input file
Alice 4 5 0 0 5 2John 4 5 5 4 2 5Maddy 3 2 5 0 4 4Mike 1 0 3 5 5 4Peter 5 5 3 1 2 2
Names are optional, generic names are used if only numbers are present in the input.
Output format
This tool is not ideal — it does not select one magic timeslot or a magic combination to use. Instead, it ranks each possible attempt using several metrics, and outputs a set of several optimal combinations for different utility function balances.
After that you can select the one combination you see better fit (based of metrics).
For maximum number of meetings equal to three (default), there should normally be about 10 entries in the output or less.
Timeslots are numbered from 0
.
Example output
times: 4 participation: avg: 07357 min: 0479 stdev: 02096 fair: 08255 interaction: avg: 05536 min: 02395 stdev: 02092 fair: 06655 times: 0 participation: avg: 07415 min: 01936 stdev: 02792 fair: 05673 interaction: avg: 05478 min: 01549 stdev: 03082 fair: 04745 times: 5 participation: avg: 07317 min: 04776 stdev: 02075 fair: 08244 interaction: avg: 05492 min: 02388 stdev: 02065 fair: 06644 times: 0 4 participation: avg: 07386 min: 05518 stdev: 01245 fair: 09678 interaction: avg: 05507 min: 03185 stdev: 01394 fair: 0725 times: 4 5 participation: avg: 07337 min: 04783 stdev: 0158 fair: 08476 interaction: avg: 05514 min: 03466 stdev: 01563 fair: 07372 times: 0 2 4 participation: avg: 07103 min: 06128 stdev: 00904 fair: 09688 interaction: avg: 05111 min: 03538 stdev: 01004 fair: 08261 times: 0 4 5 participation: avg: 07363 min: 06254 stdev: 00819 fair: 09655 interaction: avg: 05502 min: 03626 stdev: 009 fair: 07937 times: 0 3 4 participation: avg: 05219 min: 04337 stdev: 00607 fair: 09193 interaction: avg: 03765 min: 02261 stdev: 00817 fair: 06501 times: 1 4 5 participation: avg: 06973 min: 06088 stdev: 00708 fair: 09527 interaction: avg: 04973 min: 03072 stdev: 00845 fair: 07563 times: 0 4 4 participation: avg: 07376 min: 06226 stdev: 0122 fair: 09585 interaction: avg: 05516 min: 0364 stdev: 01283 fair: 07653
Of that, [ 4 ]
looks like the most tolerable time for a single meeting, and [ 0, 4, 5 ]
looks to be
a decent choice for rotating recurrent meetings.
Metrics
Metric groups
-
participation
is an analysis of participation probabilites. It is done per-person and measures the distribution of number of meetings visited by a person. -
interaction
is an analysis of interaction probabilites. It is done per each unique pair of participants and analyzes the distribution of number of times that interaction happened.
Group scores
-
avg
is an average number for all entries divided by the theoretical maximum.min.participation
is equal to the chance for an average paricipation to happen in an average meeting.min.interaction
is equal to the chance for an average interaction to happen in an average meeting.
-
min
is the average number for the least represented entry.min.participation
is equal to the chance that the least represented participant will participate in an average meeting.min.interaction
is equal to the chance that the least overall probable interaction will happen in an average meeting.
-
stdev
is a population standard deviation over a set of average numbers for each entry. The lowerstdev
is, the more equal each entry is represented (i.e. all are equally good or bad). -
fair
is a non-linear metric that first tries to optimize the amount of entries that are represented at least onece, then amount of entries that are represented twice, and so on.
Scale for avg
, min
, and fair
is 0,1
, scale for stdev
is 0,0.5
.
Good numbers for avg
, min
, and fair
are the higher ones, good numbers for stdev
are the
smaller ones.
Quorum rule
Quorum rule is enabled by default, but can be disabled in config.
Meetings not reaching the quorum (e.g. «more than 50% people present», which is the default value) are considered cancelled and have zero resulting utility.
That is taken into account automatically when metrics are computed — metrics are already corrected by the probability of reaching the quorum at the selected time slots.
Default parameters
Parameters are bundled in config.js
.
Default maximum number of meeting slots that could be rotated is equal to 3
— that means that each
row will present at much 3 time slots to rotate between those (for regular meetings).
Default probability values for scores are [0.02, 0.2, 0.5, 0.8, 0.94, 0.95]
.
That never reaches 0
and 1
on a purpose — those are not real-world probabilites.
So 0
is not always 0% and 5
can not mean 100% attendance — unexpected things happen.
Default quorum size is 0.5 + 1e-6
, which stands for «more than 50%».