We actually already do this.
We count the number of login attempts in the last 5 minutes for the username/email and IP address. If this exceeds 3 then they are shown a captcha or blocked (depending on your Admin CP option).
We also check the number of attempts in the last 30 minutes for the username/email and IP address. If that exceeds 6 attempts, again, captcha or block.
Further on from that, we also check the number of attempts in the last 5 minutes for the IP address only. If that exceeds 7 attempts then captcha or block again.
Finally, we also check the number of attempts in the last 30 minutes for the IP address only. If that exceeds 15 attempts, then captcha or block.