Fixing Transfer Portal Logic
How it works now:
Very simple logic based on if a player has a deal breaker and comparing the grade the player needs and the school's grade. On the surface that makes sense but it fails to take into account playing time for most players. IRL the #1 reason players transfer is due to playing time in most cases, it's always a factor. Sometimes players have other reasons for transferring even if they have playing time, so I'm not saying it's the only factor. If you can't see the field then Playing Style and whether you play for a championship contender really don't matter. As you progress in dynasty you will see elite teams start stacking elite talent and they don't transfer. For example, you could have 6 5-star QBs on your roster and if playing time is not a deal breaker, they won't transfer. Especially considering elite teams have higher grades in all the other my school ratings.
How to fix it:
Make playing time an underlying dealbreaker for all players that are at least 3-star caliber. I would suggest having a starting grade the player needs as recruit. As they get older that grade get's higher. So for example, a 3-star recruit could have a starting value of C for playing time. This means they will only consider schools that when you compare their overall to players on the roster at same position they grade out as a C in the EA logic. As they progress to their 2nd year it become a C+, then a B, etc... Something like that. A 4-star player would have a starting value of a B and a 5-star player would have a starting value of a B+. I'm arbitrarily picking the starting value, perhaps it should be lower, but you get the idea. This would effectively limit the elite teams from stacking talent at certain positions to an obscene level and force the elite talent that is buried on the depth chart to transfer. This is how it works in real life.