The boot is a process that has several stages, where different groups of processes are loaded (OS core processes, services and applications). Windows boot doesn't run one process after the other, or even wait to for the previous process to finish before starting a new one. This process has a statistically complex behavior that varies from boot to boot.
It is very tricky to pin point the exact moment that the boot finishes, because some applications that load in boot perform analyses that can't be predicted consistently from boot to boot. Given the various difficulties in determining when the boot is finished, we have decided to measure boot time in relation to the PC’s responsiveness to user interaction. We use numerous measures – complex formulae involving IO, RAM usage, CPU, running programs, and start-up configuration – to determine PC responsiveness.