I have to disagree with each and every comment provided above especially about hard medium and low grade questions. According to my analysis of fighting with the GMAT demon, it is almost impossible to predict the score.
From practice tests :
Kaplan total 37-40 Q correct - 680-700 score
total 33-35 Q correct - 630 -650 score
Veritas Prep total 38Q correct - 580 score
total 29Q correct - 590 score
GMAT actual test 1 - 35 - 38 Q correct - 550 score
actual test 2 - 36-38 Q correct - 470 score
Now from the above it is almost impossible to get any pattern of scores either from the practice tests or from the actual test. Trust me I have even done section wise scoring, type of question scoring - all kinds of analysis. If you actually look at the ESR too - they grade you according to number of correct answers, difficulty and speed. All questions faced were medium hard all through the test with all the scores shown above. The assumption here is not everyone is facing similar questions on a given day (low, medium hard) and the cumulative relative score eventually should be based on number of correct questions, especially because no algorithm that too an educational one with tight budget will invest in anything which is super complicated. Yes there might be some variables, but end of the day the calculations and outputs need to be based on scores and numbers and not some graphs of how hard etc the questions are. That would require another level of scoring [even hard can be medium hard, low hard, super hard etc]. Someone would have to curate the questions accordingly and grade them.
This comes from someone who comes from higher education + algorithm/coding software business and understands the exact monetary requirements of each of the above scoring steps explained above along with the manpower required to do each step.
So end of the day there are a few fixtures which take care of the ultimate score, now how those fixtures are decided is quite different from what is being discussed here. And if GMAT is at all as clever as everyone claims it to be, knowing that we know the steps should change the algorithm immediately and discussions here date back to as early as 2012.