In the vast majority of cases, 2017 is radically faster than 2012. However, in some edge cases, as you may be experiencing, the opposite is true. Usually, this involves situations where the queries in question are badly written, the structures are not properly configured, the statistics are skewed, or all of the above. There was a lot more give to the old query engine for badly written queries. The newer versions are a little less forgiving in some areas.
The way I would approach this is to enable Query Store and set the database compatibility level to the old version. Then run the load for a little while that way (a few days or weeks, you'll have to decide). Then, switch the compatibility level. Some queries will regress, meaning, they'll get a different execution plan that causes them to run slower. You can run the regression report to see those queries. You can then force the old plans on to those queries while you go through the task of tuning them (because they almost always need to be tuned, they probably needed tuning in 2012 too) as a more permanent solution.
In terms of proving something is faster, the mechanisms are simple. Measure query performance on both sides. Compare.