Thanks for all of the positive feedback! Glad everyone is finding this interesting....
I've considered going with actual flying time but when you look at DL 201 JNB-ATL you'll see varied durations based on real life conditions:
https://flightaware.com/live/flight/DAL201
For example, a few data points from the past few months:
16:06
15:47
16:25
16:20
17:25
17:59
16:07
16:02
16:04
15:53
I've considered looking at a quick average over the past few days but it seems like too much work so I have just decided use whatever the airline publishes as scheduled flying time. It's not perfect but does a decent job at comparing apples to apples.