Asked this question myself a year ago and got answers all over the map. Here's what I've actually seen, data engineer to senior data engineer at two different companies:
Company A (Series D, ~400 people): Promo cycles twice a year. Formally eligible after 12 months in role. Was told I was "on track" at month 10. Submitted packet at month 13. Got deferred. Resubmitted at month 19. Promoted.
So from "on track" signal to actual title change: 9 months. This felt like a long time. Looking back, the deferral was legitimate -- my cross-team impact story was thin.
Company B (public company, ~2,000 eng): Promo cycles once a year in Q4. Eligible after 18 months in role (hard floor, no exceptions). Started building packet at month 14. Submitted at month 18. Promoted in that same Q4 cycle, so about a 4-month process once I was eligible.
What moves faster: having a clear sponsor above your manager. At company B my director was vocal about my work in a high-visibility incident. That visibility mattered more than the packet.
What slows it down: changing managers mid-cycle. My first deferral at Company A partly happened because my original manager left and the new one had no context on my history.
Realistic answer for most mid-size companies: from "this is the cycle" to actual promotion, plan for 6-18 months of combined prep and process time. The best case is 4-6 months if you're in a company with short cycles, strong sponsor, and your impact narrative is already clean.