Averaging Rating Data

Hey,

So we have an app for a conference very similar to template one, however, we would like users to be able to rate each speaker and for the app to show the average rating for each speaker. I know there is no native function for this yet but is there a workaround anyone could explain?

Any ideas would be appreciated!

Alex

Details:
Every use should be able to rank the speaker (which I can do with user-specific rows & the rating input), however, I would then like to take all the data from all the users and average it to get an average rating to display in a chart on the app for everyone to see. The second part is where I am stuck.

1 Like

This concept might help you.

If you still have questions about it please come back here and we will try to help.

Hey,

Thank you for your quick help! The idea was perfect, however, unfortunately, the ‘ratings’ field does not have the option to add an action to it. So I could pivot and have a like function, but, if you know of anything else that could help with a cumulative rating and averaging of the rating tool that would be awesome!

Thank you for your time.

Alex

You can do it in a separate screen like this.

image

You would store the rating to a user-specific column that only serves as a temporary storage on the second screenshot. Let’s call it “temporary rating”.

Force users to make a decision whether to “submit” or not. If they press submit you write that value to another column “permanent rating”, also a user-specific column. Serves only as a way to show the rating to the signed-in user later on.

Now for the average, it gets a bit complicated. You would need 2 columns to help here:

  • A total global rating column (number, normal column).

  • A total global raters (number, normal column).

On the submit action chain, after the set column to the “permanent user rating”, next actions would be incrementing the total global rating by the permanent user rating, then increment 1 in the total global raters.

Finally, the average would be a math column: Total global rating/Total global raters.

3 Likes

Hey,

Thank you that works perfectly! Thank you for your time and help much appreciated.

Alex

1 Like

It seems to get immensely more complicate if I then want to allow a user to edit their rating. Do you have ideas how to do this? I’d need to know if they already rated, then if yes, remove their old rating from from the cumulative rating and resubmit the new one. It sounds easy but as I try here for 2 hours it seems just impossible. .

I think the easiest way to do that would be having a separate table for the ratings. Do you anticipate the usage to go so high that your team’s plan wouldn’t be able to host a person’s rating on its own row?

Yes. I have around 400 items (and growing by about 5-10 per month) for which their essential information is a rating across 17 points. That would be l mean only 3-4 people can rate all the items, or around 100 people can rate 10 items before rows exceed 25k…

By “across 17 points”, do you mean they have to submit 17 different types of rating for an item?

Yes. They have the option to. And likely a user would submit all 17 or none at all. A simple star rating or 1-5 is sufficient. I’m thinking the only option is to make a row on another sheet for each vote. Then manually delete and close ratings once a certain number of ratings is achieved - and manually save the cumulative ratings on the 17 points for the device. :confused:

I think this is what you need.