I've been told a number of factors go into it besides kda.
Warding, towers, cs, ganks, and kda. Possibly stuff like damage dealt and gold earned too.
I can't say for sure and I don't know how the system even knows all this but its what I've heard.
I'm still frustrated about getting S's as support. As a support I generally do well and ward a lot. Why is it that as a support, I won't get an S unless I have 30+ assists? Even if I've warded the most all game, or contributed a lot in teamfights, or really saved my teammates butts a couple times? It is extremely frustrating as most of my games don't last long enough for me to even get close to 30 assists. Hell last S I got on my main support I had 40 assists and got an S- and the game went on for a very long time.
I generally do well enough and get my adc fed enough so THEY get an S, but if I do well as support, I still won't get an S myself....kinda frustrating seeing as I did my role perfectly and got my team fed and they are being rewarded with S ranks yet I'm not because I'm not getting kills and the most gold (which is generally what support is like).
The system doesn't really feel consistent to me...