{
  "source_file": "0930",
  "source_platform": "Medium",
  "author": "Tirthajyoti Sarkar",
  "title_listed": "Data drift: It can come at you from anywhere",
  "keywords": "",
  "domain": "数据处理",
  "content_type": "深度技术解析",
  "is_paid_flag": "否",
  "url": "https://towardsdatascience.com/data-drift-it-can-come-at-you-from-anywhere-b78eb186855/",
  "publish_date": "2022-01-19",
  "corpus_stage": "",
  "notes": "",
  "id": "d6a0a9b513b8",
  "collected_at": "2026-10-02T09:01:39",
  "title": "Data drift: It can come at you from anywhere | Towards Data Science",
  "body_markdown": "![Revisit consent button](../images/body-df29beacd7496220cc94.svg)\nWe value your privacy\nWe use cookies to enhance your browsing experience, serve personalised ads or content, and analyse our traffic. By clicking \"Accept All\", you consent to our use of cookies.\nCustomise Reject All Accept All\nCustomise Consent Preferences ![](../images/body-2159bb67f3de8ad870eb.svg)\nWe use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.\nThe cookies that are categorised as \"Necessary\" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... Show more\nNecessaryAlways Active\nNecessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.\n  * Cookie\nBCTempID\n  * Duration\n10 minutes\n  * Description\nNo description available.\n\n\n  * Cookie\n__cf_bm\n  * Duration\n1 hour\n  * Description\nThis cookie, set by Cloudflare, is used to support Cloudflare Bot Management. \n\n\n  * Cookie\nAWSALBCORS\n  * Duration\n7 days\n  * Description\nAmazon Web Services set this cookie for load balancing.\n\n\n  * Cookie\n_cfuvid\n  * Duration\nsession\n  * Description\nCloudflare sets this cookie to track users across sessions to optimize user experience by maintaining session consistency and providing personalized services\n\n\n  * Cookie\nli_gc\n  * Duration\n6 months\n  * Description\nLinkedin set this cookie for storing visitor's consent regarding using cookies for non-essential purposes.\n\n\n  * Cookie\n__hssrc\n  * Duration\nsession\n  * Description\nThis cookie is set by Hubspot whenever it changes the session cookie. The __hssrc cookie set to 1 indicates that the user has restarted the browser, and if the cookie does not exist, it is assumed to be a new session.\n\n\n  * Cookie\n__hssc\n  * Duration\n1 hour\n  * Description\nHubSpot sets this cookie to keep track of sessions and to determine if HubSpot should increment the session number and timestamps in the __hstc cookie.\n\n\n  * Cookie\nwpEmojiSettingsSupports\n  * Duration\nsession\n  * Description\nWordPress sets this cookie when a user interacts with emojis on a WordPress site. It helps determine if the user's browser can display emojis properly.\n\n\n  * Cookie\nBCSessionID\n  * Duration\n1 year 1 month 4 days\n  * Description\nBlueconic sets this cookie as a unique identifier for the BlueConic profile.\n\n\n  * Cookie\n_octo\n  * Duration\n1 year\n  * Description\nNo description available.\n\n\n  * Cookie\nlogged_in\n  * Duration\n1 year\n  * Description\nNo description available.\n\n\n  * Cookie\n__Secure-YEC\n  * Duration\npast\n  * Description\nYouTube sets this cookie to stores the user's video player preferences using embedded YouTube video\n\n\n  * Cookie\n__eoi\n  * Duration\n6 months\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nAWSALBTGCORS\n  * Duration\n7 days\n  * Description\nNo description available.\n\n\n  * Cookie\nlogin-status-p\n  * Duration\npast\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nAWSALBTG\n  * Duration\n7 days\n  * Description\nNo description available.\n\n\n  * Cookie\ncsrf_token\n  * Duration\nsession\n  * Description\nNo description available.\n\n\n  * Cookie\ntoken_v2\n  * Duration\n1 day\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nD\n  * Duration\n1 year\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nPHPSESSID\n  * Duration\nsession\n  * Description\nThis cookie is native to PHP applications. The cookie stores and identifies a user's unique session ID to manage user sessions on the website. The cookie is a session cookie and will be deleted when all the browser windows are closed.\n\n\n  * Cookie\nVISITOR_PRIVACY_METADATA\n  * Duration\n6 months\n  * Description\nYouTube sets this cookie to store the user's cookie consent state for the current domain. \n\n\n  * Cookie\ncookietest\n  * Duration\nsession\n  * Description\nThe cookietest cookie is typically used to determine whether the user's browser accepts cookies, essential for website functionality and user experience.\n\n\n  * Cookie\n__Host-airtable-session\n  * Duration\n1 year\n  * Description\nThis cookie is used to enable us to integrate the services of Airtable.\n\n\n  * Cookie\n__Host-airtable-session.sig\n  * Duration\n1 year\n  * Description\nThis cookie is used to enable us to integrate the services of Airtable.\n\n\n  * Cookie\nm\n  * Duration\n1 year 1 month 4 days\n  * Description\nStripe sets this cookie for fraud prevention purposes. It identifies the device used to access the website, allowing the website to be formatted accordingly.\n\n\n  * Cookie\nBIGipServer*\n  * Duration\nsession\n  * Description\nMarketo sets this cookie to collect information about the user's online activity and build a profile about their interests to provide advertisements relevant to the user. \n\n\n  * Cookie\n__cfruid\n  * Duration\nsession\n  * Description\nCloudflare sets this cookie to identify trusted web traffic.\n\n\n  * Cookie\n_GRECAPTCHA\n  * Duration\n6 months\n  * Description\nGoogle Recaptcha service sets this cookie to identify bots to protect the website against malicious spam attacks.\n\n\n  * Cookie\n__Secure-YNID\n  * Duration\n6 months\n  * Description\nGoogle cookie used to protect user security and prevent fraud, especially during the login process.\n\n\n  * Cookie\ncookieyes-consent\n  * Duration\n1 year\n  * Description\nCookieYes sets this cookie to remember users' consent preferences so that their preferences are respected on subsequent visits to this site. It does not collect or store any personal information about the site visitors.\n\n\nFunctional\nFunctional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.\n  * Cookie\nlidc\n  * Duration\n1 day\n  * Description\nLinkedIn sets the lidc cookie to facilitate data center selection.\n\n\n  * Cookie\nbrw\n  * Duration\n1 year\n  * Description\nNo description available.\n\n\n  * Cookie\nbrwConsent\n  * Duration\n5 minutes\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nWMF-Uniq\n  * Duration\n1 year\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nloom_anon_comment\n  * Duration\n1 year\n  * Description\nNo description available.\n\n\n  * Cookie\nloom_referral_video\n  * Duration\nsession\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nVISITOR_INFO1_LIVE\n  * Duration\n6 months\n  * Description\nA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.\n\n\n  * Cookie\nyt-remote-connected-devices\n  * Duration\nNever Expires\n  * Description\nYouTube sets this cookie to store the user's video preferences using embedded YouTube videos.\n\n\n  * Cookie\nytidb::LAST_RESULT_ENTRY_KEY\n  * Duration\nNever Expires\n  * Description\nThe cookie ytidb::LAST_RESULT_ENTRY_KEY is used by YouTube to store the last search result entry that was clicked by the user. This information is used to improve the user experience by providing more relevant search results in the future.\n\n\n  * Cookie\nyt-remote-device-id\n  * Duration\nNever Expires\n  * Description\nYouTube sets this cookie to store the user's video preferences using embedded YouTube videos.\n\n\n  * Cookie\nyt-remote-session-name\n  * Duration\nsession\n  * Description\nThe yt-remote-session-name cookie is used by YouTube to store the user's video player preferences using embedded YouTube video.\n\n\n  * Cookie\nyt-remote-fast-check-period\n  * Duration\nsession\n  * Description\nThe yt-remote-fast-check-period cookie is used by YouTube to store the user's video player preferences for embedded YouTube videos.\n\n\n  * Cookie\nyt-remote-session-app\n  * Duration\nsession\n  * Description\nThe yt-remote-session-app cookie is used by YouTube to store user preferences and information about the interface of the embedded YouTube video player.\n\n\n  * Cookie\nyt-remote-cast-available\n  * Duration\nsession\n  * Description\nThe yt-remote-cast-available cookie is used to store the user's preferences regarding whether casting is available on their YouTube video player.\n\n\n  * Cookie\nyt-remote-cast-installed\n  * Duration\nsession\n  * Description\nThe yt-remote-cast-installed cookie is used to store the user's video player preferences using embedded YouTube video.\n\n\n  * Cookie\ncp_session\n  * Duration\n3 months\n  * Description\nCodepen sets this cookie for Help systems found in the website.\n\n\n  * Cookie\nloid\n  * Duration\n1 year 1 month 4 days\n  * Description\nThis cookie is set by the Reddit. The cookie enables the sharing of content from the website onto the social media platform.\n\n\nAnalytics\nAnalytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.\n  * Cookie\n__hstc\n  * Duration\n6 months\n  * Description\nHubspot set this main cookie for tracking visitors. It contains the domain, initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session).\n\n\n  * Cookie\nhubspotutk\n  * Duration\n6 months\n  * Description\nHubSpot sets this cookie to keep track of the visitors to the website. This cookie is passed to HubSpot on form submission and used when deduplicating contacts.\n\n\n  * Cookie\n_ga\n  * Duration\n1 year 1 month 4 days\n  * Description\nGoogle Analytics sets this cookie to calculate visitor, session and campaign data and track site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognise unique visitors.\n\n\n  * Cookie\n_ga_*\n  * Duration\n1 year 1 month 4 days\n  * Description\nGoogle Analytics sets this cookie to store and count page views.\n\n\n  * Cookie\n__Host-psifi.analyticsTrace\n  * Duration\n6 hours\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\n__Host-psifi.analyticsTraceV2\n  * Duration\n6 hours\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\n_gh_sess\n  * Duration\nsession\n  * Description\nGitHub sets this cookie for temporary application and framework state between pages like what step the user is on in a multiple step form.\n\n\n  * Cookie\nYSC\n  * Duration\nsession\n  * Description\nYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.\n\n\n  * Cookie\najs_anonymous_id\n  * Duration\n1 year\n  * Description\nThis cookie is set by Segment to count the number of people who visit a certain site by tracking if they have visited before.\n\n\n  * Cookie\nvuid\n  * Duration\n1 year 1 month 4 days\n  * Description\nVimeo installs this cookie to collect tracking information by setting a unique ID to embed videos on the website. \n\n\nPerformance\nPerformance cookies are used to understand and analyse the key performance indexes of the website which helps in delivering a better user experience for the visitors.\n  * Cookie\nAWSALB\n  * Duration\n7 days\n  * Description\nAWSALB is an application load balancer cookie set by Amazon Web Services to map the session to the target.\n\n\n  * Cookie\nacq\n  * Duration\npast\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nacq.sig\n  * Duration\npast\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nptc\n  * Duration\n2 years\n  * Description\nNo description available.\n\n\nAdvertisement\nAdvertisement cookies are used to provide visitors with customised advertisements based on the pages you visited previously and to analyse the effectiveness of the ad campaigns.\n  * Cookie\nmuc_ads\n  * Duration\n1 year 1 month 4 days\n  * Description\nTwitter sets this cookie to collect user behaviour and interaction data to optimize the website.\n\n\n  * Cookie\nguest_id_marketing\n  * Duration\n1 year 1 month 4 days\n  * Description\nTwitter sets this cookie to identify and track the website visitor.\n\n\n  * Cookie\nguest_id_ads\n  * Duration\n1 year 1 month 4 days\n  * Description\nTwitter sets this cookie to identify and track the website visitor.\n\n\n  * Cookie\npersonalization_id\n  * Duration\n1 year 1 month 4 days\n  * Description\nTwitter sets this cookie to integrate and share features for social media and also store information about how the user uses the website, for tracking and targeting.\n\n\n  * Cookie\nguest_id\n  * Duration\n1 year 1 month 4 days\n  * Description\nTwitter sets this cookie to identify and track the website visitor. It registers if a user is signed in to the Twitter platform and collects information about ad preferences.\n\n\n  * Cookie\nbcookie\n  * Duration\n1 year\n  * Description\nLinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser IDs.\n\n\n  * Cookie\n__Secure-ROLLOUT_TOKEN\n  * Duration\n6 months\n  * Description\nYouTube sets this cookie to manage feature rollout and experimentation. It helps Google control which new features or interface changes are shown to users as part of testing and staged rollouts, ensuring consistent experience for a given user during an experiment.\n\n\n  * Cookie\nyt.innertube::nextId\n  * Duration\nNever Expires\n  * Description\nYouTube sets this cookie to register a unique ID to store data on what videos from YouTube the user has seen.\n\n\n  * Cookie\nyt.innertube::requests\n  * Duration\nNever Expires\n  * Description\nYouTube sets this cookie to register a unique ID to store data on what videos from YouTube the user has seen.\n\n\n  * Cookie\nsession_tracker\n  * Duration\nsession\n  * Description\nThis cookie is set by the Reddit. This cookie is used to identify trusted web traffic. It also helps in adverstising on the website.\n\n\n  * Cookie\nedgebucket\n  * Duration\nsession\n  * Description\nReddit sets this cookie to save the information about a log-on Reddit user, for the purpose of advertisement recommendations and updating the content.\n\n\n  * Cookie\ndid\n  * Duration\n1 year\n  * Description\nArbor sets this cookie to show targeted ads to site visitors.This cookie expires after 2 months or 1 year.\n\n\nUncategorised\nOther uncategorised cookies are those that are being analysed and have not been classified into a category as yet.\nNo cookies to display.\nReject All Save My Preferences Accept All\nToggle Search[](https://towardsdatascience.com/)Toggle Mobile Navigation\n[](https://towardsdatascience.com/)\nPublish AI, ML & data-science insights to a global community of data professionals.\nSign in[Submit an Article](https://write.insightmediagroup.io)\n[Latest](https://towardsdatascience.com/latest/)[Editor's Picks](https://towardsdatascience.com/tag/editors-pick/)[Newsletter](https://towardsdatascience.com/tag/the-variable/)[ShipAI](https://towardsdatascience.com/shipai/)\n* * *\n[Write For TDS](https://towardsdatascience.com/submissions/)\n[LinkedIn](https://www.linkedin.com/company/towards-data-science/)[X](https://x.com/TDataScience)Toggle Search\n[Artificial Intelligence](https://towardsdatascience.com/category/artificial-intelligence/)\n# Data drift: It can come at you from anywhere\nThe concept of data drift is illustrated visually in various shapes and forms.\n[Tirthajyoti Sarkar](https://towardsdatascience.com/author/tirthajyoti/)\nJanuary 19, 20225 min read\n![](../images/000.png)\n## A short introduction to data drift\nMachine learning (ML) models, at least in their present incarnations, are little more than [**powerful inductive machines**](https://medium.com/tech-cult-heartbeat/introduction-to-inductive-learning-in-artificial-intelligence-dafc2796405b). Their lofty goal is to go from a small example set to a broader inductive generalization.\nNaturally, for successful (and dependable) functioning, they need to depend on the critical assumption - _the input data distribution does not drift away too much over time_.\nBecause, if that happens, then **a successful model is only successful at a single point in time**. Over time, the model will make inductive generalizations based on a distribution that is not exactly what it was trained on, and performance will degrade.\nSo, we need monitoring and (timely) detection of any data-drift in the **MLOps or ModelOps pipeline** for any (continually) successful ML model deployment. Apart from regular MLops, the concept of data drift is important for ML explainability or [**Explainable AI (xAI)**](https://www.ibm.com/watson/explainable-ai) field too.\n_Where exactly a data drift monitoring block should sit_ in an end-to-end MLops cycle is nicely visualized in the following article.\n> [**Essential guide to Machine Learning Model Monitoring in Production**](https://towardsdatascience.com/essential-guide-to-machine-learning-model-monitoring-in-production-2fbb36985108)\nA lot of articles on this topic discuss the shape and statistical properties of the input distributions. In this article, we will take the example of (one or more) data streams feeding into ML models in the form of time series and visualize those variations to understand the concept clearly. Additionally, we will also talk about a few not-so-obvious sources of data drifts in an industrial context.\nLearn this step by step with the interactive [AI Engineer](https://roadmap.sh/ai-engineer), [AI and Data Scientist](https://roadmap.sh/ai-data-scientist), [Computer Science](https://roadmap.sh/computer-science) and [Machine Learning](https://roadmap.sh/machine-learning) roadmaps.\n## Data drift is like a box of chocolates...\nYou never know what you're gonna get (next)! Let's see some obvious and not-so-obvious examples...\n### Level shift? Obviously\nThis is an obvious data drift. In many unsupervised model settings, this will also be called an '_**outlier**_ ' or '_**anomaly**_ '. Also note, drift may not be permanent and can be short-lived. Both the start and end of the drift should be identified quickly.\n### Variance shift? Subtler\nThis is slightly harder to detect than level shift. See the illustration below.\n### Variance decrease? That's a drift too\nAt a high level, business/ process people (or your customer) will tell you that high variance is bad. Yes, they are almost always right. But from a data drift point of view, you have to watch for any chance - even a sudden decrease in the variance. Statistically, that is a change in the distribution properties too.\n### Peak shifts inside a period\nThis one is more subtle and hard to detect. I have tried to illustrate the drift with additional annotations like _peak_ and _period_. Did you see what really happened here? The data comes in a periodic fashion and there is a peak within each period. **The relative position of that peak (within a period) shifted** for some time before it came back to normal.\nDo you see the problem? Simple statistical properties may not catch this drift. The mean and variance (other moments too) may look similar. How do you catch it then? Interestingly, some simple **spectral analysis** will indicate a shift. So, you have to bring in some **knowledge of signal processing** to catch this data drift.\n### Contextual data - another way to catch the drift\nIf you are also monitoring a logging stream that has fixed-time indicators, like a shift start, or a machine reset, that can sometimes help catch these temporal shifts in an intuitive manner. The data monitoring has to ensure excellent time-synchronization of course. In the following illustration, the anchor events and the relative distance of the peaks from those anchors will indicate a drift.\n### Phase-shift/delay\nThis is a killer, in a true sense. For ML models training and inferencing on time-series data, a slight phase delay can generate totally wrong predictions. Basically, the model was trained like \"If _X_1 and _X_2 were similar then predict _Y_0, otherwise predict _Y_1\".\nNow, look at the situation below and realize what would happen with out-of-phase data streams. The top data stream is fine, the bottom one drifted slightly. It is possible that the data stream is fine, only the acquisition was delayed and fell out of sync.\n### Some are drift, some not\nIn industrial or manufacturing scenarios, process recipes and settings change all the time. There may also be a scheduled changelog. This kind of contextual data needs to be monitored for identifying correct data drift. Here is the visual illustration,\n### Measurement/Sensor drift\nThis is also one of the hardest to detect and manage. The input data streams and the generative processes may be fine but there may be drift on the sensor (that is measuring the incoming data and feeding to the ML model or monitoring system).\nA monitoring system (consisting of an ML model and an alert generating module) may detect a drift and send a wrong recommendation signal to the core process layer thinking that the fundamental process has shifted. That would be a misjudgment and bad recommendation.\nThis is also an example where a **concept drift (the model or the physical dynamics of the sensor itself) can be mistaken for a data drift**. That's an error to be avoided at all costs.\n## Summary\nWe discussed the concept of data drift in a time-series sense by showing some visual illustrations. It is obvious that catching and analyzing data drift is not a trivial problem, even in the simplest one-dimensional setting. Additional techniques like signal processing or merging with contextual data may be needed to correctly identify the onset and nature of data drift.\nWhat are the mitigations? There is no one answer and it totally depends on the industry and the specific application area. This article goes through some of them systematically. Give it a read.\n> [**\"My data drifted. What's next?\" How to handle ML model drift in production.**](https://towardsdatascience.com/my-data-drifted-whats-next-how-to-handle-ml-model-drift-in-production-78719ef007b1)\n* * *\n_Loved the article? Become a_[ _**Medium member**_](https://medium.com/@tirthajyoti/membership) _to continue_ _**learning without limits**_ _. I'll receive a portion of your membership fee if you use the following link,__**with no extra cost to you**_ _._\n> [**Join Medium with my referral link - Tirthajyoti Sarkar**](https://medium.com/@tirthajyoti/membership)\n## Register Now to Continue Reading\n### Unlock Towards Data Science with a Free Account\nAll articles on Towards Data Science are available to registered users. Create a free account today to access this article and thousands more.\nRegister for freeSign in to your account\n* * *\n![](../images/body-662aba1723e2e3d49fcc.jpeg)\nWritten By\n## [Tirthajyoti Sarkar](https://towardsdatascience.com/author/tirthajyoti/)\n[See all from Tirthajyoti Sarkar](https://towardsdatascience.com/author/tirthajyoti/)\n[Artificial Intelligence](https://towardsdatascience.com/tag/artificial-intelligence/)[Data Science](https://towardsdatascience.com/tag/data-science/)[Machine Learning](https://towardsdatascience.com/tag/machine-learning/)[Technology](https://towardsdatascience.com/tag/technology/)\nShare This Article\n  * [](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Ftowardsdatascience.com%2Fdata-drift-it-can-come-at-you-from-anywhere-b78eb186855%2F&title=Data%20drift%3A%20It%20can%20come%20at%20you%20from%20anywhere)\n  * [](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Ftowardsdatascience.com%2Fdata-drift-it-can-come-at-you-from-anywhere-b78eb186855%2F&title=Data%20drift%3A%20It%20can%20come%20at%20you%20from%20anywhere)\n  * [](https://x.com/share?url=https%3A%2F%2Ftowardsdatascience.com%2Fdata-drift-it-can-come-at-you-from-anywhere-b78eb186855%2F&text=Data%20drift%3A%20It%20can%20come%20at%20you%20from%20anywhere)\n\n\nTowards Data Science is a community publication. Submit your insights to reach our global audience and earn through the TDS Author Payment Program.\n[Write for TDS](https://towardsdatascience.com/submissions/)\n## Related Articles\n  * [![](../images/001.jpg)](https://towardsdatascience.com/object-detection-basics-a-comprehensive-beginners-guide-part-1-f57380c89b78/)\n## [Object Detection Basics - A Comprehensive Beginner's Guide (Part 1)](https://towardsdatascience.com/object-detection-basics-a-comprehensive-beginners-guide-part-1-f57380c89b78/)\n[Deep Learning](https://towardsdatascience.com/category/artificial-intelligence/deep-learning/)\nLearn the basics of this advanced computer vision task of object detection in an easy to understand multi-part beginner's guide\n[Raghav Bali](https://towardsdatascience.com/author/rghv_bali/)\nFebruary 5, 202410 min read\n  * [![](../images/002.jpg)](https://towardsdatascience.com/solving-inverse-problems-with-physics-informed-deeponet-a-practical-guide-with-code-implementation-27795eb4f502/)\n## [Solving Inverse Problems With Physics-Informed DeepONet: A Practical Guide With Code Implementation](https://towardsdatascience.com/solving-inverse-problems-with-physics-informed-deeponet-a-practical-guide-with-code-implementation-27795eb4f502/)\n[Machine Learning](https://towardsdatascience.com/category/artificial-intelligence/machine-learning/)\nTwo case studies with parameter estimation and input function calibration\n[Shuai Guo](https://towardsdatascience.com/author/shuaiguo/)\nJuly 17, 202324 min read\n  * [![](../images/003.jpg)](https://towardsdatascience.com/tds-newsletter-how-to-build-robust-data-and-ai-systems/)\n## [TDS Newsletter: How to Build Robust Data and AI Systems](https://towardsdatascience.com/tds-newsletter-how-to-build-robust-data-and-ai-systems/)\n[The Variable](https://towardsdatascience.com/category/the-variable/)\nGain a high-level understanding of how the different pieces in your workflow come together\n[TDS Editors](https://towardsdatascience.com/author/towardsdatascience/)\nNovember 20, 20253 min read\n  * [![](../images/004.jpg)](https://towardsdatascience.com/ai-will-impact-computer-based-jobs-first-and-hard-11af4d47487/)\n## [AI Will Impact Computer-Based Jobs First-and Hard](https://towardsdatascience.com/ai-will-impact-computer-based-jobs-first-and-hard-11af4d47487/)\n[Artificial Intelligence](https://towardsdatascience.com/category/artificial-intelligence/)\nOpenAI's CEO made a prediction that could change everything.\n[Alberto Romero](https://towardsdatascience.com/author/albertoromgar/)\nJune 18, 20215 min read\n  * [![](../images/005.png)](https://towardsdatascience.com/carbon-footprint-why-common-claims-may-not-be-accurate-6f7860a7f08b/)\n## [Carbon Footprint: Why Common Claims May Not Be Accurate](https://towardsdatascience.com/carbon-footprint-why-common-claims-may-not-be-accurate-6f7860a7f08b/)\n[Data Science](https://towardsdatascience.com/category/data-science/)\nCreating robust CO₂ scenarios for data-driven climate action\n[Boris Ruf](https://towardsdatascience.com/author/boris-ruf/)\nMarch 31, 20237 min read\n  * [![](../images/006.png)](https://towardsdatascience.com/neural-networks-backpropagation-by-dr-lihi-gur-arie-27be67d8fdce/)\n## [Neural Networks Backpropagation Made Easy](https://towardsdatascience.com/neural-networks-backpropagation-by-dr-lihi-gur-arie-27be67d8fdce/)\n[Deep Learning](https://towardsdatascience.com/category/artificial-intelligence/deep-learning/)\nA friendly guide to the mathematical intuition behind vanilla Neural Networks. Understanding the mathematical operations...\n[Lihi Gur Arie, PhD](https://towardsdatascience.com/author/lihigurarie/)\nMay 8, 20217 min read\n  * [![](../images/007.png)](https://towardsdatascience.com/spectral-entropy-an-underestimated-time-series-feature-94e18ae5b958/)\n## [Spectral Entropy - An Underestimated Time Series Feature](https://towardsdatascience.com/spectral-entropy-an-underestimated-time-series-feature-94e18ae5b958/)\n[Machine Learning](https://towardsdatascience.com/category/artificial-intelligence/machine-learning/)\nI show how spectral entropy helped me solve two time series classification problems.\n[Ning Jia](https://towardsdatascience.com/author/ning.jia/)\nDecember 7, 20226 min read\n  * [![](../images/008.jpg)](https://towardsdatascience.com/what-makes-a-strong-ai-012315722793/)\n## [What Makes A Strong AI?](https://towardsdatascience.com/what-makes-a-strong-ai-012315722793/)\n[Artificial Intelligence](https://towardsdatascience.com/category/artificial-intelligence/)\n\"The Book of Why\" Chapters 9&10, a Read with Me series\n[Zijing Zhu, PhD](https://towardsdatascience.com/author/zzhu17/)\nJanuary 4, 202414 min read\n  * [![](../images/009.png)](https://towardsdatascience.com/math-unsupervised-a3667b6ec9b8/)\n## [Math Unsupervised](https://towardsdatascience.com/math-unsupervised-a3667b6ec9b8/)\n[Data Science](https://towardsdatascience.com/category/data-science/)\nThroughout my many years in math education as a tutor, TA, and teacher, one thing that stood out to me was that my students consistently...\n[Neda Saleem](https://towardsdatascience.com/author/nedasaleem/)\nDecember 15, 20204 min read\n\n\n  * [YouTube](https://www.youtube.com/c/TowardsDataScience)\n  * [X](https://x.com/TDataScience)\n  * [LinkedIn](https://www.linkedin.com/company/towards-data-science/)\n  * [Threads](https://www.threads.net/@towardsdatascience)\n  * [Bluesky](https://bsky.app/profile/towardsdatascience.com)\n\n\n[](https://towardsdatascience.com/)\nYour home for data science and AI. The world's leading publication for data science, data analytics, data engineering, machine learning, and artificial intelligence professionals.\nSubscribe to Our Newsletter[Write For TDS](https://towardsdatascience.com/submissions/)•[About](https://towardsdatascience.com/about-towards-data-science-d691af11cc2f/)•[Advertise](https://contact.towardsdatascience.com/advertise-with-towards-data-science)•[Privacy Policy](https://towardsdatascience.com/privacy-policy/)•[Terms of Use](https://towardsdatascience.com/website-terms-of-use/)\n© Insight Media Group, LLC 2026•[The New Stack](https://thenewstack.io)•[roadmap.sh](https://roadmap.sh)•[Creator Network](https://insightmediagroup.io/creator-network)\n####  Recommended Articles \nClose\n  * [ ![](https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/607639/image?etag=1781250125848&width=500&height=500) Javascript Fatigue: HTMX Is All You Need to Build ChatGPT — Part 1 ](https://towardsdatascience.com/javascript-fatigue-you-dont-need-js-to-build-chatgpt/ \"Javascript Fatigue: HTMX Is All You Need to Build ChatGPT — Part 1\")\n  * [ ![](https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/607930/image?etag=1782124566054&width=500&height=500) The Subset Sum Problem Solved in Linear Time for Dense Enough Inputs ](https://towardsdatascience.com/subset-sum-problem-solved-in-linear-time-for-dense-enough-inputs/ \"The Subset Sum Problem Solved in Linear Time for Dense Enough Inputs\")\n  * [ ![](https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/3660/image?etag=1780176246070&width=500&height=500) Does Your Company Have a Data Strategy? ](https://towardsdatascience.com/does-your-company-have-a-data-strategy-e8944dbec4ae/ \"Does Your Company Have a Data Strategy?\")\n  * [ ![](https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/4970/image?etag=1780565225463&width=500&height=500) Productivity Tips, Data Career Insights, and Other Recent Must-Reads ](https://towardsdatascience.com/productivity-tips-data-career-insights-and-other-recent-must-reads-5c47eb7a2fe0/ \"Productivity Tips, Data Career Insights, and Other Recent Must-Reads\")\n\n\n",
  "metadata": {
    "title": "Data drift: It can come at you from anywhere | Towards Data Science",
    "description": "The concept of data drift is illustrated visually in various shapes and forms.",
    "keywords": null,
    "author": "Tirthajyoti Sarkar",
    "og:locale": "en_US",
    "og:type": "article",
    "og:title": "Data drift: It can come at you from anywhere",
    "og:description": "The concept of data drift is illustrated visually in various shapes and forms.",
    "og:url": "https://towardsdatascience.com/data-drift-it-can-come-at-you-from-anywhere-b78eb186855/",
    "og:site_name": "Towards Data Science",
    "og:image": "https://assets.insightmediagroup.io/media/wp-content/uploads/2022/01/1TnU7qZ0SUvvjCMM7E6e91g.png",
    "og:image:width": "1383",
    "og:image:height": "743",
    "og:image:type": "image/png",
    "twitter:card": "summary_large_image",
    "twitter:site": "@TDataScience",
    "twitter:creator": "@TDataScience",
    "twitter:label1": "Written by",
    "twitter:data1": "Tirthajyoti Sarkar",
    "twitter:label2": "Est. reading time",
    "twitter:data2": "5 min read",
    "article:published_time": "2022-01-19T19:31:36.000Z",
    "article:modified_time": "2022-01-19T19:31:36.000Z",
    "article:author": "https://towardsdatascience.com/author/tirthajyoti/"
  },
  "paywall": {
    "listed_paid": false,
    "detected": false,
    "marker": "",
    "public_only": false,
    "policy": "付费/会员内容只保留页面公开可见部分，不绕过付费墙"
  },
  "crawl": {
    "success": true,
    "status_code": 202,
    "error": ""
  },
  "code_blocks": [],
  "images": [
    {
      "status": "http_404",
      "url": "https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/607639/image?etag=1781250125848&width=500&height=500",
      "src": "https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/607639/image?etag=1781250125848&width=500&height=500",
      "alt": "",
      "downloaded": false,
      "discovery": "saved_markdown",
      "retried_at": "2026-10-20T17:54:22Z"
    },
    {
      "status": "http_404",
      "url": "https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/607930/image?etag=1782124566054&width=500&height=500",
      "src": "https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/607930/image?etag=1782124566054&width=500&height=500",
      "alt": "",
      "downloaded": false,
      "discovery": "saved_markdown",
      "retried_at": "2026-10-20T17:54:22Z"
    },
    {
      "status": "http_404",
      "url": "https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/3660/image?etag=1780176246070&width=500&height=500",
      "src": "https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/3660/image?etag=1780176246070&width=500&height=500",
      "alt": "",
      "downloaded": false,
      "discovery": "saved_markdown",
      "retried_at": "2026-10-20T17:54:22Z"
    },
    {
      "status": "http_404",
      "url": "https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/4970/image?etag=1780565225463&width=500&height=500",
      "src": "https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/4970/image?etag=1780565225463&width=500&height=500",
      "alt": "",
      "downloaded": false,
      "discovery": "saved_markdown",
      "retried_at": "2026-10-20T17:54:22Z"
    }
  ],
  "audio": [],
  "videos": [
    {
      "url": "https://www.youtube.com/c/TowardsDataScience",
      "kind": "channel_reference",
      "status": "reference_only"
    }
  ],
  "links": [
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/latest/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/tag/editors-pick/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/tag/the-variable/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/shipai/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/submissions/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/category/artificial-intelligence/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/author/tirthajyoti/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/essential-guide-to-machine-learning-model-monitoring-in-production-2fbb36985108"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/my-data-drifted-whats-next-how-to-handle-ml-model-drift-in-production-78719ef007b1"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/tag/artificial-intelligence/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/tag/data-science/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/tag/machine-learning/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/tag/technology/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/object-detection-basics-a-comprehensive-beginners-guide-part-1-f57380c89b78/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/category/artificial-intelligence/deep-learning/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/author/rghv_bali/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/solving-inverse-problems-with-physics-informed-deeponet-a-practical-guide-with-code-implementation-27795eb4f502/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/category/artificial-intelligence/machine-learning/"
    },
    {
      "type": "internal",
      "href": "https://towardsdatascience.com/author/shuaiguo/"
    },
    {
      "type": "external",
      "href": "https://write.insightmediagroup.io"
    },
    {
      "type": "external",
      "href": "https://www.linkedin.com/company/towards-data-science/"
    },
    {
      "type": "external",
      "href": "https://x.com/TDataScience"
    },
    {
      "type": "external",
      "href": "https://medium.com/tech-cult-heartbeat/introduction-to-inductive-learning-in-artificial-intelligence-dafc2796405b"
    },
    {
      "type": "external",
      "href": "https://www.ibm.com/watson/explainable-ai"
    },
    {
      "type": "external",
      "href": "https://roadmap.sh/ai-engineer"
    },
    {
      "type": "external",
      "href": "https://roadmap.sh/ai-data-scientist"
    },
    {
      "type": "external",
      "href": "https://roadmap.sh/computer-science"
    },
    {
      "type": "external",
      "href": "https://roadmap.sh/machine-learning"
    },
    {
      "type": "external",
      "href": "https://medium.com/@tirthajyoti/membership"
    },
    {
      "type": "external",
      "href": "https://www.facebook.com/sharer/sharer.php?title=Data+drift%3A+It+can+come+at+you+from+anywhere&u=https%3A%2F%2Ftowardsdatascience.com%2Fdata-drift-it-can-come-at-you-from-anywhere-b78eb186855%2F"
    },
    {
      "type": "external",
      "href": "https://www.linkedin.com/shareArticle?mini=true&title=Data+drift%3A+It+can+come+at+you+from+anywhere&url=https%3A%2F%2Ftowardsdatascience.com%2Fdata-drift-it-can-come-at-you-from-anywhere-b78eb186855%2F"
    },
    {
      "type": "external",
      "href": "https://x.com/share?text=Data+drift%3A+It+can+come+at+you+from+anywhere&url=https%3A%2F%2Ftowardsdatascience.com%2Fdata-drift-it-can-come-at-you-from-anywhere-b78eb186855%2F"
    },
    {
      "type": "external",
      "href": "https://www.youtube.com/c/TowardsDataScience"
    },
    {
      "type": "external",
      "href": "https://www.threads.net/@towardsdatascience"
    },
    {
      "type": "external",
      "href": "https://bsky.app/profile/towardsdatascience.com"
    },
    {
      "type": "external",
      "href": "https://thenewstack.io"
    },
    {
      "type": "external",
      "href": "https://roadmap.sh"
    },
    {
      "type": "external",
      "href": "https://insightmediagroup.io/creator-network"
    }
  ],
  "repair_version": 2,
  "repaired_at": "2026-10-20T17:28:29Z",
  "source_url": "https://towardsdatascience.com/data-drift-it-can-come-at-you-from-anywhere-b78eb186855/",
  "delivery_status": "unverified",
  "discovery_status": "http_403",
  "missing_reason": "源页面未重新核验:http_403；已按保留正文补采图片",
  "repair_error": "",
  "actual_video_files": [],
  "expected_saved_body_images": 4,
  "image_discovery": "saved_markdown",
  "source_body_markdown": "![Revisit consent button](https://cdn-cookieyes.com/assets/images/revisit.svg)\nWe value your privacy\nWe use cookies to enhance your browsing experience, serve personalised ads or content, and analyse our traffic. By clicking \"Accept All\", you consent to our use of cookies.\nCustomise Reject All Accept All\nCustomise Consent Preferences ![](https://cdn-cookieyes.com/assets/images/close.svg)\nWe use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.\nThe cookies that are categorised as \"Necessary\" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... Show more\nNecessaryAlways Active\nNecessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.\n  * Cookie\nBCTempID\n  * Duration\n10 minutes\n  * Description\nNo description available.\n\n\n  * Cookie\n__cf_bm\n  * Duration\n1 hour\n  * Description\nThis cookie, set by Cloudflare, is used to support Cloudflare Bot Management. \n\n\n  * Cookie\nAWSALBCORS\n  * Duration\n7 days\n  * Description\nAmazon Web Services set this cookie for load balancing.\n\n\n  * Cookie\n_cfuvid\n  * Duration\nsession\n  * Description\nCloudflare sets this cookie to track users across sessions to optimize user experience by maintaining session consistency and providing personalized services\n\n\n  * Cookie\nli_gc\n  * Duration\n6 months\n  * Description\nLinkedin set this cookie for storing visitor's consent regarding using cookies for non-essential purposes.\n\n\n  * Cookie\n__hssrc\n  * Duration\nsession\n  * Description\nThis cookie is set by Hubspot whenever it changes the session cookie. The __hssrc cookie set to 1 indicates that the user has restarted the browser, and if the cookie does not exist, it is assumed to be a new session.\n\n\n  * Cookie\n__hssc\n  * Duration\n1 hour\n  * Description\nHubSpot sets this cookie to keep track of sessions and to determine if HubSpot should increment the session number and timestamps in the __hstc cookie.\n\n\n  * Cookie\nwpEmojiSettingsSupports\n  * Duration\nsession\n  * Description\nWordPress sets this cookie when a user interacts with emojis on a WordPress site. It helps determine if the user's browser can display emojis properly.\n\n\n  * Cookie\nBCSessionID\n  * Duration\n1 year 1 month 4 days\n  * Description\nBlueconic sets this cookie as a unique identifier for the BlueConic profile.\n\n\n  * Cookie\n_octo\n  * Duration\n1 year\n  * Description\nNo description available.\n\n\n  * Cookie\nlogged_in\n  * Duration\n1 year\n  * Description\nNo description available.\n\n\n  * Cookie\n__Secure-YEC\n  * Duration\npast\n  * Description\nYouTube sets this cookie to stores the user's video player preferences using embedded YouTube video\n\n\n  * Cookie\n__eoi\n  * Duration\n6 months\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nAWSALBTGCORS\n  * Duration\n7 days\n  * Description\nNo description available.\n\n\n  * Cookie\nlogin-status-p\n  * Duration\npast\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nAWSALBTG\n  * Duration\n7 days\n  * Description\nNo description available.\n\n\n  * Cookie\ncsrf_token\n  * Duration\nsession\n  * Description\nNo description available.\n\n\n  * Cookie\ntoken_v2\n  * Duration\n1 day\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nD\n  * Duration\n1 year\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nPHPSESSID\n  * Duration\nsession\n  * Description\nThis cookie is native to PHP applications. The cookie stores and identifies a user's unique session ID to manage user sessions on the website. The cookie is a session cookie and will be deleted when all the browser windows are closed.\n\n\n  * Cookie\nVISITOR_PRIVACY_METADATA\n  * Duration\n6 months\n  * Description\nYouTube sets this cookie to store the user's cookie consent state for the current domain. \n\n\n  * Cookie\ncookietest\n  * Duration\nsession\n  * Description\nThe cookietest cookie is typically used to determine whether the user's browser accepts cookies, essential for website functionality and user experience.\n\n\n  * Cookie\n__Host-airtable-session\n  * Duration\n1 year\n  * Description\nThis cookie is used to enable us to integrate the services of Airtable.\n\n\n  * Cookie\n__Host-airtable-session.sig\n  * Duration\n1 year\n  * Description\nThis cookie is used to enable us to integrate the services of Airtable.\n\n\n  * Cookie\nm\n  * Duration\n1 year 1 month 4 days\n  * Description\nStripe sets this cookie for fraud prevention purposes. It identifies the device used to access the website, allowing the website to be formatted accordingly.\n\n\n  * Cookie\nBIGipServer*\n  * Duration\nsession\n  * Description\nMarketo sets this cookie to collect information about the user's online activity and build a profile about their interests to provide advertisements relevant to the user. \n\n\n  * Cookie\n__cfruid\n  * Duration\nsession\n  * Description\nCloudflare sets this cookie to identify trusted web traffic.\n\n\n  * Cookie\n_GRECAPTCHA\n  * Duration\n6 months\n  * Description\nGoogle Recaptcha service sets this cookie to identify bots to protect the website against malicious spam attacks.\n\n\n  * Cookie\n__Secure-YNID\n  * Duration\n6 months\n  * Description\nGoogle cookie used to protect user security and prevent fraud, especially during the login process.\n\n\n  * Cookie\ncookieyes-consent\n  * Duration\n1 year\n  * Description\nCookieYes sets this cookie to remember users' consent preferences so that their preferences are respected on subsequent visits to this site. It does not collect or store any personal information about the site visitors.\n\n\nFunctional\nFunctional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.\n  * Cookie\nlidc\n  * Duration\n1 day\n  * Description\nLinkedIn sets the lidc cookie to facilitate data center selection.\n\n\n  * Cookie\nbrw\n  * Duration\n1 year\n  * Description\nNo description available.\n\n\n  * Cookie\nbrwConsent\n  * Duration\n5 minutes\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nWMF-Uniq\n  * Duration\n1 year\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nloom_anon_comment\n  * Duration\n1 year\n  * Description\nNo description available.\n\n\n  * Cookie\nloom_referral_video\n  * Duration\nsession\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nVISITOR_INFO1_LIVE\n  * Duration\n6 months\n  * Description\nA cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.\n\n\n  * Cookie\nyt-remote-connected-devices\n  * Duration\nNever Expires\n  * Description\nYouTube sets this cookie to store the user's video preferences using embedded YouTube videos.\n\n\n  * Cookie\nytidb::LAST_RESULT_ENTRY_KEY\n  * Duration\nNever Expires\n  * Description\nThe cookie ytidb::LAST_RESULT_ENTRY_KEY is used by YouTube to store the last search result entry that was clicked by the user. This information is used to improve the user experience by providing more relevant search results in the future.\n\n\n  * Cookie\nyt-remote-device-id\n  * Duration\nNever Expires\n  * Description\nYouTube sets this cookie to store the user's video preferences using embedded YouTube videos.\n\n\n  * Cookie\nyt-remote-session-name\n  * Duration\nsession\n  * Description\nThe yt-remote-session-name cookie is used by YouTube to store the user's video player preferences using embedded YouTube video.\n\n\n  * Cookie\nyt-remote-fast-check-period\n  * Duration\nsession\n  * Description\nThe yt-remote-fast-check-period cookie is used by YouTube to store the user's video player preferences for embedded YouTube videos.\n\n\n  * Cookie\nyt-remote-session-app\n  * Duration\nsession\n  * Description\nThe yt-remote-session-app cookie is used by YouTube to store user preferences and information about the interface of the embedded YouTube video player.\n\n\n  * Cookie\nyt-remote-cast-available\n  * Duration\nsession\n  * Description\nThe yt-remote-cast-available cookie is used to store the user's preferences regarding whether casting is available on their YouTube video player.\n\n\n  * Cookie\nyt-remote-cast-installed\n  * Duration\nsession\n  * Description\nThe yt-remote-cast-installed cookie is used to store the user's video player preferences using embedded YouTube video.\n\n\n  * Cookie\ncp_session\n  * Duration\n3 months\n  * Description\nCodepen sets this cookie for Help systems found in the website.\n\n\n  * Cookie\nloid\n  * Duration\n1 year 1 month 4 days\n  * Description\nThis cookie is set by the Reddit. The cookie enables the sharing of content from the website onto the social media platform.\n\n\nAnalytics\nAnalytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.\n  * Cookie\n__hstc\n  * Duration\n6 months\n  * Description\nHubspot set this main cookie for tracking visitors. It contains the domain, initial timestamp (first visit), last timestamp (last visit), current timestamp (this visit), and session number (increments for each subsequent session).\n\n\n  * Cookie\nhubspotutk\n  * Duration\n6 months\n  * Description\nHubSpot sets this cookie to keep track of the visitors to the website. This cookie is passed to HubSpot on form submission and used when deduplicating contacts.\n\n\n  * Cookie\n_ga\n  * Duration\n1 year 1 month 4 days\n  * Description\nGoogle Analytics sets this cookie to calculate visitor, session and campaign data and track site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognise unique visitors.\n\n\n  * Cookie\n_ga_*\n  * Duration\n1 year 1 month 4 days\n  * Description\nGoogle Analytics sets this cookie to store and count page views.\n\n\n  * Cookie\n__Host-psifi.analyticsTrace\n  * Duration\n6 hours\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\n__Host-psifi.analyticsTraceV2\n  * Duration\n6 hours\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\n_gh_sess\n  * Duration\nsession\n  * Description\nGitHub sets this cookie for temporary application and framework state between pages like what step the user is on in a multiple step form.\n\n\n  * Cookie\nYSC\n  * Duration\nsession\n  * Description\nYSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.\n\n\n  * Cookie\najs_anonymous_id\n  * Duration\n1 year\n  * Description\nThis cookie is set by Segment to count the number of people who visit a certain site by tracking if they have visited before.\n\n\n  * Cookie\nvuid\n  * Duration\n1 year 1 month 4 days\n  * Description\nVimeo installs this cookie to collect tracking information by setting a unique ID to embed videos on the website. \n\n\nPerformance\nPerformance cookies are used to understand and analyse the key performance indexes of the website which helps in delivering a better user experience for the visitors.\n  * Cookie\nAWSALB\n  * Duration\n7 days\n  * Description\nAWSALB is an application load balancer cookie set by Amazon Web Services to map the session to the target.\n\n\n  * Cookie\nacq\n  * Duration\npast\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nacq.sig\n  * Duration\npast\n  * Description\nDescription is currently not available.\n\n\n  * Cookie\nptc\n  * Duration\n2 years\n  * Description\nNo description available.\n\n\nAdvertisement\nAdvertisement cookies are used to provide visitors with customised advertisements based on the pages you visited previously and to analyse the effectiveness of the ad campaigns.\n  * Cookie\nmuc_ads\n  * Duration\n1 year 1 month 4 days\n  * Description\nTwitter sets this cookie to collect user behaviour and interaction data to optimize the website.\n\n\n  * Cookie\nguest_id_marketing\n  * Duration\n1 year 1 month 4 days\n  * Description\nTwitter sets this cookie to identify and track the website visitor.\n\n\n  * Cookie\nguest_id_ads\n  * Duration\n1 year 1 month 4 days\n  * Description\nTwitter sets this cookie to identify and track the website visitor.\n\n\n  * Cookie\npersonalization_id\n  * Duration\n1 year 1 month 4 days\n  * Description\nTwitter sets this cookie to integrate and share features for social media and also store information about how the user uses the website, for tracking and targeting.\n\n\n  * Cookie\nguest_id\n  * Duration\n1 year 1 month 4 days\n  * Description\nTwitter sets this cookie to identify and track the website visitor. It registers if a user is signed in to the Twitter platform and collects information about ad preferences.\n\n\n  * Cookie\nbcookie\n  * Duration\n1 year\n  * Description\nLinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser IDs.\n\n\n  * Cookie\n__Secure-ROLLOUT_TOKEN\n  * Duration\n6 months\n  * Description\nYouTube sets this cookie to manage feature rollout and experimentation. It helps Google control which new features or interface changes are shown to users as part of testing and staged rollouts, ensuring consistent experience for a given user during an experiment.\n\n\n  * Cookie\nyt.innertube::nextId\n  * Duration\nNever Expires\n  * Description\nYouTube sets this cookie to register a unique ID to store data on what videos from YouTube the user has seen.\n\n\n  * Cookie\nyt.innertube::requests\n  * Duration\nNever Expires\n  * Description\nYouTube sets this cookie to register a unique ID to store data on what videos from YouTube the user has seen.\n\n\n  * Cookie\nsession_tracker\n  * Duration\nsession\n  * Description\nThis cookie is set by the Reddit. This cookie is used to identify trusted web traffic. It also helps in adverstising on the website.\n\n\n  * Cookie\nedgebucket\n  * Duration\nsession\n  * Description\nReddit sets this cookie to save the information about a log-on Reddit user, for the purpose of advertisement recommendations and updating the content.\n\n\n  * Cookie\ndid\n  * Duration\n1 year\n  * Description\nArbor sets this cookie to show targeted ads to site visitors.This cookie expires after 2 months or 1 year.\n\n\nUncategorised\nOther uncategorised cookies are those that are being analysed and have not been classified into a category as yet.\nNo cookies to display.\nReject All Save My Preferences Accept All\nToggle Search[](https://towardsdatascience.com/)Toggle Mobile Navigation\n[](https://towardsdatascience.com/)\nPublish AI, ML & data-science insights to a global community of data professionals.\nSign in[Submit an Article](https://write.insightmediagroup.io)\n[Latest](https://towardsdatascience.com/latest/)[Editor's Picks](https://towardsdatascience.com/tag/editors-pick/)[Newsletter](https://towardsdatascience.com/tag/the-variable/)[ShipAI](https://towardsdatascience.com/shipai/)\n* * *\n[Write For TDS](https://towardsdatascience.com/submissions/)\n[LinkedIn](https://www.linkedin.com/company/towards-data-science/)[X](https://x.com/TDataScience)Toggle Search\n[Artificial Intelligence](https://towardsdatascience.com/category/artificial-intelligence/)\n# Data drift: It can come at you from anywhere\nThe concept of data drift is illustrated visually in various shapes and forms.\n[Tirthajyoti Sarkar](https://towardsdatascience.com/author/tirthajyoti/)\nJanuary 19, 20225 min read\n![](https://assets.insightmediagroup.io/media/wp-content/uploads/2022/01/1TnU7qZ0SUvvjCMM7E6e91g.png)\n## A short introduction to data drift\nMachine learning (ML) models, at least in their present incarnations, are little more than [**powerful inductive machines**](https://medium.com/tech-cult-heartbeat/introduction-to-inductive-learning-in-artificial-intelligence-dafc2796405b). Their lofty goal is to go from a small example set to a broader inductive generalization.\nNaturally, for successful (and dependable) functioning, they need to depend on the critical assumption - _the input data distribution does not drift away too much over time_.\nBecause, if that happens, then **a successful model is only successful at a single point in time**. Over time, the model will make inductive generalizations based on a distribution that is not exactly what it was trained on, and performance will degrade.\nSo, we need monitoring and (timely) detection of any data-drift in the **MLOps or ModelOps pipeline** for any (continually) successful ML model deployment. Apart from regular MLops, the concept of data drift is important for ML explainability or [**Explainable AI (xAI)**](https://www.ibm.com/watson/explainable-ai) field too.\n_Where exactly a data drift monitoring block should sit_ in an end-to-end MLops cycle is nicely visualized in the following article.\n> [**Essential guide to Machine Learning Model Monitoring in Production**](https://towardsdatascience.com/essential-guide-to-machine-learning-model-monitoring-in-production-2fbb36985108)\nA lot of articles on this topic discuss the shape and statistical properties of the input distributions. In this article, we will take the example of (one or more) data streams feeding into ML models in the form of time series and visualize those variations to understand the concept clearly. Additionally, we will also talk about a few not-so-obvious sources of data drifts in an industrial context.\nLearn this step by step with the interactive [AI Engineer](https://roadmap.sh/ai-engineer), [AI and Data Scientist](https://roadmap.sh/ai-data-scientist), [Computer Science](https://roadmap.sh/computer-science) and [Machine Learning](https://roadmap.sh/machine-learning) roadmaps.\n## Data drift is like a box of chocolates...\nYou never know what you're gonna get (next)! Let's see some obvious and not-so-obvious examples...\n### Level shift? Obviously\nThis is an obvious data drift. In many unsupervised model settings, this will also be called an '_**outlier**_ ' or '_**anomaly**_ '. Also note, drift may not be permanent and can be short-lived. Both the start and end of the drift should be identified quickly.\n### Variance shift? Subtler\nThis is slightly harder to detect than level shift. See the illustration below.\n### Variance decrease? That's a drift too\nAt a high level, business/ process people (or your customer) will tell you that high variance is bad. Yes, they are almost always right. But from a data drift point of view, you have to watch for any chance - even a sudden decrease in the variance. Statistically, that is a change in the distribution properties too.\n### Peak shifts inside a period\nThis one is more subtle and hard to detect. I have tried to illustrate the drift with additional annotations like _peak_ and _period_. Did you see what really happened here? The data comes in a periodic fashion and there is a peak within each period. **The relative position of that peak (within a period) shifted** for some time before it came back to normal.\nDo you see the problem? Simple statistical properties may not catch this drift. The mean and variance (other moments too) may look similar. How do you catch it then? Interestingly, some simple **spectral analysis** will indicate a shift. So, you have to bring in some **knowledge of signal processing** to catch this data drift.\n### Contextual data - another way to catch the drift\nIf you are also monitoring a logging stream that has fixed-time indicators, like a shift start, or a machine reset, that can sometimes help catch these temporal shifts in an intuitive manner. The data monitoring has to ensure excellent time-synchronization of course. In the following illustration, the anchor events and the relative distance of the peaks from those anchors will indicate a drift.\n### Phase-shift/delay\nThis is a killer, in a true sense. For ML models training and inferencing on time-series data, a slight phase delay can generate totally wrong predictions. Basically, the model was trained like \"If _X_1 and _X_2 were similar then predict _Y_0, otherwise predict _Y_1\".\nNow, look at the situation below and realize what would happen with out-of-phase data streams. The top data stream is fine, the bottom one drifted slightly. It is possible that the data stream is fine, only the acquisition was delayed and fell out of sync.\n### Some are drift, some not\nIn industrial or manufacturing scenarios, process recipes and settings change all the time. There may also be a scheduled changelog. This kind of contextual data needs to be monitored for identifying correct data drift. Here is the visual illustration,\n### Measurement/Sensor drift\nThis is also one of the hardest to detect and manage. The input data streams and the generative processes may be fine but there may be drift on the sensor (that is measuring the incoming data and feeding to the ML model or monitoring system).\nA monitoring system (consisting of an ML model and an alert generating module) may detect a drift and send a wrong recommendation signal to the core process layer thinking that the fundamental process has shifted. That would be a misjudgment and bad recommendation.\nThis is also an example where a **concept drift (the model or the physical dynamics of the sensor itself) can be mistaken for a data drift**. That's an error to be avoided at all costs.\n## Summary\nWe discussed the concept of data drift in a time-series sense by showing some visual illustrations. It is obvious that catching and analyzing data drift is not a trivial problem, even in the simplest one-dimensional setting. Additional techniques like signal processing or merging with contextual data may be needed to correctly identify the onset and nature of data drift.\nWhat are the mitigations? There is no one answer and it totally depends on the industry and the specific application area. This article goes through some of them systematically. Give it a read.\n> [**\"My data drifted. What's next?\" How to handle ML model drift in production.**](https://towardsdatascience.com/my-data-drifted-whats-next-how-to-handle-ml-model-drift-in-production-78719ef007b1)\n* * *\n_Loved the article? Become a_[ _**Medium member**_](https://medium.com/@tirthajyoti/membership) _to continue_ _**learning without limits**_ _. I'll receive a portion of your membership fee if you use the following link,__**with no extra cost to you**_ _._\n> [**Join Medium with my referral link - Tirthajyoti Sarkar**](https://medium.com/@tirthajyoti/membership)\n## Register Now to Continue Reading\n### Unlock Towards Data Science with a Free Account\nAll articles on Towards Data Science are available to registered users. Create a free account today to access this article and thousands more.\nRegister for freeSign in to your account\n* * *\n![](https://assets.insightmediagroup.io/media/1787657105381_zw8h6h.jpeg)\nWritten By\n## [Tirthajyoti Sarkar](https://towardsdatascience.com/author/tirthajyoti/)\n[See all from Tirthajyoti Sarkar](https://towardsdatascience.com/author/tirthajyoti/)\n[Artificial Intelligence](https://towardsdatascience.com/tag/artificial-intelligence/)[Data Science](https://towardsdatascience.com/tag/data-science/)[Machine Learning](https://towardsdatascience.com/tag/machine-learning/)[Technology](https://towardsdatascience.com/tag/technology/)\nShare This Article\n  * [](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Ftowardsdatascience.com%2Fdata-drift-it-can-come-at-you-from-anywhere-b78eb186855%2F&title=Data%20drift%3A%20It%20can%20come%20at%20you%20from%20anywhere)\n  * [](https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Ftowardsdatascience.com%2Fdata-drift-it-can-come-at-you-from-anywhere-b78eb186855%2F&title=Data%20drift%3A%20It%20can%20come%20at%20you%20from%20anywhere)\n  * [](https://x.com/share?url=https%3A%2F%2Ftowardsdatascience.com%2Fdata-drift-it-can-come-at-you-from-anywhere-b78eb186855%2F&text=Data%20drift%3A%20It%20can%20come%20at%20you%20from%20anywhere)\n\n\nTowards Data Science is a community publication. Submit your insights to reach our global audience and earn through the TDS Author Payment Program.\n[Write for TDS](https://towardsdatascience.com/submissions/)\n## Related Articles\n  * [![](https://assets.insightmediagroup.io/media/wp-content/uploads/2024/02/04Vq2m6HJ1OMOW77g-scaled.jpg)](https://towardsdatascience.com/object-detection-basics-a-comprehensive-beginners-guide-part-1-f57380c89b78/)\n## [Object Detection Basics - A Comprehensive Beginner's Guide (Part 1)](https://towardsdatascience.com/object-detection-basics-a-comprehensive-beginners-guide-part-1-f57380c89b78/)\n[Deep Learning](https://towardsdatascience.com/category/artificial-intelligence/deep-learning/)\nLearn the basics of this advanced computer vision task of object detection in an easy to understand multi-part beginner's guide\n[Raghav Bali](https://towardsdatascience.com/author/rghv_bali/)\nFebruary 5, 202410 min read\n  * [![](https://assets.insightmediagroup.io/media/wp-content/uploads/2023/07/0EFzo0kNG_B_ZsONx-scaled.jpg)](https://towardsdatascience.com/solving-inverse-problems-with-physics-informed-deeponet-a-practical-guide-with-code-implementation-27795eb4f502/)\n## [Solving Inverse Problems With Physics-Informed DeepONet: A Practical Guide With Code Implementation](https://towardsdatascience.com/solving-inverse-problems-with-physics-informed-deeponet-a-practical-guide-with-code-implementation-27795eb4f502/)\n[Machine Learning](https://towardsdatascience.com/category/artificial-intelligence/machine-learning/)\nTwo case studies with parameter estimation and input function calibration\n[Shuai Guo](https://towardsdatascience.com/author/shuaiguo/)\nJuly 17, 202324 min read\n  * [![](https://assets.insightmediagroup.io/media/wp-content/uploads/2025/11/erik-mclean-KbYdYFvBNN8-unsplash.jpg)](https://towardsdatascience.com/tds-newsletter-how-to-build-robust-data-and-ai-systems/)\n## [TDS Newsletter: How to Build Robust Data and AI Systems](https://towardsdatascience.com/tds-newsletter-how-to-build-robust-data-and-ai-systems/)\n[The Variable](https://towardsdatascience.com/category/the-variable/)\nGain a high-level understanding of how the different pieces in your workflow come together\n[TDS Editors](https://towardsdatascience.com/author/towardsdatascience/)\nNovember 20, 20253 min read\n  * [![](https://assets.insightmediagroup.io/media/wp-content/uploads/2021/06/0zuJQ3cQs6pvnqlWD-scaled.jpg)](https://towardsdatascience.com/ai-will-impact-computer-based-jobs-first-and-hard-11af4d47487/)\n## [AI Will Impact Computer-Based Jobs First-and Hard](https://towardsdatascience.com/ai-will-impact-computer-based-jobs-first-and-hard-11af4d47487/)\n[Artificial Intelligence](https://towardsdatascience.com/category/artificial-intelligence/)\nOpenAI's CEO made a prediction that could change everything.\n[Alberto Romero](https://towardsdatascience.com/author/albertoromgar/)\nJune 18, 20215 min read\n  * [![](https://assets.insightmediagroup.io/media/wp-content/uploads/2023/03/1DRvcuyKP4qXCfgS1hhSyJQ.png)](https://towardsdatascience.com/carbon-footprint-why-common-claims-may-not-be-accurate-6f7860a7f08b/)\n## [Carbon Footprint: Why Common Claims May Not Be Accurate](https://towardsdatascience.com/carbon-footprint-why-common-claims-may-not-be-accurate-6f7860a7f08b/)\n[Data Science](https://towardsdatascience.com/category/data-science/)\nCreating robust CO₂ scenarios for data-driven climate action\n[Boris Ruf](https://towardsdatascience.com/author/boris-ruf/)\nMarch 31, 20237 min read\n  * [![](https://assets.insightmediagroup.io/media/wp-content/uploads/2021/05/1diQ7YbcLAZvqTMSOU8TYNw.png)](https://towardsdatascience.com/neural-networks-backpropagation-by-dr-lihi-gur-arie-27be67d8fdce/)\n## [Neural Networks Backpropagation Made Easy](https://towardsdatascience.com/neural-networks-backpropagation-by-dr-lihi-gur-arie-27be67d8fdce/)\n[Deep Learning](https://towardsdatascience.com/category/artificial-intelligence/deep-learning/)\nA friendly guide to the mathematical intuition behind vanilla Neural Networks. Understanding the mathematical operations...\n[Lihi Gur Arie, PhD](https://towardsdatascience.com/author/lihigurarie/)\nMay 8, 20217 min read\n  * [![](https://assets.insightmediagroup.io/media/wp-content/uploads/2022/12/1p_mfelxmw48Jn-EIERnxNw.png)](https://towardsdatascience.com/spectral-entropy-an-underestimated-time-series-feature-94e18ae5b958/)\n## [Spectral Entropy - An Underestimated Time Series Feature](https://towardsdatascience.com/spectral-entropy-an-underestimated-time-series-feature-94e18ae5b958/)\n[Machine Learning](https://towardsdatascience.com/category/artificial-intelligence/machine-learning/)\nI show how spectral entropy helped me solve two time series classification problems.\n[Ning Jia](https://towardsdatascience.com/author/ning.jia/)\nDecember 7, 20226 min read\n  * [![](https://assets.insightmediagroup.io/media/wp-content/uploads/2024/01/00rRe682n9Ao_5ukJ-scaled.jpg)](https://towardsdatascience.com/what-makes-a-strong-ai-012315722793/)\n## [What Makes A Strong AI?](https://towardsdatascience.com/what-makes-a-strong-ai-012315722793/)\n[Artificial Intelligence](https://towardsdatascience.com/category/artificial-intelligence/)\n\"The Book of Why\" Chapters 9&10, a Read with Me series\n[Zijing Zhu, PhD](https://towardsdatascience.com/author/zzhu17/)\nJanuary 4, 202414 min read\n  * [![](https://assets.insightmediagroup.io/media/wp-content/uploads/2020/12/0kc_e7WwFwHyx-GSS.png)](https://towardsdatascience.com/math-unsupervised-a3667b6ec9b8/)\n## [Math Unsupervised](https://towardsdatascience.com/math-unsupervised-a3667b6ec9b8/)\n[Data Science](https://towardsdatascience.com/category/data-science/)\nThroughout my many years in math education as a tutor, TA, and teacher, one thing that stood out to me was that my students consistently...\n[Neda Saleem](https://towardsdatascience.com/author/nedasaleem/)\nDecember 15, 20204 min read\n\n\n  * [YouTube](https://www.youtube.com/c/TowardsDataScience)\n  * [X](https://x.com/TDataScience)\n  * [LinkedIn](https://www.linkedin.com/company/towards-data-science/)\n  * [Threads](https://www.threads.net/@towardsdatascience)\n  * [Bluesky](https://bsky.app/profile/towardsdatascience.com)\n\n\n[](https://towardsdatascience.com/)\nYour home for data science and AI. The world's leading publication for data science, data analytics, data engineering, machine learning, and artificial intelligence professionals.\nSubscribe to Our Newsletter[Write For TDS](https://towardsdatascience.com/submissions/)•[About](https://towardsdatascience.com/about-towards-data-science-d691af11cc2f/)•[Advertise](https://contact.towardsdatascience.com/advertise-with-towards-data-science)•[Privacy Policy](https://towardsdatascience.com/privacy-policy/)•[Terms of Use](https://towardsdatascience.com/website-terms-of-use/)\n© Insight Media Group, LLC 2026•[The New Stack](https://thenewstack.io)•[roadmap.sh](https://roadmap.sh)•[Creator Network](https://insightmediagroup.io/creator-network)\n####  Recommended Articles \nClose\n  * [ ![](https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/607639/image?etag=1781250125848&width=500&height=500) Javascript Fatigue: HTMX Is All You Need to Build ChatGPT — Part 1 ](https://towardsdatascience.com/javascript-fatigue-you-dont-need-js-to-build-chatgpt/ \"Javascript Fatigue: HTMX Is All You Need to Build ChatGPT — Part 1\")\n  * [ ![](https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/607930/image?etag=1782124566054&width=500&height=500) The Subset Sum Problem Solved in Linear Time for Dense Enough Inputs ](https://towardsdatascience.com/subset-sum-problem-solved-in-linear-time-for-dense-enough-inputs/ \"The Subset Sum Problem Solved in Linear Time for Dense Enough Inputs\")\n  * [ ![](https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/3660/image?etag=1780176246070&width=500&height=500) Does Your Company Have a Data Strategy? ](https://towardsdatascience.com/does-your-company-have-a-data-strategy-e8944dbec4ae/ \"Does Your Company Have a Data Strategy?\")\n  * [ ![](https://h030.towardsdatascience.com/rest/v2/contentStores/d7d3a4ab-7caf-4383-bbd2-fbf7fb4f1787/items/4970/image?etag=1780565225463&width=500&height=500) Productivity Tips, Data Career Insights, and Other Recent Must-Reads ](https://towardsdatascience.com/productivity-tips-data-career-insights-and-other-recent-must-reads-5c47eb7a2fe0/ \"Productivity Tips, Data Career Insights, and Other Recent Must-Reads\")\n\n\n",
  "body_base_path": "attachments/d6a0a9b513b8/pages/",
  "body_markdown_path": "attachments/d6a0a9b513b8/pages/archived-body.md",
  "local_html": "attachments/d6a0a9b513b8/pages/archived-body.html",
  "body_source": "prior_capture"
}