How do you get 20 ping? I'm ~93 miles away and usually get anywhere between 30 and 40.
Geographic distance isn't a complete indicator of ping time. Your traffic might be hauled away from St. Louis, it doesn't go directly there. You get a poor ping because the network is cheap and your packets won't take the most direct route from your ISP.
Server (100 Mbps) <-----> You (Internet connection that could cause a worse ping)
Bandwidth doesn't have much to do with round-trip ping time, no point replying to a thread if you don't know what you're talking about.