The current rating system either has a faulty equation or is bugged. I am currently a ~1100 player, I admit I'm not very good but I've played chess for years, I'm very familiar with how the ELO system works and even adaptations to the ELO system.
Upon beating a 1400 player, I was rewarded 12 points. I was honestly fine with this since flukes do happened, I was however dumbfounded by the +38 this 1400 received for losing to me, and by forfeit since the game was lost on their end.
This isn't the only discrepancy I've seen either. I am repeatedly matched up against 1400+ despite my very negative record against people at 1200 and less. Now I'm guessing it matches you with anybody within a few hundred range and maybe even just go to the quickest match rather than wait for someone at my level but you really should prioritize rating over time or at least give us the option to either get a quick match against anybody within a certain range or wait until we can play someone very close to our rating (give or take 100). Those I actually beat from time to time. This has been ridiculous enough that I've seen 800-900's vs 1400's, how is that fair? Sad part is these 1400's get huge plusses somtimes even when they defeat someone as low as 1000.
I'm obviously aware that balancing pokemon abilities and such is a much higher priority than the ranking system but what purpose is there to play when you only get to play people way above your level? We should play with people at and slightly above our level. At the most, I would say 250 away. If you win a few on people 250 way, then you can start diffing a few hundred up but if someone is constantly losing to people 200+ above them, their rating should drop (mine rarely does) and have them play people much closer to and even below their level. Thankfully, I play more for fun than a rating but seeing as how this must be a bug or logic error, I've reported it to this thread.
Thanks for reading and the project itself is incredible, I will follow it for a long time.