I understand that answering this question is much harder than asking it. One reason is indeed that the actual training hours would give a more accurate indication than the number of years. Another is that different people learn at different rates. Another is that the criteria for a particular rank vary.
Even in the game of go
, where rank criteria don't vary much because they are based on competition results only, this question would be hard to answer. Very few become shodan in a year (training dozens of hours a week for a total of about 1000 - 1500 hours). Many never become shodan, even after training a couple of hours a week for 30 years (for a total of 2000 - 4000 hours).
There's just no way to predict how long it will take for a particular person. Probably he won't become shodan at all.