One exercise we use is to first track your days and rank them just on productivity, which is just the measure of what was planned and what got done - we worry about volume and type of work later on.
Rank the day on a scale of -3 to +3. Once we have enough of these we see either an internal or an external driver.
Crossing that ranking with a daily work journal (Ben Franklin style is fine), you'll start to see all kinds of things. By far the biggest influencer for better production I run into is day of week.
The day of the week we have the most control over is our most productive day. The exception to that is when people are "burning out" on their work and when they do have more control, they coast / float / rest / runaway / crash.
Once we find the better days, it's usually easier to repeat those conditions than it is to eliminate the poor days.
And just so this doesn't sound like a campaign to turn everyone into a 7-day-a-week work monster, I'm convinced over and over by watching people trim their days and weeks, increase their "people" time, and carry a notebook with them ALL the time, that less labor, more life results in more work and more love of that work.
When you have a great day or two of productivity, and then skid to a halt, ask yourself more questions about the work ahead. Get big picture and drop more questions, puzzles, problems on your subconscious. Chances are a few days from then you'll have all the answers and you'll have another blow out day! Tightening that cycle up is the goal, but take what you get and enjoy the ride.
Happy to give you a free workflow tune-up. Takes about a month, and it's usually fun.