A rule of thumb I came across once is “5 x Age = High Velocity.”
It’s not set in stone, but it’s a pretty good guide, I think.
Take the Little League World Series. Each summer the fastest pitchers throw 65 to 70. Most of these kids are late-12 or already-turned-13. Taking 13 as a their chronological (and almost certainly biological) age, 5 x 13 = 65. It works here.
Applying this rule of thumb to high school, it gives us: 15 x 5 = 75, 16 x 5 = 80, 17 x 5 = 85, 18 x 5 = 90. It works here too.
Of course, all this assumes accurate velocity measurements, which is rarely the case in youth sports. In fact youth baseball is famous for false claims of velocity (check out YouTube some time for a good laugh). If you’re “gunning” from an inexpensive gun that is “off,” or misusing the gun, or heaven forbid using an iPhone “radar” app, you really don’t know what a kid is throwing.
By the way, I don’t believe a 10 year old should be gunned. I don’t allow my 10 year old to be. In fact I have warned family members - who sit in the stands and “gun” him with their very inaccurate iPhone “radar” app (which is nothing but a stopwatch) - to keep their mouths shut and not even let him know what they’re doing.
As an aside, these smartphone “radar” apps, while fun, are a joke. They have no “radar” whatsoever. They are nothing more than a glorified stopwatch that requires the user to press “START” and “STOP.” They measure the amount of time a pitch takes to travel from release to the plate, which of course gives you only the average velocity (distance divided by time) and not peak velocity at release point. You input the pitching distance (such as 46’ for Little League), and if you are timing to the plate you can allow it to adjust for the stride length/release point (or you can simply time to the catcher’s mitt which basically offsets the stride). They’re fun, but very inaccurate.