{"id":464,"date":"2026-01-20T15:32:54","date_gmt":"2026-01-20T15:32:54","guid":{"rendered":"https:\/\/blog.mozilla.org\/data\/?p=464"},"modified":"2026-01-20T15:38:51","modified_gmt":"2026-01-20T15:38:51","slug":"464","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/data\/2026\/01\/20\/464\/","title":{"rendered":"This Week in Data: There\u2019s No Such Thing as a Normal Month"},"content":{"rendered":"<p>(\u201cThis Week in Data\u201d is a <a href=\"https:\/\/mozilla.github.io\/glean\/book\/appendix\/twig.html\">series<\/a> of blog posts that the Data Team at Mozilla is using to communicate about our work. Posts in this series could be release notes, documentation, hopes, dreams, or whatever: so long as it\u2019s about data.)<\/p>\n<p>At the risk of reminding you of a Nickleback song, <a href=\"https:\/\/www.youtube.com\/watch?v=VZZmMHdyHhg\">look at this graph<\/a>:<\/p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-6547\" src=\"https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image-1.png?w=1024\" sizes=\"(max-width: 1024px) 100vw, 1024px\" srcset=\"https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image-1.png?w=1024 1024w, https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image-1.png?w=150 150w, https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image-1.png?w=300 300w, https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image-1.png?w=768 768w, https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image-1.png?w=1440 1440w, https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image-1.png 1495w\" alt=\"An orange sparkline plot with many valleys, peaks, and plateaus (described in more detail in the text)\" width=\"1024\" height=\"336\" data-attachment-id=\"6547\" data-permalink=\"https:\/\/chuttenblog.wordpress.com\/2026\/01\/20\/this-week-in-data-theres-no-such-thing-as-a-normal-month\/image-11\/\" data-orig-file=\"https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image-1.png\" data-orig-size=\"1495,491\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image-1.png?w=300\" data-large-file=\"https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image-1.png?w=984\" \/><\/figure>\n<p>I\u2019ve erased the y-axis because the absolute values don\u2019t actually matter for this discussion, but this is basically a <a href=\"https:\/\/en.wikipedia.org\/wiki\/Sparkline\">sparkline<\/a> plot of active users of Firefox Desktop for 2025. The line starts and ends basically at the same height but <em>wow<\/em> does it have a lot of ups and downs between.<\/p>\n<p>I went looking at this shape recently while trying to estimate the costs of continuing to collect Legacy Telemetry in Firefox Desktop. We\u2019re at the point in our migration to Glean where you really ought to start <a href=\"https:\/\/firefox-source-docs.mozilla.org\/toolkit\/components\/telemetry\/start\/remove-telemetry.html\">removing your Legacy Telemetry probes<\/a> unless you have some ongoing analyses that depend on them. I was working out a way to get a back-of-the-envelope dollar figure to scare teams into prioritizing such removals to be conducted sooner rather than later.<\/p>\n<p>Our ingestion metadata (how many bytes were processed by which pieces of the pipeline) only goes back sixty days, and I was worried that basing my cost estimate on numbers from December 2025 would make them unusually low compared to \u201ca normal month\u201d.<\/p>\n<p>But what\u2019s \u201cnormal\u201d? Which of these months could be considered \u201cnormal\u201d by any measure? I mean:<\/p>\n<ul class=\"wp-block-list\">\n<li>January: Beginning-of-year holiday slump<\/li>\n<li>February: Only twenty-eight days long<\/li>\n<li>March: Easter (sometimes), DST begins<\/li>\n<li>April: Easter (sometimes), something that really starts suppressing activity<\/li>\n<li>May: What\u2019s with that big rebound in the second half?<\/li>\n<li>June: Last day of school<\/li>\n<li>July: School\u2019s out, Northern Hemisphere Summer means less time on the \u2018net and more time touching grass<\/li>\n<li>August: Typical month for vacations in Europe<\/li>\n<li>September: Back-to-school<\/li>\n<li>October: Maybe \u201cnormal\u201d?<\/li>\n<li>November: US Thanksgiving<\/li>\n<li>December: End-of-year holiday slump<\/li>\n<\/ul>\n<p>October and maybe May are perhaps the closest things we have to \u201cnormal\u201d months, and by being the only \u201cnormal\u201d-ish months that makes them rather abnormal, don\u2019t you think?<\/p>\n<p>Now, I\u2019ve been lying to you with data visualization here. If you\u2019re exceedingly clever you\u2019ll notice that, in the sparkline plot above, not only did I take the y-axis labels off, I didn\u2019t start the y-axis at 0 (we had far more than zero active users of Firefox Desktop at the end of August, after all). I chose this to be illustrative of the differences from month to month, exaggerating them for effect. But if you look at, say, the <a href=\"http:\/\/data.firefox.com\">Monthly Active Users (now combined Mobile + Desktop) on data.firefox.com<\/a> it paints a rather more sedate picture, doesn\u2019t it:<\/p>\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-6546\" src=\"https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image.png?w=1024\" sizes=\"(max-width: 1024px) 100vw, 1024px\" srcset=\"https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image.png?w=1024 1024w, https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image.png?w=150 150w, https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image.png?w=300 300w, https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image.png?w=768 768w, https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image.png?w=1440 1440w, https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image.png 1462w\" alt=\"An area plot that is mostly flat showing data from 2021 to 2026 of around 200M clients.\" width=\"1024\" height=\"350\" data-attachment-id=\"6546\" data-permalink=\"https:\/\/chuttenblog.wordpress.com\/2026\/01\/20\/this-week-in-data-theres-no-such-thing-as-a-normal-month\/image-10\/\" data-orig-file=\"https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image.png\" data-orig-size=\"1462,500\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image.png?w=300\" data-large-file=\"https:\/\/chuttenblog.wordpress.com\/wp-content\/uploads\/2026\/01\/image.png?w=984\" \/><\/figure>\n<p>This isn\u2019t a 100% fair comparison as data.firefox.com goes back years, and I stretched 2025 to be the same width, above\u2026 but you see what data visualization choices can do to help or hinder the story you\u2019re hoping to tell.<\/p>\n<p>At any rate, I hope you found it as interesting as I did to learn that December\u2019s abnormality makes it just as \u201cnormal\u201d as the rest of the months for my cost estimation purposes.<\/p>\n<p>:chutten<\/p>\n<p>(this is a syndicated copy of <a href=\"https:\/\/chuttenblog.wordpress.com\/2026\/01\/20\/this-week-in-data-theres-no-such-thing-as-a-normal-month\/\">the original blog post<\/a>.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(\u201cThis Week in Data\u201d is a series of blog posts that the Data Team at Mozilla is using to communicate about our work. Posts in this series could be release &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/data\/2026\/01\/20\/464\/\">Read more<\/a><\/p>\n","protected":false},"author":1437,"featured_media":465,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[315988,323282],"tags":[448354,525,30,448297,3969,448352,448330,448353,448329],"coauthors":[311808],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/posts\/464"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/users\/1437"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/comments?post=464"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/posts\/464\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/media\/465"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/media?parent=464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/categories?post=464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/tags?post=464"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/blog.mozilla.org\/data\/wp-json\/wp\/v2\/coauthors?post=464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}