How to handle much wanted pickups?

We have recently introduced a new categorization of stores in Warsaw which define the rules how often each foodsaver can sign up for a pickup. We have taken the following factors into account to assing a category for each store:

  • Popularity of the store defined as ease to sign up for a pickup (based on an observation of stores for a couple of weeks in random times).
  • Number of foodsavers ready to pickup in a given store (based on history of pickups in last two months).

We have created four categories:

  • Popular stores which you can pick up not more often than every 14 days
  • Popular stores which you can pick up not more often than every 7 days
  • Stores which require moderation in pickups, i.e. you can pick up once in a week (1 pickup between Monday and next Sunday)
  • Unpopular stores which you can pick up without any restrictions

We are quite happy with the rules, especially that the methodology used to prepare the categorization led to reasonable and uncontroversial outcomes.

However, what we currently lack is a proper mechanism to enforce imposed restrictions. Iā€™m trying to build some automated scripts using Karrot API but, as I donā€™t have any experience in this area, it will take me some time to get to the point when it can be used :slight_smile: We have had an interesting idea how a simple change in Karrot could help us (and all other Karrot communities) control the frequency of pickups in much wanted stores. This would be an option to see not only future pickups in a store but also historical pickups on the same page:

Itā€™s still to define how many historical pickups should be displayed - would it be the same number of weeks which are set up in settings for future pickups or a fixed number or would it be a new config item. Before spending time on details I would rather know what you think about this. Do you find it useful too? And how complex is it from the development perspective?

2 Likes

Thanks for the nice explanation, Iā€™m very interested in your approach!

I wonder how to load historic pickups, there can be many. So it would either just show the last 20 historic pickups or need some form of pagination, for example by ā€œendless scrollā€ or ā€œload moreā€ button.

This seems to duplicate the history feature a bit - I guess the history is too verbose and not very nicely displayed right now, but that could be changed.
We could

  • use the same way of displaying pickups as in the pickup list
  • allow filtering by pickup_done

Do you think that would solve the problem as well? Maybe itā€™s easier to implement the proposal above.

What if all members collected points for unwanted pickups and spent them on much wanted pickups?

If this was strictly implemented Iā€™d never be able to contribute, for reasons (medical) Iā€™m probably only going to help out at the pickup(/-s) (now popular) closest to me.

The purpose is to display the latest history for validation purpose, therefore, ā€œendless scrollā€ or ā€œload moreā€ button are probably not needed. I think the best option is to see the same number of weeks in the past as set for future pickups or have a dedicated config item in settings for this. More history could be found on ā€œHistoryā€ page.

Current ā€œHistoryā€ page contains too much information to use it efficiently. Filtering history by activity type is a great feature. But the filter doesnā€™t have to limit to ā€œpickup_doneā€, activities like ā€œpickup_joinā€, ā€œpickup_leaveā€, ā€œpickup_modifyā€ and all others could be helpful too.

Even with filter on ā€œHistoryā€ page the purpose to display both historical and future pickups on the same page, as defined by option ā€œHistorical and future pickupsā€, wonā€™t be achieved. I believe this is the most user-friendly view to easily see when someone picked up a store last time and when he/she intends to do it next time. Perfect tool for all the members of the community to easily validate if they donā€™t break agreed rules or simply if they donā€™t overdo with pickups if such rules do not yet exist.

Itā€™s just an idea not a complete solution :slight_smile: Imagine each member of the community gets a number of points for ā€œfreeā€ each month and they can be spent on any pickups. Then, you would also be able to contribute.

2 Likes