More statistics display

There are a few requests now for more comprehensive statistics display:

  1. Statistics per Person
  2. Statistics about the amount of saved food (long thread, one outcome was an export API for feedback implemented already)
  3. this idea from @mzpawlowski which is about history statistics

I’m thinking it could be nice to have a seperate section in sidenav menu for Statistics that would be hidden behind the “Show more” section, and in there we could have different types of statistics reports available (some for feedback, some for history, and the possibility for others too), each of them might also have various filters, plus the ability to export the data to CSV.

I think it might make sense to start with the suggestion from 3, as it’s quite specific already, but just keeping in mind that there would be some very different types of data required for other reports.

1 Like

I have left a supporting comment on the 1st thread, and I like the idea of having the total amount of pickups and of food saved available somewhere as I imagine that this motivates the group.

1 Like

We discussed this a bit today in our karrot co-working session, and a few thoughts came up:

  • we generally try and avoid too much visible status for people (which making “amount of food saved” on the profile could be)
  • … but presenting it more as statistics/data/overview could work nicely, especially as this information is already available, just not presented concisely

So, I was thinking to extend the concept from @mzpawlowski by adding a “food saved” column to the table (see How do you handle late drop-outs from pickups? - #11 by mzpawlowski), whaddya think?

(fyi work in progress is at Add activity history statistics endpoint by nicksellen · Pull Request #1040 · yunity/karrot-backend · GitHub)

I agree that this kind of information should foster neither competition nor pressure. We should also keep in mind that the amounts of food saved often depend on own guesses, so I now think it is better to look at it in a more aggregated form only.

I made some progress!

A few points:

  • as it is here, you can filter by single user, but maybe it’s not too pressuring/competitive if it’s just on this stats page? alternatively I could remove the single user filter option…
  • I would limit the time period, so you can’t search back forever, but something reasonable, maybe up to 6 months?
  • the time period might be useful to have in calendar months (e.g. “August”), rather than always backwards from NOW?
  • I had an idea that it’s a bit mean to point out that people left an activity (late or otherwise) if it actually gets done … (at least 1 person), so right now you only get a number in the left and left late columns if the activity ends up getting missed… (if this seems reasonable then I should probably including something on the page to make that clear)
  • I originally had “activity joined” column too, but I figured that’s not very interesting (as they might later leave, and could leave/join/leave/join, etc… and that number would keep going higher), I figured it’s more interesting just to see when they are done
  • in general, I figured it only makes sense to show information for activities after they are over (so nothing would every show for upcoming or in progress activities)
  • an “export to CSV” button seems useful, although there is not so much data there…

Sorry, that’s a lot of points, any thoughts on any of them would be welcome! I’ll probably leave it for a couple of days now…

I’d round the kg number at least to full integers, maybe even more coarse. Otherwise it looks too precise :wink:

I wanted to say thanks for the current statistics! And say that we want more :-).

  • Could we have the number of missed pickups? So that we could see which shops are the most problematic and see the numbers? |
  • By the way, what exactly does the “left” stand for now? I got lost. The initial idea was that it stands for resigning from a pickup but now it’s resigning minus the ones that other person saved? I’m a bit confused. Maybe a name change would help?
  • As said in other place, it would be great to have statistics for feedbacks given so that we could compare the nr of pickups and the nr of feedbacks and see where and who did not provide feedback.
1 Like

Yes, seems a good idea! This would only make sense when selecting “All users” though, as there is no concept of an individual person missing a pickup.

I agree, it’s confusing! It definitely needs a clearer explanation. Your guess is correct, it’s ones where the user left, that did not eventually get fulfilled - the thinking was that if somebody “hands over” the pickup to someone else, that is quite different to just leaving…

Two improvements could be:

  1. add a little info box to explain what it means
  2. make it into two columns, the raw “left” count, in addition to the “left but later fulfilled” count, so you can see all the information and decide for yourself how to deal with it

Yes, also seems a good idea. As the feedback can be given at a later time that could make it confusing (for example, if viewing “past 7 days” there might be a feedback given in the past 7 days for a pickup 8 days ago). So I think it should only consider the date of the pickup, rather than the feedback. Maybe that is a detail you would rather not think about!

The other aspect is for pickups (or, activities I should call them) that multiple people do - for some groups it’s fine when just one person does the feedback, but maybe other groups require everyone to give feedback? How is it for your group?

And one more idea I had, at the moment the statistics shows one row per place, I wonder if it’s useful to have a “person” view as well, which would show one row per person? (which would deal with the issue of having to look at each person individually…). Does that seem useful? Does this make it too easy to “pick on” someone?

1 Like


  • Missed pickups for all users - yes, exactly
  • “Left” pickups - maybe just let’s call it “resigned” and this will be clearer already? And if there will be next column/option with “missed” pickups, this will also clarify which is which. I think the other suggestions are ok, but unnecessarily complicated ;-).
  • Feedbacks. We said for Warsaw that we need to give feedback within 3 days, but this is just for us. Yes, date of the pickup, not of the feedback is fine.
  • Multiple people for one pickup. We usually do it this way that one person writes the feedback for both/all and the other one writes “person x wrote it”. Maybe some do “I write my part” and “you write your part”, but it doesn’t really matter. I think a statistic for this would be enough. Only if discussing features like automatically blocking a user for not giving a pickup we would need to think about it more in depth. But for now just displaying raw data would already be helpful.
  • Yes, totally the other view would help. Well, yes, it would slightly make it easier to “pick” on someone, but I think that 1) people rarely use the statistics anyway and wouldn’t be motivated to do it this or other way and 2) if someone want’s to find someone’s mistakes - they will do it anyway, with or without this option.


I started work on this now :slight_smile:

Just the backend bit for now… the frontend part soon…

Ok, I had a go at the frontend - specifically trying to get this “left” bit clearer, here’s what I have so far…

There is one left column, and it shows the count for how many activities were left (somebody who was signed up for an activity but then stepped back):

(You can also see the new feedback and missed columns - the missed column will only show up when All users is selected - as an individual user can’t miss an activity).

The left column has two options behind a little “3 dots” menu:


I put it as options, rather than multiple columns as the table would be really overwhelming with all the different combinations visible! I would think to have the default as missed = true and late = false.

So, questions for anybody:

  • is the word left clear enough? (or any other suggestions, such as resigned suggested by @karolina above)
  • does it need more explanations? (e.g. perhaps for all the columns? maybe others aren’t clear?)
  • is it actually worth having the options? (if not, what value should be displayed?)
1 Like

OK, great to see that it’s almost ready!

left - no, for me it’s not clear, still
yes, more explanation would be good, but actually only for the “left” column
whether it’s worth - sure, it is! And I think the defaults that you suggest are good


The wording is actually the hardest bit here for me!

How about withdrew?


1 Like

OK! The challenge will be to translate it now to Polish ;-).

1 Like

It makes sense to me!

1 Like

Is it possibile to add to statistic information if in some point there were no activity because of that noone sing in?

Ok, some time later, the feature finally got deployed! (it had been waiting only deployed to dev site for a while…). Let me know how it goes!

@Michal_Lewandowski it might be that this release answers your request, as it now has a missed column, that shows how many activities were missed for a given place in that time period. Is that what you are wanting?

(it took a long time to reply, as I’ve had a karrot-break for the last couple of months, cycling from Germany to UK :mountain_biking_man:)