Spliddit's tasks calculator fairly divides household chores, work shifts at a hospital, or any other set of tasks. You begin by providing a list of tasks that you wish to assign (for example, morning shift, afternoon shift, night shift) and a list of participants. We then send the participants links where they specify how much they prefer each task relative to the others. Our algorithm uses these evaluations to propose a fair division of the tasks among the participants.
Fairness Properties
Envy-freeness
A division of tasks is envy free if each participant believes that her workload is at most as much as that of every other participant, i.e., no participant envies any other participant. While our algorithm may often find an envy-free division, no algorithm can guarantee one.
Our algorithm guarantees a division that is envy free up to one task: A participant would never envy another participant if we removed a single task assigned to them.
Efficiency
Our algorithm assigns the tasks in such a way that it would be impossible to find another assignment that benefits one participant without making another worse off.
Algorithm Overview
We assume that the total (perceived) workload of a participant is the sum of their (perceived) workloads for their assigned tasks. Our algorithm is based on computing a Fisher market equilibrium to find a division of tasks. This division has been proven to be envy free up to one task and efficient when each participant views some tasks as (equally) difficult and others as (equally) easy, and conjectured to satisfy these guarantees for any preferences that the participants may provide.
Reference: "How to Fairly Allocate Easy and Difficult Chores", by Soroush Ebadian, Dominik Peters, and Nisarg Shah.