Esports is an organised form of video games played competitively. The esports industry has grown rapidly in recent years, with global audiences estimated at the hundreds of millions. One of the most popular esports formats is the Multi-Player Online Battle Arena (MOBA), which sees two teams of players competing. In MOBAs and other team-based games, individual players take on different roles or functions to help achieve victory for their team. MOBA characters can be played in different ways to align with team roles. However, most current esports analytics systems do not separate the data, such that each role is analysed separately. This is a problem because it is difficult to evaluate the performance of different roles with the same metrics. For example in football goals scored is a great metric for striker performance, but a poor one for goalkeeper performance. Using Dota 2 as a case study, we propose a method using ensemble clustering to classify and label individual roles for each hero in Dota 2. Rather than focusing on pre-existing roles defined by expert knowledge, we allow unsupervised learning to identify roles which each hero can play in an unbiased way. This work enables the separation of historical data for each hero, enabling a more accurate analysis to be performed by analytical tools.