I'm trying to compute a global elo rating for a popular eSports title, but the problem is that the teams mostly compete in their own regions. Specifically, there are five major regions, and teams normally only compete against teams in their own region. Twice every year though, the top 3 teams from each region come together and play against one another in a "championship tournament".
My concern with applying the elo algorithm naively is that teams from stronger regions will likely end up with elo similar to teams from weaker regions, because stronger teams mostly only compete against other strong teams and vice versa.
My idea was to use the results from the "championship tournament" to give every top team (i.e. those that competed in the championship tournament) a global elo. Then, I would set the elo of the other teams in the same region to the average elo of the top 3 teams from that region. I would then use the classical elo algorithm to compute elo for matches played in that region.
However, I think my idea is flawed in that I'm giving every team in a region a very high starting elo (i.e. the average elo of the top 3 teams from that region). The truth is there are teams that dominate their own region (e.g. going undefeated) but play very poorly against top teams from other regions, which means that I might still end up giving these teams very high elo ratings even though they are actually not as strong as teams from the stronger regions.
How do I compute global elo ratings when teams mostly play in their own regions?