Solo mining is a lottery unless you have a few dozen GPUs
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.
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)
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')
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