Hello

Suppose I got exam scores for students from different classes of different grades in a school. I want to predict how the students will perform in future exams when they move up to a higher grade. Note that students mix will be shuffled when moving up to a class of higher grade. Also, exams for different classes of the same grade differ in content so the scores also reflect difficulty of an exam. Students take multiple exams in each grade. Given the history of exam-related data (scores, classes, classmates) of every student, is there any method to adjust the scores to account for the difficulties of exams? How to do it with Stata?

Thanks!