Chipotle (CMG -0.54%) has the mother of all hangovers. The company has let time pass, taken its medicine, and made all the moves it should have, but the public remains wary of its food safety issues.

What happened

By most measurements, Chipotle had a good year. The company saw revenue increase by 17.3% to $3.37 billion and comparable-restaurant sales grow by 8.3% through three quarters of fiscal 2017. In addition, through nine months, the company saw earnings per share (EPS) grow to $4.62 up from $0.23 in the same period a year ago.

"We continued to make important progress to improve the guest experience at our restaurants during the quarter," said CEO Steve Ells in the Q3 earnings release. "Our strategic initiatives in operations, innovating our digital sales platform, new menu introductions, and marketing the brand are starting to take hold."

The interior of a Chipotle store

Chipotle has won back some customers. Image source: Getty Images.

So what

Despite these positive numbers, Chipotle stock struggled all year. The company saw big dips every time there was even a hint of a food safety problem even when it was clearly shown that the company has taken all reasonable steps possible to keep its customers safe.

After closing 2016 at $377.32, Chipotle shares finished 2017 at $289.03, a 23% drop, according to data provided by S&P Global Market Intelligence. That drop likely contributed to the company's decision to replace Ells as CEO.

Now what

While new leadership may help, Chipotle has shown that only time can fix its problems. The company was aggressive in dealing with its 2015 E. coli issues and that has not really resonated with the public. Going forward it's hard to see what else it can do to convince people that its food is safe.

In reality, Chipotle is being punished for its own arrogance. The company pushed the quality of its food to a point that it set itself up for this type of pushback. That's not fair, but it's reality and all the chain can do is keep executing well and hope that eventually the public lets this issue go.