A common denominator across different cultures and societies is that people are on a continuous quest to move forward in life -- each in their own personal way. Though success can be achieved by many routes, it is also a well-known fact that a person's level of education can be a strong indicator of their achievements, professional or otherwise. Yet, persevering through the educational ladder can still be a major challenge for some students, regardless of the benefits it confers. As the first step in providing each student with the attention and support they need, a perennial challenge for educators has been to identify those students who may ultimately struggle. Unfortunately, the current systems used to identify struggling students are often inadequate, precipitating dropout rates that that are a focal concern for both secondary and post-secondary institutions alike. To stem the tide of student attrition, these institutions continue to invest increasing amounts of resources to foster the early identification of students who may drop out. In this work, we explore the application of various machine learning techniques to the problem of predicting which students may be at \ extit{at risk} of some adverse outcome. We compare the performance of such methods to that of more traditional approaches, discuss what specific student-level data features can be used to measure student risk, and delineate strategies that can be followed by academic institutions that wish to deploy and evaluate these predictive models.