tsoutliers is a package developed by Javier López-de-Lacalle, who is also maintaining other packages like KFKSDS(Kalman Filter, Smoother and Disturbance Smoother), meboot(Maximum Entropy Bootstrap for Time Series), stsm(Structural Time Series Models).

In the tsoutliers package itself, there are four categories that all the outliers could be categorized into, you can either dive into these two(paper1, paper2) papers or take a quick look at this IBM knowledge page to have a one sentence description for each of these terms.

- IO (Innovational Outlier)
- AO (additive outlier)
- LS (level shifting)
- TC (transient change)

In a short sentence, AO is a type of outlier that only affect one observation while the other three all have impact on the coming ones following the first outlier. However, LS will lead to a permanently shift. IO and TC are very similar from the shape of the plot, i.e., the initial impact die out gradually a long with time. To figure out the difference between IO and TC, you might need to read the paper, but as the author mentioned “on a time series, the effect of an IO is more intricate than the effects of other types of outliers.”

Here is the mathematical representation of the four types of outliers.