tl;dr
Solo mining is a lottery unless you have a few dozen GPUs
Explanation
Target block time in Monero is 2 minutes, based on that and your share in the network hashrate you can calculate how frequently you will find blocks.
Let H
be the network hashrate, and h
be your own hashrate. Then on average you will find a block every
t = 120 / (h / H) = 120 * (H / h) (seconds) = (H / h) / 720 (days)
Now let t
and t'
be your "substantial enough" target, in seconds and days accordingly. You can find minimum h / H
ratio to achieve it, i.e. a proportion of the net hashrate you must own:
h / H = 120 / t = 1 / (720 * t')
If H
is known, your minimum hashrate to achieve that is
h = H * 120 / t = H / (720 * t')
Current network hashrate is ~125 MH/s (Jul 19, 2017), so with 4 KH/s you'll have to wait for 43 days on average to find a block, meaning that you can easily have zero payouts during a month or two.
Finally, let's calculate how much hashrate you currently need to get payouts at least once a week on average (bear in mind that H
tends to grow over time):
h = 125000 / (720 * 7) = 24.8 KH/s