This code is a mess, it was just a prototype and I was going to fix the mistakes and write it into a javascript and html but I have no time at the moment due to family issues.
If you know Matlab feel free to fix it up.
http://pastebin.com/ehQRcCXV(Here is the function hashrate calc
http://pastebin.com/f4eVBbTk, the input in the code is 5 for terahashes as the output)
The model assumes an exponential curve for reducing TH/s price over the time period and increase the Bitcoin price over the time period. The difficulty changes are in percent per diff and can be made to increase or decrease the change over a period of time.
The mode accepts any percent value for reinvestment, if reinvestment occurs the dividend / reinvestment percent is turned into the modelled fiat price at that time and then used to purchase TH/s at the price in the model (Note that TH/s price and BTC price are being modelled on each loop and are always changing)
Some variables are not used.
It is a mess and I wanted to really clean it up and write it into a website or codepen but unfortunately I am no longer able to do this for the next few weeks.
-----
Results, if people want me to plug in different values just ask, I have the time to rerun the program with different variables, also if you want the math fixed let me know (via PM if you don't want to clog up the thread)
I don't care if no one uses it I made it for myself.
In short the model shows that if TH/s costs us at first $6000 reducing to $2000 over 2 years, and reinvestment is 50% and Bitcoin keeps rising at a similar rate, if difficulty increases continue around 25% every retarget without slowing down, we will never make our bitcoin back but will make a good USD profit.
If difficulty changes are happening like 5%+ every retarget in 2 years, then we make a bitcoin profit. (Let alone a USD one!)
Also the model has reinvestment set to every 4 weeks, this is a variable and can be changed, 4 weeks might be too fast but I figure eASIC is all about fast turnaround.
If reinvestment time is 3 months, we really fail badly.