Bitcoin Calculator formula
I want to give an extended answer as I found the pre-existing here or elsewhere in need of a bit more clarification, specifically for newcomers.
Formula
In order to calculate the approximated total bitcoin earnings value per month from a mining operation (not taking into consideration mining costs [electricity, hardware maintenance etc...]) the following formula can be used:
H = Hashrate (hashes / second) D = Difficulty (Reference for values below) B = Reward per Block (Reference for value below) N = Number of days per month (default = 30) S = Number of seconds per day (S = 60 * 60 * 24 = 86400)
Example
H = 21, 990, 232, 555, 520 h/s (~= 20TH/s) D = 47, 427, 554, 950.648 B = 25 N = 30 S = 86400
The total number of bitcoins earned per month as per the defined variables above will be ~6.995. Dismiss N from the numerator and you'll get the daily value.
Python
A quick python statement as an example implementation (you can type this directly in the terminal)
$ python -c "print (255550)/(0.648*2**32)" $ 6.7