Student success prediction

I am a programmer work for a school district in the US and want to help improve student learning. I have an idea to analyze student data (grades, test scores, attendance, discipline incidents, etc.), predict their future grades, and recommend effective remediation efforts.
Given that I have access to necessary data, what processes should I use to analyze the data? I started with collaborative filtering on student tests to find latent factors, but I’m open to what is best practices.