For a quick idea of scarcity, go to lastplayerpicked.com and use their price guide. There's a column for positional value, and though not perfect, gives a pretty good idea of what kind of positional value you get based on your league settings. In general, C and SS are the only ones that show any actual scarcity. The reason for this is the flex positions, including utility. Pretty much all of the CI and most of the Util spots are filled by 1Bs so the demand for 1Bs is huge, and there really isn't more depth there in the grand scheme.
The way it works, is it finds the best X amount of players that will fill your player pool, and if there isn't enough of a certain position based purely on stats, then that position is given an artificial bump in value until the minimum quantity of each position are in the positive value player pool (ie: $1 or above). It keeps doing these iterations until there are enough of each position, and it shows you how much certain positions were artificially bumped up. It actually tells you how many iterations were done too, which isn't very useful but it's kind of neat that they let you see some evidence of the behind the scenes work.
The issue I have with it is that they don't incorporate this extra positional value into the individual stat categories themselves, and they don't even use $0 as the baseline, they use $11 or some other seemingly arbitrary number. Not a huge deal, it's just different than how I do it, and doesn't seem as intuitive to me.