{"uid":"cap_lqRfzwml70F-BZiz5vXnJ","slug":"netzhandwerker-anomaly-detection-multi-method-time-series-56048a28","name":"Netzhandwerker Anomaly Detection (Multi-Method Time Series)","description":"Runs three detectors over one series and reports what each saw: a robust z score on median and median absolute deviation, a robust seasonal-trend decomposition with a z score on the residual, and an isolation forest over value and step-to-previous. Every score is returned per point, so callers set their own threshold instead of trusting a verdict. The forest draws from a fixed seed: same request, same result. Under three full cycles the seasonal figure is marked as not robust.","url":"https://tools.halowerk.com/v1/series/anomaly?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"seed":{"type":"integer","default":42,"maximum":2147483647,"minimum":0,"description":"Fixed starting value for the forest. Same seed, same answer."},"trees":{"type":"integer","default":100,"maximum":300,"minimum":10,"description":"Number of isolation trees."},"points":{"type":"array","maxItems":5000,"minItems":3,"description":"Either plain numbers or objects with value and optionally time_unix_s (seconds since 1970), time (ISO 8601) and label. The service caps the whole request body at 256 KB, so long records reach that limit before maxItems."},"methods":{"type":"array","items":{"enum":["robust_z","stl_residual","isolation_forest"],"type":"string"},"default":["robust_z","stl_residual","isolation_forest"],"maxItems":3,"minItems":1,"description":"Which detectors to run."},"min_votes":{"type":"integer","default":1,"maximum":3,"minimum":1,"description":"How many detectors must agree before a point is called an anomaly."},"sample_size":{"type":"integer","default":256,"maximum":1024,"minimum":8,"description":"Points drawn per tree, capped at the series length."},"contamination":{"type":"number","default":0.02,"maximum":0.5,"minimum":0.0001,"description":"Expected share of outliers. Sets where the isolation forest cuts."},"season_period":{"type":"integer","default":0,"maximum":1000,"minimum":0,"description":"Points per season, e.g. 24 for hourly data with a daily rhythm. 0 leaves the seasonal part out."},"stl_z_threshold":{"type":"number","default":3.5,"maximum":20,"minimum":0.5,"description":"Threshold on the robust z score of the residual."},"robust_z_threshold":{"type":"number","default":3.5,"maximum":20,"minimum":0.5,"description":"Absolute robust z score at which a point counts as an outlier."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.004","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.004/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.004","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_l9DezLh_cFsJUaKT1YEmb","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.004","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Runs up to three anomaly detectors (robust z-score, STL residual, isolation forest) over a numeric series and returns per-point scores so callers can apply their own thresholds.","exampleAgentPrompt":"Check this array of 200 hourly server latency readings for anomalies — run all three detectors (robust z-score, STL residual, and isolation forest) with a season period of 24, set the contamination to 0.05, and require at least 2 detectors to agree before flagging a point.","exampleUseCases":[{"title":"IoT sensor spike detection","prompt":"I have 500 temperature readings from a factory floor sensor taken every 5 minutes — can you run all three anomaly detectors on them with a season period of 288 for daily rhythm and a contamination of 0.03, then show me which points got flagged by at least 2 methods?"},{"title":"E-commerce revenue anomaly monitoring","prompt":"Here are 90 days of daily revenue figures — run robust z-score and isolation forest on them (skip STL since I don't have seasonality), use a z-score threshold of 3.0 and contamination of 0.02, and tell me which days scored highest for each method."},{"title":"API error rate outlier scoring","prompt":"I've got 1,000 per-minute API error rate values from last week — score every point using all three anomaly detectors with a season period of 1440 for daily patterns, seed 99 for reproducibility, and return the raw scores so I can set my own alert threshold."}],"resultDescription":"A per-point response containing scores from each requested detector: the absolute robust z-score, the STL residual z-score (marked as not robust if fewer than three full seasonal cycles are present), and the isolation forest anomaly score — plus an aggregated flag indicating whether enough detectors agreed based on min_votes. Raw scores are always returned so callers can apply custom thresholds independently of the built-in verdict.","failureModes":["Fewer than 3 points provided — minimum series length not met","Request body exceeds 256 KB limit before reaching maxItems cap","season_period set too high relative to series length — STL marked as not robust","Invalid method enum value in methods array","contamination outside allowed range (0.0001–0.5)","trees or sample_size outside allowed bounds","Malformed point objects (missing value field)"],"whenToPreferThis":"Choose this endpoint when you need transparent, per-point anomaly scores from multiple independent methods rather than a single black-box verdict. It is especially valuable when you want to set your own thresholds, compare method agreement, or handle seasonal data with STL decomposition. The deterministic isolation forest (fixed seed) makes it suitable for reproducible pipelines. Prefer it over single-method detectors when data may have both global outliers (robust z-score) and seasonal anomalies (STL residual).","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-12T06:44:33.089Z","isFirstParty":false,"canonicalSlug":"netzhandwerker-anomaly-detection-multi-method-time-series-56048a28"}