I'm quite new here so please excuse me if this isn't a suitable question.
I'm developing a site for students to allow them to upload their virtual transcripts (grade report) to our site and allow us to do various manipulations (add an upcoming assignment, drop an assignment, etc.) so we have a large amount of information of students across our school (many gigabytes of data). I was wondering what kind of statistical analysis I can do upon that information. Is there a more popular application of statistics for something like this that I can look at? (Stocks? etc...)
Here's a quick overview of what kind of information I have on hand:
- Assignment Earned Points/Assignment Possible Points
- Category of each assignment
- Weight of each category.
- Names of Assignments, Class, Teacher
- Current Letter and Numeric Grade in the class.
We then calculate category totals, and create a grade history based on their assignment history and class weight settings.
We hope to do simple things like getting the average and standard deviation of the scores of an assignment. Then we'll display a user's average and percentile (calculated from average/standard deviation, we're assuming normal distribution but this is a bad assumption...) of the data. (But I think a confidence interval instead of a mean would be more appropriate, but we'll complete that implementation at a later date). We have a minimum cutoff currently at 5 to ensure users can't just estimate what another specific user is getting but to also ensure that the data is somewhat statistically valid. Is there a better way of determining a cutoff for the data? What are some other neat things we can do with this data? I feel like we're barely scraping the surface and hope that there's some things that we can't think of that would be useful for a student to look at.
Another problem: the data isn't always fresh, we only get data as they upload it and some users update more frequently than others. However, we wish to create a history graph that depicts the class's average grade history. We store data every time the user updates on what grade they have in each class at the time of the update. But, it's hard to determine what constitutes as a class average given outdated and incomplete data. I was thinking of using a weighted average, where we take the last grade a student has updated up to a point X, then weight that point in the average depending on how many points were factored into that score. So if a student who updated when the gradebook only had 100 points in it will not be as important as a student who recently updated with 1500 points in the grade book. Is there a better approach to this?
I have an introductory understand to statistics (AP Statistics which should be equivalent to a first year into stats course in college). But I've forgotten most of it so it would help if you guys could simplify things a bit for me as well. Oh and I'm programming this through PHP. I'm using the MySQL stddev() and avg() functions to calculate standard deviation and average. I have a T-Score list @ 90% confidence for 1-200 df and an inverse normal function. I also have a 2-pass standard deviation and mean function written in PHP as well.
Edit 1: I'm targeting this website towards high school students.
Edit 2: Here is what we have so far: