There are a number of things that could affect this. To start with you need to verify that your data is accurate:
- Are you seeing personalised results (so your rankings are not what you think) - Are you in an improved position that is likely to result in noticeable traffic improvements (top three is a good rule of thumb) - Do the keywords you're targeting actually produce traffic? - Are you viewing a different "version" of Google than the bulk of your audience (especially if your site has a regional audience) - Is your traffic measurement accurate? What metric are you using?
If the SERP is up but traffic is down it could be because G* re-indexed the page(s) and picked up a different, less enticing to click at, snippet that's shown under the title.
Review a dozen of those snippets for your ranking pages, see if they have changed from those before and try to trace it back to any possible changes on the pages you've made. Maybe there is a more complicated HTML code or JS code that's obstructing the good text that in past went into the better snippet.
It's actually pretty bad to spend all the time/energy to get to good SERPs only to realize that people don't click on your listings - I would try to address that ASAP
Could also be seasonal - I bet if your traffic comes from skiing or snowblower - related SERPs, it would be down regardless of how high on the page you are.