MMR Fails to Converge, Shows Conspicuous Periodicity

Hi there,

I know there’s some risk of this board being used as a dumping ground for players frustrated with MMR, so let me preface this report by saying: I’m making this report based on data that I systematically collected throughout Season 3, and not simply because I’m angry with my matches.

The main evidence is this plot, which shows a moving average of my win rate (window size of 20 matches) throughout Season 3:

https://i.postimg.cc/tgFkDKWT/overwatch2-season3-matchmaker-moving-average.png

The vertical, red dashed lines appear every 25 matches; the two dark grey dashed lines correspond to the dates of the patches on February 21 and March 07.

The source dataset (N=202) consists of matches that took places between February 07, 2023 (the first day of Season 3) and March 23, 2023. The data were collected from matches played on a PlayStation 5, located in the continental United States. My visible rank during this interval began at a low of Bronze 5, and gradually climbed to Silver 3. Outcomes were recorded immediately after the conclusion of a match.

What is conspicuously apparent is that the matchmaker is alternating between favorable and unfavorable placements every 25 matches, and this cadence repeats with stunning regularity. What’s more, my moving-average win rate swings wildly between highs and lows. Because public statements in the Developer blog indicate that MMR should converge after a period of protracted play, it would appear that either MMR is failing to converge, which accounts for the wild swings in matching behavior, or that the matchmaker is behaving very strangely in some other way.

I had intuited that something must be wrong because match outcomes simply felt frustrating – but I would not have guessed that I was being systematically misplaced until I looked at the plot of all my games this season.

I’ve been playing consistently on this account since OW2 Season 1, and well before, and it seems as if matching ought to have converged to a stable value by now.

Either way, it feels safe to say that protracted and wildly alternating streaks of winning and losing make for very bad UX, which it seems safe to describe as a bug.

Below is a CSV of the original data that generated the plot in the link above. Thanks for your attention.

\0

----- BEGIN CSV -----

date,stop_time,duration,outcome,teammate_left,enemy_left,poor_friendly_dps,poor_enemy_dps,map
2023/02/07,23:33,16:04,L,1,0,0,0,Paraiso
2023/02/08,0:26,10:08,L,0,0,0,0,Antarctica
2023/02/08,0:43,6:58,L,1,0,1,0,New Queen Street
2023/02/08,0:59,11:05,L,0,0,1,0,Paraiso
2023/02/08,1:18,14:47,L,0,0,0,1,Blizzard World
2023/02/08,22:36,18:00,W,0,0,0,0,Havana
2023/02/08,22:58,18:24,L,0,0,1,0,Paraiso
2023/02/08,23:16,11:51,W,0,0,0,0,Shambali Monastery
2023/02/08,23:30,9:55,W,0,0,0,1,Ilios
2023/02/08,23:41,7:17,W,0,0,0,1,Junkertown
2023/02/09,0:29,11:13,L,0,0,1,0,Lijiang Tower
2023/02/09,0:44,10:36,L,0,0,1,0,Havana
2023/02/09,1:03,12:42,L,0,0,0,0,Blizzard World
2023/02/09,1:14,5:59,W,0,1,0,0,Antarctica
2023/02/09,1:21,10:21,L,0,0,1,0,Colosseo
2023/02/09,1:52,18:27,L,0,0,0,0,Midtown
2023/02/10,22:18,6:07,L,1,0,1,0,Lijiang Tower
2023/02/10,22:33,11:04,L,1,0,1,0,Paraiso
2023/02/10,22:51,13:31,W,0,1,0,1,Midtown
2023/02/10,23:02,4:19,L,1,0,1,0,Esperanca
2023/02/10,23:23,17:13,L,0,0,1,0,Shambali Monastery
2023/02/11,0:55,10:48,W,0,0,0,0,Colosseo
2023/02/11,1:10,L,1,0,0,0,Blizzard World
2023/02/11,1:38,22:58,W,0,0,0,0,Rialto
2023/02/11,2:05,7:11,W,0,0,0,0,Nepal
2023/02/11,10:42,13:25,L,0,0,1,0,Dorado
2023/02/11,22:02:00,17:06,L,0,0,0,0,King’s Row
2023/02/11,22:56,11:29,L,0,0,0,1,New Queen Street
2023/02/11,23:14,13:40,W,0,0,0,0,Midtown
2023/02/11,23:23,6:09,W,0,0,0,1,Colosseo
2023/02/11,23:38,10:54,L,0,0,0,0,Esperanca
2023/02/12,0:38,12:37,W,0,0,0,0,Paraiso
2023/02/12,0:57,14:54,W,0,0,0,0,Havana
2023/02/12,1:15,13:11,W,0,0,0,0,Nepal
2023/02/12,1:27,7:10,L,0,0,1,0,Antarctica
2023/02/12,1:42,12:16,W,0,1,0,1,Esperanca
2023/02/12,1:56,7:03,L,0,0,1,0,Oasis
2023/02/12,2:18,10:26,L,0,0,1,0,New Queen Street
2023/02/12,2:39,17:57,W,0,0,0,1,King’s Row
2023/02/12,15:57,9:45,L,0,0,1,0,Blizzard World
2023/02/12,16:08,8:34,L,0,0,1,0,New Queen Street
2023/02/12,16:43,13:14,W,0,1,0,0,Paraiso
2023/02/12,17:08,20:15,L,0,0,1,1,Rialto
2023/02/12,18:27,16:26,W,0,0,0,0,Shambali Monastery
2023/02/12,18:51,20:04,W,0,0,0,1,Rialto
2023/02/12,23:58,6:03,W,0,0,0,1,Antarctica
2023/02/12,0:20,18:20,W,0,0,0,0,Havana
2023/02/13,23:35,10:37,L,0,0,1,0,Esperanca
2023/02/13,23:54,15:43,W,0,0,0,1,Paraiso
2023/02/14,0:33,6:37,L,0,0,1,0,Havana
2023/02/14,0:53,14:56,W,0,0,0,0,King’s Row
2023/02/14,1:01,10:41,L,0,0,0,0,Esperanca
2023/02/14,1:23,11:53,W,0,0,1,0,Ilios
2023/02/14,1:46,15:25,L,0,0,0,0,Junkertown
2023/02/15,23:59,11:43,L,0,0,1,0,Oasis
2023/02/19,0:41,5:12,L,0,0,1,0,Esperanca
2023/02/19,0:52,6:33,W,0,1,0,1,Numbani
2023/02/19,1:06,9:38,L,0,0,1,0,Ilios
2023/02/19,1:20,10:06,W,0,0,0,1,Oasis
2023/02/19,1:30,5:59,L,0,0,1,0,Midtown
2023/02/19,1:51,16:37,L,0,0,1,0,Dorado
2023/02/19,14:17,5:49,L,0,0,1,0,Esperanca
2023/02/19,14:45,24:48:00,L,0,0,0,0,King’s Row
2023/02/19,15:12,19:20,L,0,0,0,0,Midtown
2023/02/19,15:40,10:20,L,1,0,1,0,Paraiso
2023/02/19,22:43,17:30,L,0,0,0,0,Blizzard World
2023/02/19,23:08,17:31,L,0,0,1,0,King’s Row
2023/02/19,23:27,10:44,L,0,0,1,0,Circuit Royal
2023/02/19,23:27,7:57,L,0,0,1,0,Ilios
2023/02/20,0:12,8:33,W,0,0,0,1,Nepal
2023/02/20,0:32,14:14,W,0,0,0,1,Midtown
2023/02/20,0:48,13:17,L,0,0,1,0,Dorado
2023/02/20,1:06,10:18,W,0,0,0,0,Antarctica
2023/02/20,1:30,11:07,W,0,0,0,0,Colosseo
2023/02/19,1:53,17:01,L,0,0,1,0,Havana
2023/02/20,2:06,8:16,L,0,0,1,0,Oasis
2023/02/20,2:22,12:20,W,0,0,0,1,Ilios
2023/02/20,13:45,10:20,W,0,0,0,0,Colosseo
2023/02/20,14:04,13:11,L,0,0,1,0,King’s Row
2023/02/20,18:40,8:29,W,0,0,0,1,Ilios
2023/02/20,19:01,13:30,L,0,0,1,0,Nepal
2023/02/20,19:36,13:27,W,0,0,0,1,Havana
2022/02/20,22:12,4:55,W,0,0,1,1,New Queen Street
2022/02/20,22:24,7:59,W,0,0,1,1,Junkertown
2022/02/20,22:39,8:17,L,0,0,1,0,Ilios
2022/02/20,22:48,6:16,W,0,0,1,1,New Queen Street
2022/02/20,23:09,8:26,W,0,0,0,0,Lijiang Tower
2022/02/20,23:27,11:43,W,0,0,0,1,Paraiso
2022/02/20,23:42,12:07,L,0,0,1,0,Nepal
2023/02/21,10:45,23:32,L,0,0,0,0,Rialto
2023/02/21,10:59,6:43,W,0,0,0,1,Antarctica
2023/02/21,11:24,12:18,W,0,0,0,1,Havana
2023/02/21,11:42,10:55,W,0,0,0,1,Colosseo
2023/02/21,11:59,12:15,W,0,0,0,1,Oasis
2023/02/21,22:39,23:23,L,0,0,0,0,Shambali Monastery
2023/02/21,23:00,8:15,W,0,0,0,1,Circuit Royal
2023/02/21,23:16,12:23,W,0,0,0,0,Ilios
2023/02/21,23:29,7:09,W,0,0,0,1,Junkertown
2023/02/21,23:44,11:33,L,0,0,1,0,Oasis
2023/02/22,0:27,17:35,L,0,0,0,0,Dorado
2023/02/22,22:39,7:44,W,0,0,0,1,New Queen Street
2023/02/22,22:51,6:59,W,0,0,0,1,Junkertown
2023/02/22,23:16,10:41,W,0,0,0,0,Oasis
2023/02/24,1:34,6:00,W,0,0,0,1,King’s Row
2023/02/24,20:48,11:25,W,0,1,0,1,Havana
2023/02/24,21:06,13:36,L,0,0,0,0,Circuit Royal
2023/02/24,21:19,10:14,L,0,0,0,0,Lijiang Tower
2023/02/24,22:08,26:01:00,W,0,0,0,0,Dorado
2023/02/24,22:33,18:17,L,0,0,1,0,Blizzard World
2023/02/24,23:29,14:30,L,1,0,0,0,Antarctica
2023/02/25,0:05,12:03,W,0,0,0,1,Dorado
2023/02/25,0:24,12:27,L,0,0,1,0,King’s Row
2023/02/26,0:49,7:36,L,0,0,1,0,Lijiang Tower
2023/02/26,1:08,14:46,W,0,0,0,0,Shambali Monastery
2023/02/26,1:25,7:21,W,0,0,0,1,Nepal
2023/02/26,1:39,10:30,L,0,0,1,0,Colosseo
2023/02/26,1:59,13:58,W,0,0,0,1,Blizzard World
2023/03/01,0:15,11:41,L,0,0,0,0,Havana
2023/03/01,0:37,11:42,W,0,0,0,1,Rialto
2023/02/03,0:46,16:59,W,0,0,0,0,Blizzard World
2023/03/03,1:13,22:01,L,0,0,0,0,Junkertown
2023/03/03,21:09,12:54,W,0,0,0,0,Midtown
2023/03/03,21:23,10:01,L,0,0,1,0,Ilios
2023/03/03,21:38,10:44,W,0,0,1,1,Numbani
2023/03/04,0:46,8:17,L,0,0,1,0,Nepal
2023/03/04,0:57,6:47,L,0,0,1,0,King’s Row
2023/03/04,1:11,9:14,L,0,0,1,0,Lijiang Tower
2023/03/04,2:04,10:22,W,0,0,0,1,Esperanca
2023/03/05,1:57,8:13,W,0,0,0,0,Shambali Monastery
2023/03/05,2:16,14:54,W,0,0,0,0,Blizzard World
2023/03/05,2:29,8:30,L,0,0,1,0,Lijiang Tower
2023/03/05,2:45,12:15,L,0,0,0,0,Midtown
2023/03/05,15:31,21:20,L,1,1,1,1,Numbani
2023/03/05,23:17,19:14,W,0,0,0,0,King’s Row
2023/03/05,23:40,6:02,W,0,1,0,0,Paraiso
2023/03/05,23:57,12:59,W,0,0,0,0,Nepal
2023/03/06,0:17,15:41,W,0,0,1,0,Numbani
2023/03/06,0:32,10:31,W,0,0,0,1,Shambali Monastery
2023/03/06,23:34,11:30,W,0,0,0,0,Ilios
2023/03/07,22:29,10:40,W,0,0,0,0,New Queen Street
2023/03/07,22:42,8:03,W,0,0,0,1,Havana
2023/03/07,23:04,16:53,W,0,0,0,0,Paraiso
2023/03/08,21:51,13:39,W,0,0,0,0,Oasis
2023/03/08,22:20,18:28,L,0,0,0,0,Midtown
2023/03/08,22:51,12:19,W,0,0,0,1,King’s Row
2023/03/09,22:38,13:34,W,0,0,0,1,Junkertown
2023/03/09,22:56,8:33,L,0,0,1,0,Lijiang Tower
2023/03/09,23:31,10:44,W,0,0,0,0,Esperanca
2023/03/09,23:50,14:06,W,0,1,0,1,Circuit Royal
2023/03/10,0:06,11:44,L,0,0,0,0,Numbani
2023/03/10,0:18,6:15,W,0,0,0,1,Oasis
2023/03/10,23:20,17:13,L,0,0,0,0,Midtown
2023/03/10,23:26,5:48,W,0,0,0,1,Blizzard World
2023/03/10,23:50,7:10,L,0,0,1,0,Ilios
2023/03/11,0:09,15:41,W,1,0,1,1,Numbani
2023/03/11,0:43,16:51,W,0,0,0,1,Lijiang Tower
2023/03/11,22:57,16:34,L,0,0,0,0,Paraiso
2023/03/11,23:19,14:33,L,0,0,0,0,Junkertown
2023/03/12,0:26,11:45,W,0,0,0,1,Rialto
2023/03/12,0:41,10:31,L,0,0,1,0,Esperanca
2023/03/12,22:38,11:39,L,0,0,1,0,Blizzard World
2023/03/12,22:55,10:27,W,0,0,0,0,Colosseo
2023/03/12,23:43,15:23,L,0,0,0,0,King’s Row
2023/03/13,0:40,14:57,W,0,0,0,0,Oasis
2023/03/12,0:36,22:25,W,0,0,0,0,Junkertown
2023/03/14,0:41,6:08,L,0,0,1,0,Midtown
2023/03/14,1:06,6:40,W,0,0,0,1,Rialto
2023/03/15,0:30,5:50,L,0,0,1,0,Nepal
2023/03/15,1:03,16:52,L,0,0,0,0,Dorado
2023/03/15,23:09,12:44,L,0,0,1,0,Ilios
2023/03/15,23:32,12:37,W,0,0,0,0,Midtown
2023/03/15,23:43,7:22,L,0,0,1,0,Antarctica
2023/03/16,0:12,12:19,L,1,0,1,0,Oasis
2023/03/16,23:25,18:10,L,0,0,0,0,Blizzard World
2023/03/17,23:45,10:00,L,1,0,0,0,Junkertown
2023/03/17,0:08,10:58,W,0,0,0,0,Oasis
2023/03/17,0:30,16:25,W,0,0,0,0,Shambali Monastery
2023/03/18,0:00,8:58,L,0,0,0,0,Lijiang Tower
2023/03/18,0:12,6:05,W,0,0,0,1,Paraiso
2023/03/18,0:41,16:41,W,0,0,1,0,Rialto
2023/03/19,1:10,21:53,L,0,0,0,0,Blizzard World
2023/03/19,1:33,12:06,W,0,0,1,0,Nepal
2023/03/20,0:06,18:57,W,0,0,0,0,Numbani
2023/03/20,23:14,22:19,L,0,0,0,0,King’s Row
2023/03/20,23:27,8:36,L,0,0,0,0,Circuit Royal
2023/03/20,23:43,10:14,W,0,0,0,1,New Queen Street
2023/03/21,0:00,11:27,W,0,0,0,1,Paraiso
2023/03/21,0:21,11:03,L,0,0,1,0,Esperanca
2023/03/21,0:40,16:06,W,0,0,0,1,Blizzard World
2023/03/21,22:36,18:46,L,0,0,0,0,Havana
2023/03/21,22:53,14:29,L,0,0,1,0,Numbani
2023/03/21,23:20,7:27,W,0,0,0,1,Shambali Monastery
2023/03/21,23:44,9:37,W,0,0,0,1,Paraiso
2023/03/21,23:45,6:12,W,0,0,0,1,Antarctica
2023/03/22,0:00,8:36,L,0,0,0,0,Rialto
2022/03/22,0:25,19:03,W,0,0,0,0,King’s Row
2023/03/22,23:01,10:57,L,1,0,1,0,Ilios
2023/03/22,23:21,10:00,L,0,0,0,0,Colosseo
2023/03/22,23:40,14:23,W,0,0,0,1,Dorado
2023/03/23,0:00,15:08,L,1,0,0,1,Oasis
2023/03/23,0:21,16:05,L,0,0,0,0,Circuit Royal
2023/03/23,0:46,12:29,L,0,0,1,0,Nepal

----- END CSV -----

7 Likes

This is fantastic data analysis. The broken matchmaker isn’t bugged as much as it is very poorly designed, but I’ve included this post in my megathread regardless. Comprehensive Thread Of All Top 500/Competitive Bugs. I put your thread under: Miscellaneous Links. Any help in spreading the word about this megathread would be greatly appreciated.

4 Likes