# Determine sample size and mean variance

Currently my data looks like this; there're 50 videos, and each video has been viewed and rated by 30 people, and I want to find out if I could have a smaller sample size (n<30) that gives similar estimates (within +-0.5 points). *I'm taking the estimates when n=30 as a "population mean/standard deviation", and I want to see if a smaller sample size would get a similar results (determine sample size).

VideoID Score
1 3
1 3
1 2
.... ...
50 3
50 4

The distribution of scores (1-5) is a "skewed right" distribution, and the variation in scores within each video is different depending on the videos. I have tried randomly picking rows in this data frame, calculating standard deviation of scores in a for loop (re-sampling 50 times) and plotting it out. It seems like n=20 looks like a good choice, but I've no idea whether this method is logically flawed or not. What's the right way to accomplish my goal? Is there any hypothesized tests I should take a look at?