open-cogsci / omm-server

Open Monkey Mind server
Apache License 2.0
0 stars 1 forks source link

Statistics dashboard #120

Open nclaidiere opened 2 years ago

nclaidiere commented 2 years ago

On the dashboard, most active studies and most active participants are very useful (with the number of jobs done), could they list all the studies and participants rather than just a few? That would be long lists but they can be put below the participation trend? Ideally they would be in decreasing order of number of jobs done. Most recent participations are not very informative and can be removed I think. Finally, it’s hard to make sense of 7-day participation trend (see below, it doesn’t make much sense to me, why is it bumpy?). What would be fantastic would be to have a graph with the number of jobs done by participant and by day and a y-axis to know what the scale is.

dashboard-2

smathot commented 2 years ago

Marking this as won't fix for now since it's a feature request rather than a bug fix.

smathot commented 7 months ago

Note from Nicolas:

Same with participants tab, in participations it is nice to have the studies and the number of trials done (not % complete) and it could also list the studies for the last week by default (then option for month, year or all)

kristian-lange commented 1 month ago

Hi @nclaidiere

Can you please have a look at the video. I removed the 'Most recent participations'. And let the 'Most active studies' and 'Most active participants' load up to 1000 entries each (the limit is just for safety and as far as I know unlikely to be reached). The two lists are scollable and ordered by most active first. Are you happy with these changes?

Then about the graph. We use Vuetify and this framework only supports sparklines. Vuetify's sparklines are pretty limited. I did my best: reduced 'bumpiness' and abolished the flashy colors - but it's impossible to add a y-axis (which I personally dislike since one cannot see how many jobs were done on each day). What do you think, is this enough?

https://github.com/user-attachments/assets/923c409f-bd1a-41a7-8c3b-5a5d32a0028d

Edit: spelling

nclaidiere commented 1 month ago

Hi Kristian, Thanks for the video.

'Most active studies' and 'Most active participants' load up to 1000 entries each (the limit is just for safety and as far as I know unlikely to be reached). The two lists are scollable and ordered by most active first. Are you happy with these changes? Yes, that sounds good, will there be an option to change the timespan (day, week, month, year?) as planned?

For the sparkline, if it isn't possible to know how many jobs were done on each day, then it's not useful. If a graphic is not possible, a table instead would be great, you could have list of participants with number of trials each day and total on each day. Something like this:

<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">

  | 10/10/2024 | 09/10/2024 | 08/10/2024 | 07/10/2024 | 06/10/2024 | 05/10/2024 | 04/10/2024 -- | -- | -- | -- | -- | -- | -- | -- Total | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 | 1000 p1 | 100 | 100 | 100 | 100 | 100 | 100 | 100 p2 | 100 | 100 | 100 | 100 | 100 | 100 | 100 p3 | 100 | 100 | 100 | 100 | 100 | 100 | 100 p4 | 100 | 100 | 100 | 100 | 100 | 100 | 100 p5 | 100 | 100 | 100 | 100 | 100 | 100 | 100 p6 | 100 | 100 | 100 | 100 | 100 | 100 | 100 p7 | 100 | 100 | 100 | 100 | 100 | 100 | 100 p8 | 100 | 100 | 100 | 100 | 100 | 100 | 100 p9 | 100 | 100 | 100 | 100 | 100 | 100 | 100 p10 | 100 | 100 | 100 | 100 | 100 | 100 | 100

Is that possible? and in fact, the same table for studies maybe.

nclaidiere commented 1 month ago

It seems vuetify as a data table component: https://vuetifyjs.com/en/components/data-tables/basics/#virtual-tables

kristian-lange commented 1 month ago

Yes, that sounds good, will there be an option to change the timespan (day, week, month, year?) as planned?

I can't remember this option to change the timespan. Where this planned? It's possible. Internally it's just a parameter. But in the GUI it would need additional input fields. But are additional input fields something you envisioned or am I misunderstand you?

Then about the table instead of the sparkline. Let me have a look whether it's possible with the data we have already. I wouldn't like to change another API endpoint for this.

nclaidiere commented 1 month ago

I can't remember this option to change the timespan. Where this planned? It's possible. Internally it's just a parameter. But in the GUI it would need additional input fields. But are additional input fields something you envisioned or am I misunderstand you?

Yes, it was planned. My idea was to have something like the google Ngram plots (https://books.google.com/ngrams/), you can choose the period and visualise the data. But if you don't have a y-axis and can't see the values it doesn't work (although there seems to be a way to put the values as text below the points, see https://vuetifyjs.com/en/components/sparklines/#custom-labels).

Re. input fields: my idea was like buttons or drop down menu, choosing btw data for days, weeks, months. You could have the same thing in table format of course.

If it's not clear we can meet to discuss.

nclaidiere commented 1 month ago

I just went to check on my electricity bill, here is what would be awesome. DAY (you can see every hour) image WEEK (you can see every day) image and so on for months and year.

Note the arrows that allow you to change days, weeks, months, years? and the total and timespan?

smathot commented 1 month ago

Hi @nclaidiere , I'm afraid that a visualization like this is not in the cards, because vuetify doesn't support it. So let's think inside the box, and come up with a visualization that is satisfactory and realistic!

The sparklines is limited to a single line, so that is not useful right? (Because you need to have separate lines for separate participants.) The table then seems like the best option? How about a table as you posted above, combined with a dropdown menu that allow you to select "Past day", "Past week", "Past month", "Past year"?

nclaidiere commented 1 month ago

Hi, I agree sparklines are too limited to be useful and a table would do just fine. Columns would vary, past day would give you the number of trials per hour, past week the number of trials per day for last 7 days, per month would be nb trials for last 30 days and past year would be nb trials by month for last 12 months. Rows would be total and then either by participant or by study, two different tables on top of each other. Is that what you have in mind? dropdown menu or 4 buttons, as you prefer.

smathot commented 1 month ago

Yes, that should be doable! :+1: @kristian-lange Is that clear, and do you agree?

kristian-lange commented 1 month ago

Hi @nclaidiere, hi @smathot I worked pretty hard on this one. Please have a look. I combined Vuetify's sparkline with a simple table and this way I was able to show a graph + values + labels. The only downside I can see is that it still has no y-axis but the values are underneath the labels. It also has an selector for 'Past day', 'Past week', 'Past month' (actually always past 30 days), and 'Past year'. The data handling in the background was pretty difficult for me.

https://github.com/user-attachments/assets/7b75b3fe-6d79-4c1e-892f-46537e54c230

smathot commented 1 month ago

Ok that looks much better!

nclaidiere commented 4 weeks ago

Hi kristian, this is great!