I think I finally found the source of the match prediction bug. It was looking at matches in their order based on database id rather than the chronological date of the matches.

For example, assume you had these three matches over 4 days:

ID 1 - Day 1 - Correct
ID 2 - Day 3 - Correct
ID 3 - Day 4 - Correct
ID 4 - Day 2 - Incorrect

It would see that IDs 1, 2, and 3 were all correct and say you got 3 in a row

However, that's not the actual order that you made your predictions. It should really be

ID 1 - Day 1 - Correct
ID 4 - Day 2 - Incorrect
ID 2 - Day 3 - Correct
ID 3 - Day 4 - Correct

And in that case, you have only 2 in a row

I hopefully fixed the bug, but we'll have to wait and see if it finally starts working as intended.