I am trying to find a breakpoint in a time series. I have a set of prices from January up to now. I want to know if some trend was interrupted at a specific date. E.g.: I believe that in March the price started to drop because of the covid-19 crisis. How can I statistically check this hypothesis? I saw some drop, but that might be happening just by chance.

What I found up to now: By looking at some forums/blogs I found the Chow test. I got the script in Python (https://github.com/jtloong/chow_test). However, I'm not sure that's what I need. The script requests two series, I only have one (meat price).

Can anyone help?

  • $\begingroup$ Chow test is applicable only for stationary series. Is your price series stationary? Can you at least provide plot? $\endgroup$
    – Michael
    May 13, 2020 at 2:12

1 Answer 1


This sounds like a possible intervention to me. I would guess an abrupt permanent intervention. So basically you need to identify a point where you think the "breakpoint" is starting - this can prove to be tricky. I would suggest that you look at the lockdown restrictions as well as number of coronavirus cases in the country at that time - this might help you to identify the "breakpoint".

After doing this, make sure that the time series up until that point is stationary - this is now if you are using an ARIMA or SARIMA model. Obtain a model for the pre-intervention time series. Then you can "add" the intervention part to the model. If your parameters for the intervention is insignificant, it is likely that, that is not the best possible intervention to use then. Apart from abrupt permanent interventions, there are also gradual permanent and abrupt temporary interventions. I believe the parameter for abrupt permanent interventions is $\omega$. This is the parameter that should be statistically significant i.e. smaller than 0.05 if you are testing at 5% significance level.

This could actually even be an abrupt temporary intervention, but difficult to say since we don't know how long the virus will continue and there affect the price that you are referring to.

  • $\begingroup$ What do you mean by add the intervention part and check if the parameters are insignificant? Should I create another model with the new data and compare with the model pre-intervention? $\endgroup$
    – Dumb ML
    May 14, 2020 at 0:15
  • $\begingroup$ Sorry maybe I was a bit unclear, you will add the intervention parameter to the current model that you have fitted. So basically you fit a model on the pre-intervention data. After that you fit the same model to the all the data i.e. the whole data set while adding an intervention parameter to the model. If the intervention parameter is not significant, it means that you are probably using the wrong type of intervention. $\endgroup$
    – Stochastic
    May 14, 2020 at 9:23
  • $\begingroup$ Ohh, ok, now I understand. Thanks! $\endgroup$
    – Dumb ML
    May 14, 2020 at 11:21

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.