Have you ever had an employee that you fired, that you knew way way before, that you needed to fire, but didn't? Most of the time, the time to fire someone, is as soon as you feel they need to be let go. Most of the time, you can trust your gut, and let someone go ASAP.
Evaluate and Re-position
Remember what it costs to replace an employee? If you can re-position the person, to a place in the company that is more suitable to their skills, you are going to save a ton of money, and time replacing the employee. If you have found someone that fits your company culture and agrees with your core values, then it's probably worth it to re-evaluate their skill sets, and re-position them in the company.
We had a girl who worked our front desk. It was her job to greet people and answer the phone. There was one problem, she was an introvert. She didn't make eye contact, say hello, or smile at people when they walked by. She buried herself in her laptop and would quietly answer the phone when people called. It was clear that she wasn't going to work out and that we needed to replace her fast, but there was one problem. People liked her, they liked talking with her, and she was able to get any work done that you gave her outside of her front desk job. She could communicate really well through email and in intimate environments, like private office spaces. She fit our company culture and agreed with our core values.
We then learned that she was finishing up her degree in human resources the following month, so we had her take on some small HR tasks. When she completed those, we were very happy, and gave her some more complicated HR work. The work she returned shined and we made her head of our HR department. She has since resolved more issues and headaches than I can count! We also learned from that experience exactly what we needed in a front desk person.
When is the best time to replace an employee? As soon as you feel like they are wrong for the position. But if they align with your core values and fit your company culture, then it may be worth it to re-evaluate their skills, and re-position them in the company.