It depends on the style of animation, the number of characters, props and locations to create, how well you plan out the project, and of course how well you know the tools you intend to use.
In my experience, it's always best to have a detailed plan before I begin to animate anything. Pre-production is the time to figure things out, like story, design, and workflow so that I can focus on drawing and animation later on. The more I understand about my project upfront, the less time I'll waste making mistakes and 'exploring creative options' during actual production.
The most informative part of pre-production will be the storyboard and animatic (the storyboard edited in video form.) I use the storyboard to count all the assets/artwork I'll need to generate, and the animatic to count the number of frames for each scene.
After I have my storyboard finished, I can break the project into separate stages and tasks. I'll enter all that info into a spreadsheet*, and then make time estimates for each stage. For me, whatever estimate I initially come up with, the actual time is almost always going to be double that, so that's what I enter.
(*For spreadsheets, I like to use either GoogleDocs or LibreOffice. Both programs are free and work similarly. GoogleDocs is cloud-based so that I can access my files from any computer with a GoogleDocs compatible browser. The downside is that the files are not accessible when I'm not online and haven't prepared the Chrome browser and Google Drive for offline use. Because of this, I tend to prefer using LibreOffice (an offshoot of OpenOffice.org) and saving my files to DropBox. The downside to this setup is that I need to install LibreOffice on every device I use, and it's not available for the iPad.)
Next, I break down the animatic into individual scenes and enter the timing info in another spreadsheet. This document is called the X-Sheet (short for Exposure Sheet and also known as a Dope Sheet,) and it contains descriptions of the action in a given scene, notes about the frame where each event occurs, and how long the entire scene will run in frames before the next scene. With CGI projects, I typically give myself about ten extra frames of 'handle' for editing, but with 2D animation, the frame range is usually pretty close to what's in the animatic. (FYI, when I worked for Rhythm & Hues, the frame range was sometimes called the 'Frange', a term I still use on my X-Sheets.)
At this stage, I can group similar scenes and sequences together, and animate the groups in an assembly line fashion to speed up the process.
After completing a few scenes and working out any bugs in my workflow or pipeline, I'll have a clearer idea of how long it will take to complete the remainder of the project, and can make adjustments to my workflow or designs as necessary to meet the schedule.
Follow the above, and I know my project will get done on time.
And when I don't, well, I have a couple of projects where unconstrained development and 'featuritis' keeps them endlessly in-production. These projects keep looking better and better but they never seem to get done either. I don't recommend this approach--'done' is much better.
Hope this info helps. Good luck with your production.