Estimating your future solving time

evileli

Member
Joined
Jul 2, 2015
Messages
15
WCA ID
2011ROSC01
Hi everyone,

this is my first thread in this forum (i hope i'm doing it correctly).
I used Prisma as my main timer since i started cubing in 2011. Therefore by now i have already a small dataset of time measurements.
Once i was looking at the plots in the history-tab and thought about my improvement over time.
I realized that it would be funny to extrapolate the plot to estimate the improvement for future time points.
Given that i wrote a small python script that does a least-squares fit of the Prisma-dataset to a polynomial function.
If i now use this function to input the date of some time point in future, it gives back the estimated solving time for that point.

For example today i'm averaging around 20 seconds (i know, i had a 2.5 year break since 2011).
The estimated time for the date 20-09-2016 with respect the fitted function of my personal dataset would be 15.34 seconds.

There are some issues though. In my opinion the improvement of solve time is not a polynomial function but rather some kind of exponential function.
So the fitted function is only a finite taylor approximation of the "true function" and therefore inaccurate.
Then of course to do a least squares fit there must be a reasonable dataset. By only evaluating 2 solve times the fitted function will be not very representative.
Nevertheless, especially when doing a linear fit, the time frame of the dataset should not reach too much into the past.
Thats because for smaller time frames the "true function" is more linear. So the more linear the dataset in your chosen time frame the better the estimation.
However in too short time frames it is not possible to observe any improvement so there has to be made a trade off.
And last: Unfortunately the higher order approximations diverge pretty fast. That means they are accurate only for time points not to far in the future.

I know this small tool isn't useful for many people, as they don't use Prisma.
And maybe this idea is just a little weird but i thought it would not harm to share it.

The script is compatible with the .csv-output of this slightly modified PrismaPuzzleTimer (not by me):

https://bitbucket.org/euphwes/prismapuzzletimerwithexport/downloads - compiled version
https://bitbucket.org/euphwes/prismapuzzletimerwithexport - source

Python Script:

https://www.dropbox.com/s/cnuswehxr4db1fe/estimate_solving_time.py?dl=0

1.asks for the order of the fitting function.
2.asks for the name of .csv-File.
3.asks for some date (may be in future or past).
4.returns estimated solving time and fitted plot

As i'm a linux-user i have no idea, how this behaves in windows or mac (maybe also that restricts the set of users even more).
I'm very new to python so don't judge me to hard.

Thanks & happy cubing,
EvilEli
 
How do you use this? I use Prisma and Ubuntu.
With the version of Prisma i gave you it is possible to export your dataset to a .csv file. Of course you need to start Prisma with your .h2 file in the same folder. After exporting it you put the .csv in the same folder as the script (unless it isn't there already).
To run the script you open a terminal, navigate to the location oft the script and run it with: "python somescriptname.py"

I know it could be more userfriendly but i didn't invest much time because I wasn't sure how the idea is received :). So maybe i'll sit down and make a program with intuitive user interface.
 
I'll be faster than faz for sure. Once he quits or gets hit by a bus or has arthritis or something.
According to the cubic estimator i'll hit the sub-(-4.5) sec. barrier in 2025. So somewhere between now and then timetraveling has to be invented :).
 
Am I the only person that doesn't want to know? I'm aware this tool won't actually tell me what my peak speed will be, and that no tool could, but I don't want to know how fast I'm likely to wind up being. If I could look into the future and see what all my final cubing PBs will be, no way I'd do it.
 
Am I the only person that doesn't want to know? I'm aware this tool won't actually tell me what my peak speed will be, and that no tool could, but I don't want to know how fast I'm likely to wind up being. If I could look into the future and see what all my final cubing PBs will be, no way I'd do it.
Actually by using that tool you don't gain new information. There is no way that this tool can look into the future. Every estimation is based in data that is collected in the past. So if a tool says that you are ging to be 2 seconds faster next year that doesn't mean anything. You just could paractice more and improve 5 seconds.
So just because someone says that you are going to have certain times you don't have to fear that any freedom is taken from you. You still are an individual person that has unique abilities and no one stops you from overtaking the estimation.
So perhaps i'm the only one but i find it kind of fun to estimate my future times and don't trust them anyway. It's not to be taken too serious.
 
I'm gonna guess (because I'm learning some stuff that's soooooo much better than what I use now) that I'll be consistantly sub 20 and possibly sub 18 next year.

I have been to a lot of comps in the little time I've been Cubing, so there is a huge improvement from 1:00 to sub 20 single from fall to spring.
My WCA profile- https://www.worldcubeassociation.org/results/p.php?i=2014MARS05
 
With the version of Prisma i gave you it is possible to export your dataset to a .csv file. Of course you need to start Prisma with your .h2 file in the same folder. After exporting it you put the .csv in the same folder as the script (unless it isn't there already).
To run the script you open a terminal, navigate to the location oft the script and run it with: "python somescriptname.py"

I know it could be more userfriendly but i didn't invest much time because I wasn't sure how the idea is received :). So maybe i'll sit down and make a program with intuitive user interface.

yeah, i think that would be cool. I for one still cant figure this out :p
 
Back
Top