The use of data in education is increasingly important to support data-driven decision making, particularly in monitoring students’ learning progress in mathematics. This study aims to classify students’ mathematics achievement levels based on social, behavioral, and academic factors using machine learning methods. The dataset used is the Student Performance Data Set from the UCI Machine Learning Repository, specifically the student-mat.csv file, which contains 395 student records with 33 attributes. The final mathematics grade (G3) is grouped into three categories: low, medium, and high. The research methodology follows the CRISP-DM approach, which includes the stages of Business Understanding, Data Understanding, Data Preparation, Modelling, Evaluation, and Deployment. Model development is carried out using Logistic Regression, Random Forest, and XGBoost algorithms. The evaluation results show that the Random Forest algorithm achieves the best performance, with an accuracy of 0.5570 and an F1-score of 0.4975, outperforming the other algorithms. Feature analysis indicates that prior academic failures, school support, social activities, and students’ absenteeism levels have a significant influence on mathematics achievement. This study is expected to help schools identify at-risk students earlier and support the planning of more targeted learning interventions.