[{"data":1,"prerenderedAt":866},["ShallowReactive",2],{"content-query-xzmT6rxMyz":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"heading":10,"prompt":11,"tags":15,"files":17,"nav":6,"presets":18,"gallery":35,"body":37,"_type":859,"_id":860,"_source":861,"_file":862,"_stem":863,"_extension":864,"sitemap":865},"/tools/time-series-decomposition","tools",false,"","Time Series Decomposition Tool for Excel & CSV","Decompose time series online from Excel or CSV data. Separate trend, seasonality, and residual structure with AI.","Time Series Decomposition",{"prefix":12,"label":13,"placeholder":14},"Decompose this time series","Describe the time series decomposition you want to run","e.g. STL decomposition of monthly sales data, extract trend and seasonal components, plot all four panels",[16],"statistics",true,[19,25,30],{"label":20,"prompt":21,"dataset_url":22,"dataset_title":23,"dataset_citation":24},"Global temperature trend","STL decomposition of annual global temperature anomaly; extract long-term trend and residual; plot trend overlaid on raw data; annotate the rate of warming per decade from the trend component","https://ourworldindata.org/grapher/temperature-anomaly.csv","Global average temperature anomaly","Our World in Data",{"label":26,"prompt":27,"dataset_url":28,"dataset_title":29,"dataset_citation":24},"CO₂ seasonal cycle","classical additive decomposition of monthly CO2 concentration; extract Keeling Curve seasonal cycle and long-term trend; 4-panel plot (observed, trend, seasonal, residual); report amplitude of annual seasonal swing","https://ourworldindata.org/grapher/co2-concentration-long-term.csv","CO₂ concentration in the atmosphere",{"label":31,"prompt":32,"dataset_url":33,"dataset_title":34,"dataset_citation":24},"Energy use decomposition","STL decomposition of per-capita energy use; period=12 months; plot 4-panel decomposition; report strength of trend and seasonality; flag any residual outliers > 2 standard deviations","https://ourworldindata.org/grapher/per-capita-energy-use.csv","Per capita energy use",[36],"/img/tools/time-series-decomposition.png",{"type":38,"children":39,"toc":848},"root",[40,49,96,122,128,200,206,321,333,339,489,495,619,625,678,684,713,719,748,799,816,832],{"type":41,"tag":42,"props":43,"children":45},"element","h2",{"id":44},"what-is-time-series-decomposition",[46],{"type":47,"value":48},"text","What Is Time Series Decomposition?",{"type":41,"tag":50,"props":51,"children":52},"p",{},[53,59,61,66,68,73,75,80,82,87,89,94],{"type":41,"tag":54,"props":55,"children":56},"strong",{},[57],{"type":47,"value":58},"Time series decomposition",{"type":47,"value":60}," splits an observed time series into three interpretable components: ",{"type":41,"tag":54,"props":62,"children":63},{},[64],{"type":47,"value":65},"trend",{"type":47,"value":67}," (the long-run direction — increasing, decreasing, or stable), ",{"type":41,"tag":54,"props":69,"children":70},{},[71],{"type":47,"value":72},"seasonal",{"type":47,"value":74}," (a repeating pattern over a fixed period — monthly, quarterly, or weekly cycles), and ",{"type":41,"tag":54,"props":76,"children":77},{},[78],{"type":47,"value":79},"residual",{"type":47,"value":81}," (the remainder after removing trend and seasonality — irregular fluctuations, noise, and one-off events). The decomposition equation is either ",{"type":41,"tag":54,"props":83,"children":84},{},[85],{"type":47,"value":86},"additive",{"type":47,"value":88}," (Observed = Trend + Seasonal + Residual, appropriate when the seasonal amplitude is roughly constant over time) or ",{"type":41,"tag":54,"props":90,"children":91},{},[92],{"type":47,"value":93},"multiplicative",{"type":47,"value":95}," (Observed = Trend × Seasonal × Residual, appropriate when the seasonal amplitude grows with the level of the series).",{"type":41,"tag":50,"props":97,"children":98},{},[99,101,106,108,113,115,120],{"type":47,"value":100},"The most robust modern method is ",{"type":41,"tag":54,"props":102,"children":103},{},[104],{"type":47,"value":105},"STL (Seasonal and Trend decomposition using LOESS)",{"type":47,"value":107},", which uses locally weighted regression (LOESS) to fit both the trend and seasonal components non-parametrically. Unlike classical decomposition (which applies simple moving averages), STL can handle changing seasonal patterns and is robust to outliers. The ",{"type":41,"tag":54,"props":109,"children":110},{},[111],{"type":47,"value":112},"strength of trend",{"type":47,"value":114}," — computed as 1 − Var(Residual)/Var(Trend + Residual) — and the ",{"type":41,"tag":54,"props":116,"children":117},{},[118],{"type":47,"value":119},"strength of seasonality",{"type":47,"value":121}," — 1 − Var(Residual)/Var(Seasonal + Residual) — quantify how much of the total variation each component explains. Values near 1 indicate a strongly structured series; values near 0 indicate a noisy, unstructured one.",{"type":41,"tag":42,"props":123,"children":125},{"id":124},"how-it-works",[126],{"type":47,"value":127},"How It Works",{"type":41,"tag":129,"props":130,"children":131},"ol",{},[132,157,173],{"type":41,"tag":133,"props":134,"children":135},"li",{},[136,141,143,148,150,155],{"type":41,"tag":54,"props":137,"children":138},{},[139],{"type":47,"value":140},"Upload your data",{"type":47,"value":142}," — provide a CSV or Excel file with a ",{"type":41,"tag":54,"props":144,"children":145},{},[146],{"type":47,"value":147},"date",{"type":47,"value":149}," column (any date format) and a ",{"type":41,"tag":54,"props":151,"children":152},{},[153],{"type":47,"value":154},"value",{"type":47,"value":156}," column (numeric). Data should be regularly spaced — daily, weekly, monthly, quarterly, or annual. One row per time point.",{"type":41,"tag":133,"props":158,"children":159},{},[160,165,167],{"type":41,"tag":54,"props":161,"children":162},{},[163],{"type":47,"value":164},"Describe the analysis",{"type":47,"value":166}," — e.g. ",{"type":41,"tag":168,"props":169,"children":170},"em",{},[171],{"type":47,"value":172},"\"STL decomposition with monthly period; plot all four panels; report trend slope and seasonal amplitude; flag residual outliers\"",{"type":41,"tag":133,"props":174,"children":175},{},[176,181,183,190,192,198],{"type":41,"tag":54,"props":177,"children":178},{},[179],{"type":47,"value":180},"Get full results",{"type":47,"value":182}," — the AI writes Python code using ",{"type":41,"tag":184,"props":185,"children":187},"a",{"href":186},"https://www.statsmodels.org/stable/generated/statsmodels.tsa.seasonal.STL.html",[188],{"type":47,"value":189},"statsmodels STL",{"type":47,"value":191}," and ",{"type":41,"tag":184,"props":193,"children":195},{"href":194},"https://plotly.com/python/",[196],{"type":47,"value":197},"Plotly",{"type":47,"value":199}," to produce the four-panel decomposition chart plus a component statistics table",{"type":41,"tag":42,"props":201,"children":203},{"id":202},"required-data-format",[204],{"type":47,"value":205},"Required Data Format",{"type":41,"tag":207,"props":208,"children":209},"table",{},[210,234],{"type":41,"tag":211,"props":212,"children":213},"thead",{},[214],{"type":41,"tag":215,"props":216,"children":217},"tr",{},[218,224,229],{"type":41,"tag":219,"props":220,"children":221},"th",{},[222],{"type":47,"value":223},"Column",{"type":41,"tag":219,"props":225,"children":226},{},[227],{"type":47,"value":228},"Description",{"type":41,"tag":219,"props":230,"children":231},{},[232],{"type":47,"value":233},"Example",{"type":41,"tag":235,"props":236,"children":237},"tbody",{},[238,280],{"type":41,"tag":215,"props":239,"children":240},{},[241,251,256],{"type":41,"tag":242,"props":243,"children":244},"td",{},[245],{"type":41,"tag":246,"props":247,"children":249},"code",{"className":248},[],[250],{"type":47,"value":147},{"type":41,"tag":242,"props":252,"children":253},{},[254],{"type":47,"value":255},"Date or timestamp (any format)",{"type":41,"tag":242,"props":257,"children":258},{},[259,265,267,273,274],{"type":41,"tag":246,"props":260,"children":262},{"className":261},[],[263],{"type":47,"value":264},"2020-01",{"type":47,"value":266},", ",{"type":41,"tag":246,"props":268,"children":270},{"className":269},[],[271],{"type":47,"value":272},"Jan 2020",{"type":47,"value":266},{"type":41,"tag":246,"props":275,"children":277},{"className":276},[],[278],{"type":47,"value":279},"2020-01-31",{"type":41,"tag":215,"props":281,"children":282},{},[283,291,296],{"type":41,"tag":242,"props":284,"children":285},{},[286],{"type":41,"tag":246,"props":287,"children":289},{"className":288},[],[290],{"type":47,"value":154},{"type":41,"tag":242,"props":292,"children":293},{},[294],{"type":47,"value":295},"Numeric time series",{"type":41,"tag":242,"props":297,"children":298},{},[299,305,306,312,313,319],{"type":41,"tag":246,"props":300,"children":302},{"className":301},[],[303],{"type":47,"value":304},"245.3",{"type":47,"value":266},{"type":41,"tag":246,"props":307,"children":309},{"className":308},[],[310],{"type":47,"value":311},"312.1",{"type":47,"value":266},{"type":41,"tag":246,"props":314,"children":316},{"className":315},[],[317],{"type":47,"value":318},"198.8",{"type":47,"value":320}," (sales, temperature, etc.)",{"type":41,"tag":50,"props":322,"children":323},{},[324,326,331],{"type":47,"value":325},"Any column names work — describe them in your prompt. The series must be ",{"type":41,"tag":54,"props":327,"children":328},{},[329],{"type":47,"value":330},"regularly spaced",{"type":47,"value":332}," (no missing dates); ask the AI to fill gaps with linear interpolation if needed.",{"type":41,"tag":42,"props":334,"children":336},{"id":335},"interpreting-the-results",[337],{"type":47,"value":338},"Interpreting the Results",{"type":41,"tag":207,"props":340,"children":341},{},[342,358],{"type":41,"tag":211,"props":343,"children":344},{},[345],{"type":41,"tag":215,"props":346,"children":347},{},[348,353],{"type":41,"tag":219,"props":349,"children":350},{},[351],{"type":47,"value":352},"Component",{"type":41,"tag":219,"props":354,"children":355},{},[356],{"type":47,"value":357},"What it means",{"type":41,"tag":235,"props":359,"children":360},{},[361,377,393,409,425,441,457,473],{"type":41,"tag":215,"props":362,"children":363},{},[364,372],{"type":41,"tag":242,"props":365,"children":366},{},[367],{"type":41,"tag":54,"props":368,"children":369},{},[370],{"type":47,"value":371},"Trend",{"type":41,"tag":242,"props":373,"children":374},{},[375],{"type":47,"value":376},"Smoothed long-run direction — rising, falling, or changing slope",{"type":41,"tag":215,"props":378,"children":379},{},[380,388],{"type":41,"tag":242,"props":381,"children":382},{},[383],{"type":41,"tag":54,"props":384,"children":385},{},[386],{"type":47,"value":387},"Seasonal",{"type":41,"tag":242,"props":389,"children":390},{},[391],{"type":47,"value":392},"Repeating cycle at the specified period — e.g. monthly highs in December",{"type":41,"tag":215,"props":394,"children":395},{},[396,404],{"type":41,"tag":242,"props":397,"children":398},{},[399],{"type":41,"tag":54,"props":400,"children":401},{},[402],{"type":47,"value":403},"Residual",{"type":41,"tag":242,"props":405,"children":406},{},[407],{"type":47,"value":408},"What's left after removing trend and seasonality — noise, outliers, shocks",{"type":41,"tag":215,"props":410,"children":411},{},[412,420],{"type":41,"tag":242,"props":413,"children":414},{},[415],{"type":41,"tag":54,"props":416,"children":417},{},[418],{"type":47,"value":419},"Strength of trend",{"type":41,"tag":242,"props":421,"children":422},{},[423],{"type":47,"value":424},"1 − Var(R)/Var(T+R) — near 1 = strong trend, near 0 = weak/absent trend",{"type":41,"tag":215,"props":426,"children":427},{},[428,436],{"type":41,"tag":242,"props":429,"children":430},{},[431],{"type":41,"tag":54,"props":432,"children":433},{},[434],{"type":47,"value":435},"Strength of seasonality",{"type":41,"tag":242,"props":437,"children":438},{},[439],{"type":47,"value":440},"1 − Var(R)/Var(S+R) — near 1 = strong seasonal pattern",{"type":41,"tag":215,"props":442,"children":443},{},[444,452],{"type":41,"tag":242,"props":445,"children":446},{},[447],{"type":41,"tag":54,"props":448,"children":449},{},[450],{"type":47,"value":451},"Residual spike",{"type":41,"tag":242,"props":453,"children":454},{},[455],{"type":47,"value":456},"A large residual at a specific date signals an unusual event — investigation warranted",{"type":41,"tag":215,"props":458,"children":459},{},[460,468],{"type":41,"tag":242,"props":461,"children":462},{},[463],{"type":41,"tag":54,"props":464,"children":465},{},[466],{"type":47,"value":467},"Changing seasonal amplitude",{"type":41,"tag":242,"props":469,"children":470},{},[471],{"type":47,"value":472},"Seasonal component that grows over time → use multiplicative decomposition",{"type":41,"tag":215,"props":474,"children":475},{},[476,484],{"type":41,"tag":242,"props":477,"children":478},{},[479],{"type":41,"tag":54,"props":480,"children":481},{},[482],{"type":47,"value":483},"Trend change point",{"type":41,"tag":242,"props":485,"children":486},{},[487],{"type":47,"value":488},"Sudden shift in the trend component — may indicate a policy change or structural break",{"type":41,"tag":42,"props":490,"children":492},{"id":491},"example-prompts",[493],{"type":47,"value":494},"Example Prompts",{"type":41,"tag":207,"props":496,"children":497},{},[498,514],{"type":41,"tag":211,"props":499,"children":500},{},[501],{"type":41,"tag":215,"props":502,"children":503},{},[504,509],{"type":41,"tag":219,"props":505,"children":506},{},[507],{"type":47,"value":508},"Scenario",{"type":41,"tag":219,"props":510,"children":511},{},[512],{"type":47,"value":513},"What to type",{"type":41,"tag":235,"props":515,"children":516},{},[517,534,551,568,585,602],{"type":41,"tag":215,"props":518,"children":519},{},[520,525],{"type":41,"tag":242,"props":521,"children":522},{},[523],{"type":47,"value":524},"Basic decomposition",{"type":41,"tag":242,"props":526,"children":527},{},[528],{"type":41,"tag":246,"props":529,"children":531},{"className":530},[],[532],{"type":47,"value":533},"STL decomposition of monthly sales; period 12; 4-panel plot; report trend slope and seasonal amplitude",{"type":41,"tag":215,"props":535,"children":536},{},[537,542],{"type":41,"tag":242,"props":538,"children":539},{},[540],{"type":47,"value":541},"Additive vs multiplicative",{"type":41,"tag":242,"props":543,"children":544},{},[545],{"type":41,"tag":246,"props":546,"children":548},{"className":547},[],[549],{"type":47,"value":550},"compare additive and multiplicative decomposition; which fits better for this series?",{"type":41,"tag":215,"props":552,"children":553},{},[554,559],{"type":41,"tag":242,"props":555,"children":556},{},[557],{"type":47,"value":558},"Outlier detection",{"type":41,"tag":242,"props":560,"children":561},{},[562],{"type":41,"tag":246,"props":563,"children":565},{"className":564},[],[566],{"type":47,"value":567},"STL decomposition; flag residuals more than 2 SD from zero as anomalies; annotate dates on the original series",{"type":41,"tag":215,"props":569,"children":570},{},[571,576],{"type":41,"tag":242,"props":572,"children":573},{},[574],{"type":47,"value":575},"Seasonal strength",{"type":41,"tag":242,"props":577,"children":578},{},[579],{"type":41,"tag":246,"props":580,"children":582},{"className":581},[],[583],{"type":47,"value":584},"decompose weekly website traffic; report strength of trend and seasonality; which day of week is the seasonal peak?",{"type":41,"tag":215,"props":586,"children":587},{},[588,593],{"type":41,"tag":242,"props":589,"children":590},{},[591],{"type":47,"value":592},"Deseasonalized series",{"type":41,"tag":242,"props":594,"children":595},{},[596],{"type":41,"tag":246,"props":597,"children":599},{"className":598},[],[600],{"type":47,"value":601},"STL decomposition; plot original and deseasonalized (trend + residual) on same axes; compute year-over-year growth rate",{"type":41,"tag":215,"props":603,"children":604},{},[605,610],{"type":41,"tag":242,"props":606,"children":607},{},[608],{"type":47,"value":609},"Multiple series",{"type":41,"tag":242,"props":611,"children":612},{},[613],{"type":41,"tag":246,"props":614,"children":616},{"className":615},[],[617],{"type":47,"value":618},"decompose monthly revenue for each product in 'product' column; compare seasonal patterns side by side",{"type":41,"tag":42,"props":620,"children":622},{"id":621},"assumptions-to-check",[623],{"type":47,"value":624},"Assumptions to Check",{"type":41,"tag":626,"props":627,"children":628},"ul",{},[629,639,649,658,668],{"type":41,"tag":133,"props":630,"children":631},{},[632,637],{"type":41,"tag":54,"props":633,"children":634},{},[635],{"type":47,"value":636},"Regular spacing",{"type":47,"value":638}," — STL requires evenly spaced observations; irregular or missing dates must be filled or resampled before decomposition",{"type":41,"tag":133,"props":640,"children":641},{},[642,647],{"type":41,"tag":54,"props":643,"children":644},{},[645],{"type":47,"value":646},"Correct period",{"type":47,"value":648}," — the seasonal period (12 for monthly, 7 for daily-with-weekly-cycle, 4 for quarterly) must match the actual data frequency; wrong period produces artifacts in the seasonal component",{"type":41,"tag":133,"props":650,"children":651},{},[652,656],{"type":41,"tag":54,"props":653,"children":654},{},[655],{"type":47,"value":541},{"type":47,"value":657}," — if the peaks and troughs grow proportionally with the trend level, use multiplicative (or log-transform the series and apply additive decomposition)",{"type":41,"tag":133,"props":659,"children":660},{},[661,666],{"type":41,"tag":54,"props":662,"children":663},{},[664],{"type":47,"value":665},"Sufficient history",{"type":47,"value":667}," — reliable seasonal estimation requires at least 2–3 full seasonal cycles (e.g. at least 2 years of monthly data); STL with fewer cycles produces unstable seasonal estimates",{"type":41,"tag":133,"props":669,"children":670},{},[671,676],{"type":41,"tag":54,"props":672,"children":673},{},[674],{"type":47,"value":675},"Stationarity not required",{"type":47,"value":677}," — unlike ARIMA, STL decomposition does not require a stationary series; it explicitly extracts the non-stationary trend",{"type":41,"tag":42,"props":679,"children":681},{"id":680},"related-tools",[682],{"type":47,"value":683},"Related Tools",{"type":41,"tag":50,"props":685,"children":686},{},[687,689,695,697,703,705,711],{"type":47,"value":688},"Use the ",{"type":41,"tag":184,"props":690,"children":692},{"href":691},"/tools/logistic-curve-fit",[693],{"type":47,"value":694},"Logistic Growth Curve Fit",{"type":47,"value":696}," when your time series follows an S-shaped growth curve converging to a plateau rather than showing seasonal cycles. Use the ",{"type":41,"tag":184,"props":698,"children":700},{"href":699},"/tools/polynomial-regression",[701],{"type":47,"value":702},"Polynomial Regression",{"type":47,"value":704}," tool to fit a smooth trend curve directly to a non-seasonal time series. Use the ",{"type":41,"tag":184,"props":706,"children":708},{"href":707},"/tools/correlation-matrix",[709],{"type":47,"value":710},"Correlation Matrix Calculator",{"type":47,"value":712}," to explore cross-correlations between multiple time series after decomposition.",{"type":41,"tag":42,"props":714,"children":716},{"id":715},"frequently-asked-questions",[717],{"type":47,"value":718},"Frequently Asked Questions",{"type":41,"tag":50,"props":720,"children":721},{},[722,727,732,734,739,741,746],{"type":41,"tag":54,"props":723,"children":724},{},[725],{"type":47,"value":726},"What is the difference between STL and classical decomposition?",{"type":41,"tag":54,"props":728,"children":729},{},[730],{"type":47,"value":731},"Classical decomposition",{"type":47,"value":733}," uses centered moving averages to extract the trend, then averages the detrended values by period to get the seasonal component — it's simple but assumes the seasonal pattern is constant over time and is sensitive to outliers. ",{"type":41,"tag":54,"props":735,"children":736},{},[737],{"type":47,"value":738},"STL",{"type":47,"value":740}," uses locally weighted regression (LOESS) for both trend and seasonal, can handle changing seasonal patterns, and has a robust variant that down-weights outliers. STL is generally preferred. Ask the AI to ",{"type":41,"tag":168,"props":742,"children":743},{},[744],{"type":47,"value":745},"\"use STL with robust=True to reduce the influence of outliers on the trend\"",{"type":47,"value":747},".",{"type":41,"tag":50,"props":749,"children":750},{},[751,756,758,763,765,770,772,777,779,784,786,791,793,798],{"type":41,"tag":54,"props":752,"children":753},{},[754],{"type":47,"value":755},"How do I choose the right seasonal period?",{"type":47,"value":757},"\nThe period equals the number of observations in one full cycle: ",{"type":41,"tag":54,"props":759,"children":760},{},[761],{"type":47,"value":762},"12",{"type":47,"value":764}," for monthly data with an annual cycle, ",{"type":41,"tag":54,"props":766,"children":767},{},[768],{"type":47,"value":769},"7",{"type":47,"value":771}," for daily data with a weekly cycle, ",{"type":41,"tag":54,"props":773,"children":774},{},[775],{"type":47,"value":776},"4",{"type":47,"value":778}," for quarterly data, ",{"type":41,"tag":54,"props":780,"children":781},{},[782],{"type":47,"value":783},"52",{"type":47,"value":785}," for weekly data with an annual cycle, ",{"type":41,"tag":54,"props":787,"children":788},{},[789],{"type":47,"value":790},"24",{"type":47,"value":792}," for hourly data with a daily cycle. If you're unsure, ask the AI to ",{"type":41,"tag":168,"props":794,"children":795},{},[796],{"type":47,"value":797},"\"plot the autocorrelation function (ACF) to identify the dominant seasonal period before decomposing\"",{"type":47,"value":747},{"type":41,"tag":50,"props":800,"children":801},{},[802,807,809,814],{"type":41,"tag":54,"props":803,"children":804},{},[805],{"type":47,"value":806},"My residuals show a pattern — what does that mean?",{"type":47,"value":808},"\nStructured residuals (systematic waves or trend) mean the decomposition didn't fully capture the signal. Possible reasons: the period is wrong (the seasonality has a different cycle than specified), there is a second seasonality at a different frequency (e.g. weekly + annual), or the series is non-additive (try multiplicative). Ask the AI to ",{"type":41,"tag":168,"props":810,"children":811},{},[812],{"type":47,"value":813},"\"fit STL with multiple seasonal periods using MSTL (multiple seasonal STL)\"",{"type":47,"value":815}," for data with nested seasonality.",{"type":41,"tag":50,"props":817,"children":818},{},[819,824,826,831],{"type":41,"tag":54,"props":820,"children":821},{},[822],{"type":47,"value":823},"How do I detect anomalies / outliers with decomposition?",{"type":47,"value":825},"\nAfter STL decomposition, the residual component should be approximately normally distributed with mean zero. Observations where the residual exceeds ±2 or ±3 standard deviations are statistical anomalies — likely real-world events (data errors, policy changes, natural disasters, promotions). Ask the AI to ",{"type":41,"tag":168,"props":827,"children":828},{},[829],{"type":47,"value":830},"\"flag dates where the STL residual exceeds 2.5 standard deviations and annotate them on the original series plot\"",{"type":47,"value":747},{"type":41,"tag":50,"props":833,"children":834},{},[835,840,842,847],{"type":41,"tag":54,"props":836,"children":837},{},[838],{"type":47,"value":839},"Can I use decomposition for forecasting?",{"type":47,"value":841},"\nYes — a simple forecast projects the extracted trend forward and adds back the seasonal component from the most recent full cycle. For more accurate forecasts, use the decomposed components as inputs to an ARIMA or ETS model (the \"Forecast by Decomposition\" approach). Ask the AI to ",{"type":41,"tag":168,"props":843,"children":844},{},[845],{"type":47,"value":846},"\"decompose the series and forecast the next 12 months by projecting the trend linearly and repeating the seasonal cycle\"",{"type":47,"value":747},{"title":7,"searchDepth":849,"depth":849,"links":850},2,[851,852,853,854,855,856,857,858],{"id":44,"depth":849,"text":48},{"id":124,"depth":849,"text":127},{"id":202,"depth":849,"text":205},{"id":335,"depth":849,"text":338},{"id":491,"depth":849,"text":494},{"id":621,"depth":849,"text":624},{"id":680,"depth":849,"text":683},{"id":715,"depth":849,"text":718},"markdown","content:tools:048.time-series-decomposition.md","content","tools/048.time-series-decomposition.md","tools/048.time-series-decomposition","md",{"loc":4},1775502471810]