Raymond, To say I'm concerned about the fact you aren't addressing coverage and time zones in this FAQ is an understatement. Coverage has been probably the biggest bugbear in the history of WvW - it should be at the CORE of your solution and yet it isn't mentioned here. I'm not being dramatic when I say you potentially risk killing the game for your South East Asian/Oceanic population if you do not address this. In the past we have addressed this ourselves by manually migrating to accounts where we could get SEA timezone fights. You are now removing our time zone migration controls - so your balancing algorithm MUST address this and it must address it as a priority in balancing, not as an afterthought. As there is no "server pride" anymore you can't leave this up to alliances to self-balance as most alliance leaders won't care at all what happens outside of their time zone. If a server with heavy SEA ends up playing against a server with no SEA for 8 weeks can you imagine how boring that would get and how many players would just quit the game? PvD every night is NOT fun - we'll just quit the game instead. You have to be very careful here that your solution addresses timezones/coverage as a priority. Your algorithm can easily categorise a player based on historical hours as either: "NA primary", "SEA primary", "EU primary" or "OCX primary". e.g., something like this: [sorry for pseudocode] NA_hour_count = count_hours(NA_timezone_start, NA_timezone_end, player_season_history);SEA_hour_count = count_hours(SEA_timezone_start, SEA_timezone_end, player_season_history);OCX_hour_count = count_hours(OCX_timezone_start, OCX_timezone_end, player_season_history);EU_hour_count = count_hours(EU_timezone_start, EU_timezone_end, player_season_history); PrimaryTimezone playerTZ = get_primary_timezone(NA_hour_count, SEA_hour_count, OCX_hour_count, EU_hour_count); NA_players = count_players(PrimaryTimezone.NA, guild_register);SEA_players = count_players(PrimaryTimezone.SEA, guild_register);OCX_players = count_players(PrimaryTimezone.OCX, guild_register);EU_players = count_players(PrimaryTimezone.EU, guild_register); PrimaryTimezone guildTZ = get_primary_timezone(NA_players, SEA_players, OCX_players, EU_players); Doing this calculation would enable you to classify non-aligned guilds and non-aligned players as NA, SEA, EU or OCX. I imagine your match up/balancing algorithm will have three phases: Phase 1: Selecting core alliancesPhase 2: Back filling with non-aligned guildsPhase 3: Back filling with non-aligned playersPhase 1 is too hard to balance coverage because with 500 players, you don't have the granularity. So I'm suggesting during Phase 2 and 3 where you do have granularity that you need to examine the Time Zone make up of your Phase 1 alliances and back fill with non-aligned guilds and non-aligned players from the appropriate time zones to even up the coverage. So for example let's say your system does primary allocation of 4 alliances (server A) vs 4 alliances (server B ) and then sees that server B has 50 less SEA players than server A, your algorithm can then stack in SEA guilds and SEA individuals so server B has 50 more SEA players. If it then notices server B's OCX has 15 more players it will allocate 1 small OCX guild (10 players) and 5 OCX players to server A. It doesn't have to be EXACT but it needs to be close enough so there are good fights during at least the two primary time zones (NA and SEA) and if you can balance the secondary time zones (EU/OCX) then that would be cherry on the cake. Please let us know you are aware of this issue and going to address it in your solution (so I don't have to create more threads to raise awareness).