Mining Bitcoin solo

As long as you're in good communication with the network and have a hashrate measured in something better than minutes per hash, yes, you technically do have a chance of successfully mining a block, even if your hashrate is tiny compared to the whole network. Then the question is, what are your chances and should you do it? I think an analogy with a lottery is apt.

In one week, a lottery might cost you $2 (for one ticket) and give you a 1 in 175 million chance to win $100 million (ignoring smaller prizes, splitting prizes, etc.; complicates things too much). This gives it a return on investment (ROI) of about 29%, so we'll treat this as our baseline: if it's lower than this, it's worse than the lottery and you shouldn't "play".

If you buy a $34.52, 5 GH/s ASIC miner that uses 2.5W of power, you might spend about $0.06 in a week to have a 1 in 13, 889 chance to win $11, 349. Not counting the upfront investment, this is a 1, 361% ROI, so it's worth it. If you factor in the cost of the device (split over a year) and a profitability decline (since the rest of the network will be speeding up), I think you're still looking at an ~80% ROI.

In one week of CPU mining (assuming 20 MH/s at 70 W), you might spend $1.75 in power to have a 1 in 3, 472, 222 chance to win $11, 349. This is a 0.18% ROI, so CPU mining really makes no sense, even as a lottery (it'd be better to just buy a lottery ticket).