GM_of_Team A > GM_of_Team B iff (endofseason_ranking (A) > endofseason_ranking(B)) and (budget(A) < budget(B))
So this would capture how much "bang for the buck" a GM is getting. I did it for a couple of years, and not surprisingly, there's quite a bit of year-to-year variability. Teams go through cycles where they increase the budget to capitalize on a favorable situation, but then they get saddled with bad contracts and are disadvantaged in the draft, etc. Still, if you do this over the long term, there could some teams/GMs that are consistently good.
I remember that my first attempt generated really busy diagrams because the ordering is transitive, so if you simply draw an arrow whenever the ordering holds you end up with the transitive closure. A couple of hacks later (basically, add a test to check if this ordering can be obtained by triangulation, and if so, don't display it) I managed to end with the same kind of diagram as the OP.