Bouldering is a sport where competitors climb an artificial wall using holds as support. The climbing route from start to end is called a problem and each problem has its difficulty grade. As the grade of a problem plays an essential role in measuring climber’s ability, a unified standard is desirable. However, measuring the grade still currently relies on personal experience of the routesetters, which results in huge individual difference. The purpose of this study is to evaluate the grade of a bouldering problem in a uniformed manner. Specifically, we propose a two-step machine learning model that takes into account the difficulty and arrangement of each single hold. Experimental results using 11906 problems show that our model has achieved up to 65.5% of accuracy for classifying 13 classes of problem grades.