We record the number of volunteers that attended events, and have been using this to report on how many hours Restarters have volunteered globally. Before we had the ability to record volunteers in the system and link them to events, we used to have a just a number for the number of volunteers in attendance. The host could set this manually.
To simplify the reporting on hours volunteered for old and new events, we will most likely continue to use the raw number of volunteers as the basis for the calculation. We could work it out from associated volunteers, but it presents some difficulty when including past events.
calculating number of volunteers from volunteers that have been associated
So now volunteers exist in the system, and they are associated with the event one way or another (either invited/RSVPed, or added manually after the event.) When a volunteer is added or removed, that increments or decrements the number of volunteers.
Ideally, that alone would always result in the correct number of volunteers for the event. This should become more true the more we use the new system. That’s how we should encourage it be used, because then we have actual volunteers recorded in the system. If a volunteer doesn’t have an account in the system, they can be still be added (and also hopefully invited to create an account in the system at the same time.)
In this transition period, there’s a few cases where this probably won’t work. First of all, past events that were added before we moved to the new system. Hosts could actually go back and add volunteers, but possible they might not want to do that. It is less to just go back and change the number.
There’s also events that were created before we moved to the new system that had been given a number of volunteers in advance. Now, in the new system, we can associate volunteers, which will increment the number of volunteers, but it will get into a state where the number of volunteers is different from the actual amount associated.
editing number of volunteers directly
So I think we should probably bring back an input to edit the number of volunteers. We should strongly encourage inviting and adding volunteers so the number is automatically incremented, but have the number be editable as a fallback. It would make sense to put a small notice (like a little notification triangle) next to the number of volunteers when it doesn’t match the actual amount of associated volunteers for those cases where it has somehow gotten out of sync.
There’s a few alternative ideas, like running a one off DB update to create associate ‘anonymous’ volunteers to all past events, matching the number of volunteers set, and then making adding/removing volunteers the only way of changing the number, but I don’t think that will work for a number of reasons.
Reporting on hours volunteered
We can calculate the hours volunteered at events; in aggregate for a group; in aggregate for the whole of Restarters; and for a given individual.
All of those calculations will work with the number of volunteers alone, except for the hours for an individual (as we have to know specifically that that individual was at a given event.)
using start and end time to determine event length
One change we should make is calculating the hours volunteered based on the start and end time of the event. Currently the legacy calculation always assumes events are 3 hours long, which is not always the case. On the flip side if we base volunteer time on the length of the event, we are assuming a volunteer stayed for the whole event. That seems like a reasonable assumption that will be true the majority of the time.
additional host volunteer time
The legacy calculation also assumes a standard additional 9 hours of volunteer time for the host. I’m not sure if host’s were recording themselves in the number of volunteers previously. Hosts are now automatically marked as a volunteer at an event now. Which means if we add 9 hours on for the host’s prep (and post event) time, we’ll also be including 3 hours (or similar) for the time volunteered at the event itself. That seems fair enough, but it means that if hosts weren’t previously including themselves in the number of volunteers, there’s going to be a slight difference between old events and new events.
Furthermore, I guess we’d need to think about how, if we have it so that hosts can report on their individual time volunteered, those 9 hours are included in their individual report. Currently they’re just added on, assuming an event has only one host, etc.
Also @James_Diamond I’d be interested to hear what your preferred method would be for setting the correct number of volunteers for the recent Hackney Fixers event for example. Does adding a volunteer within the system for each person that attended seem OK, or would your preference be to just amend the number?