My Shop seems to be generated from data YOU put into it by playing games regularly, and it appears like it is pulling from a specific window of time. I've noticed it doesn't seem to draw from your entire gaming history ever, though it may weight your mastery in a bit.
My last few months, I've been logging a helluva lot of Morgana and Zyra games as support in Ranked. I also played Caitlyn very rarely, and I've spammed Kayle in norms when I could since she's come out. The caveat - I own all of Zyra and Morgana's skins. My Shop looked like this:
Pool Party Caitlyn
Sand Wraith Pyke
Odyssey Sona
Cosmic Lulu
Battleborn Kayle
(Can't recall the last one)
So it's definitely pulled from supports I play a lot based on my mastery with them (Sona, Lulu), and definitely pulled Caitlyn and Kayle. I've extremely rarely played Pyke, but he's a support, so I understand it. Overall, my pulls make sense based on my recent play patterns, so I don't believe the system is broken at all.
I would think the only thing that "breaks" the system is playing ARAMs, where your champions played are randomized (thus giving it highly inconsistent data) and low frequency of play. Both of these factors would cause the system to have little to no data to pull from, and would complicate each other if both things occurred.