Using highly detailed data on the entire population in Denmark for the period 1980-2015, this paper analyzes labor market flows by decomposing them into three parts: A cyclical, a structural, and a demographic. We do this by explicitely controlling for the business cycle conditions and the net inflow of workers in a set of age-specific dynamic regressions using the Kalman filter. Next, we construct a “bottom-up” unemployment gap which resembles more classical “top-down” used in policy institutions. We find that both job separation and job finding rates are important for explaining aggregate unemployment - the former leading the cycle. Structural unemployment in Denmark has declined significantly since the early 1990’s, among other factors likely reflecting major reforms of the labor market. However, our benchmark specification suggests that the drop is 10-15% lower when controlling for favorable demographics during this period. Finally, we use the model to examine the adjustment time to an increase in the labor supply. We find the length of adjustment to have decreased over time with an average of 4-5 years during the sample period.