This topic came up recently in another thread, and I thought I'd give it its own discussion.  As far as I am aware, the current game design randomly draws arena opponents for you based upon 2 factors: your level and your mojo.  If another player is within 15 levels of you and also within 1,000 mojo of you, then they are placed in a pool of potential opponents.  Each time the arena refreshes, 3 opponents are chosen randomly from this pool.  If there are less than 3 players in this pool, then the