I have sample data on unemployment rate in a market and am looking to calculate the natural unemployment rate. The natural unemployment rate I obtained is constant over a time period, which is not a realistic assumption given the fluctuations we observe in labor force, employment.

As per the keynesian relationship between unemployment and inflation, the natural rate is defined as rate when inflation is stable or change in inflation is 0.

Pandas DataFrame: 

import pandas as pd
import numpy as np
import random

df = pd.DataFrame({
                   'Date_Col': pd.date_range(start='1/1/2010', periods=40, freq='3M'),
                   'unemployment': np.random.uniform(5,12,40),
                   'Inflation': np.random.uniform(1,3, 40)

df['Change_Inflation'] = df['Inflation'].pct_change(periods=1)

# Drop first row
df1 = df[2:len(df)]

I fit the following regression model to obtain estimates and calculate the natural level of unemployment:

change in inflation = b0 + b1 * unemployment + e

Substituting, change in inflation = 0, and solving for unemployment, the natural unemployment rate = b0/b1. The rate I obtained is for entire time period, this isn't realistic as there are significant supply side fluctuations in labor force. Therefore, I'd like to calculate the natural rate for each time period. How would I do so?


The model you fit is simply inadequate to estimate the natural rate of unemployment any results from it will be completely unreliable, so I am not surprised if they make no sense. Furthermore, natural rate of unemployment is not necessary one where inflation is 0, that is Non-Accelerating Inflation Rate of Unemployment (NAIRU). NAIRU is often used as a proxy for natural rate of unemployment but the two are not the same (for some non-technical explanation of differences between natural rate of unemployment and NAIRU see Investopedia).

Estimating NAIRU:

First to estimate NAIRU you typically need multiple equations not just one (see Carnot et al. Economic Forecasting and Policy. 2nd ed. pp 104).

For example, NAIRU can be obtained by combining producer price equation with a Philips curve expressed as a wage setting equation in a wage-price loop. So we would start with a system like:

$$ p^s_t = w_t - \theta_t +z_t + \alpha \tag{1}$$

$$\Delta w_t = \Delta p_{t-1} - \lambda U_{t-1} + \Delta z'_t + \beta \tag{2}$$

where $p^s_t$ are log of producer prices, $w_t$ are log of wages, $\theta$ is productivity, $U_{t-1}$ is unemployment and $z$ and $z$ are some control variables exerting inflationary pressure, alpha and beta are constants. After differencing the first equation we get:

$$ \Delta p^s_t = \Delta w_t - \Delta \theta_t + \Delta z_t \tag{3}$$

If we define the wedge between consumer and producer prices, which exists due to influence of imports and taxes, as $\phi_t \implies \Delta p_t = \Delta p^s_t + \Delta \phi_t$ and hence new producer price equation will be given as:

$$ \Delta p^s_t = \Delta w_t - \Delta \theta_t + \Delta z_t \tag{4}$$

Combining equation (4) and (2) would give us the Philips curve:

$$\Delta p_t - \Delta p_{t-1} = - \lambda(U_{t-1}-U^*) \tag{5}$$

where finally $U^*$ which is the NAIRU would be given as:

$$U^* = \frac{\beta - \Delta \theta_ t + \Delta z_t + \Delta z'_t + \Delta \phi_t}{\lambda} \tag{6}$$

Normally the whole system above would be estimated in a structural way where you would have separate error correction models (ECM) for producer price equation and wage setting equation embedded in some structural model that will possibly include more equations (See chapter 3 in the above cited Carnot et al.).

There are also different approaches to estimating the above but even the basic reduced form Philips curve models used to estimate NAIRU will require multiple equations and usually will be estimated not with OLS but with something else like maximum-likelihood with Kalman filter (see this research by Jacob and Wong (2018) estimating NAIRU for New Zeeland).

Unfortunately, it is beyond scope of single SE answer to make an exhaustive review of all ways of estimating NAIRU but one thing that should be hopefully clear from the above is that it cannot be done with some simple naïve OLS where you regress inflation on unemployment.


The following statement is actually not entirely correct statement:

The natural unemployment rate I obtained is constant over a time period, which is not a realistic assumption given the fluctuations we observe in labor force, employment.

Natural rate of unemployment includes only frictional and structural unemployment not cyclical unemployment. Most variation in employment over time is due to cyclical or also seasonal variation. Structural changes or changes in frictions are usually small and relatively trivial compared to cyclical changes. In fact research by Fed shows that in the US natural rate of unemployment over last 100 years was remarkably stable ranging between $4.5$ and $5.5\%$. Consequently, even though there is some variation in natural rate of unemployment, it would not be unrealistic to use flat $5\%$ rate for US as a first approximation.

  • $\begingroup$ Yes, I wanted to keep the equation simple, there are other control variables I account for that improve the R2. $\endgroup$ – kms Oct 15 '20 at 12:26
  • 1
    $\begingroup$ @kms well but the point above is that it is not enough to just add few more controls you have to acknowledge that the relationship between unemployment and price level is endogenous. So you need some approach that uses simultaneous equations or some equivalent of that. $\endgroup$ – 1muflon1 Oct 15 '20 at 12:28
  • $\begingroup$ For example in the above you would not get consistent coefficients just by estimating EQ 5 directly. You would have to first estimate EQ 2 and 3 and then construct 5 from them, then once you have 5 the NAIRU is given by EQ 6 $\endgroup$ – 1muflon1 Oct 15 '20 at 12:32
  • 1
    $\begingroup$ I recommend going over the sources I used in my answer to get better overview of how this works. I did not wanted to turn this answer into paper so I was purposely very brief $\endgroup$ – 1muflon1 Oct 15 '20 at 12:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.