Saturday, July 6, 2019

Free Market Chore System

I wanted to share the latest project I have been working on. It is a chore sheet that dynamically sets prices for the chores based on the feedback of the market (group doing the chores)

This is still in development, I just built it a couple weeks ago and it is a little rough around the edges but it is working pretty well as a proof of concept.

How it Works

1. Add your list of chores. You can add more in the future so don't worry about getting all of them the first try

2. Set a starting price. The starting price doesn't matter too much because it will change over time. The idea is to try and put it a little below what you think people will actually do it for.

3. Estimate how long it will take. Again, this will change over time but you want to try to be fairly accurate. Estimating too high is better than too low.

4. Put a checkmark in the status column to say that the task needs to be done

5. Click the checkbox next to "Assign Chores" when you are finished. This will assign out any chores that are checked and not already assigned.

Now that you've got the chores set out and assigned, you can go look at your list to see what jobs were assigned to you.

As you can see, each job shows the price, the estimated time, the per hour rate and gives you four options:

Not Available - This is for if there is an urgent job that needs to be done but you are not available to do it right now. Clicking this will assign it to someone else.

Reject - This is for when you don't think it's worth it to do the job. Clicking this will assign it to someone else and increase the price by 10%.

Working - When you are ready to do the chore you check this and it will keep track of your time in the "Time" column. If you take a break without finishing just uncheck and the time will stop increasing.

Completed - When you are done with the chore you hit completed.


Background Operation

Assign Chores - When this button is pushed, each task that is not already assigned will be assigned to someone. The chance that someone will be picked is based on their balance. The higher the balance, the less likely they are to be assigned the chore. The lower the balance, the more likely they are to receive the chore. This helps to balance out between people with higher and lower balances, if you have a lower balance, you are more likely to get first pick of the chores.

Reassign Chores - This will simply unassign any chores that have not been worked on yet and then assigns the chores as explained above. This feature is for when someone has finished all of the chores on their list and they would like to be able to do more chores. This also prevents someone from hoarding chores and incentivises them to do the highest paying chores first to avoid those jobs being reassigned.

I have already explained "Not Available" and "Reject"

Working - Every minute, any chores that have "Working" checked will have the number in the "Time" section incremented. This represents how long it took to complete the job.

Completed - When a chore is marked "Completed" it will have the "Status" unchecked on the "Chores" page. The chore name, price, time, and person who completed it will be recorded on the "History" page. The balance of the person who completed the chore will be increased by the price.

Calculating Price - When a job is completed, the price is calculated as the average price that the chore has been done before on the chore sheet times 80%. The price on the "Chores" sheet will be updated to this number. This is to always be putting downward pressure on the price of the job. If people continually do the price for the price offered the price will go down over time. (Remember, when people reject a chore because the price is too low it increases the price by 10%, this is how equilibrium is found for the price. If it's too high it won't be rejected and the price will begin to fall. Too low and people will reject it, raising the price, until someone is willing to do it.


The Purpose

The idea is to easily and simply find the market prices for each chore in a way that doesn't take much thinking on the part of the users. All the users have to think about is whether they think it is worth it to do the job for that price.

It works similarly to an auction where the right to bid is randomly chosen and the price of the bid is already selected. Now the person only needs to decide if they want to exercise this option or pass it up.

This brings the benefit of free market pricing without the drawbacks of needing speculators and investors who spend a lot of time finding the market price. This of course isn't feasible on the small scale with untrained people.


If you would like more info or have any comments or suggestions for me, feel free to leave a comment below or email me at

No comments:

Post a Comment