Jump to content
  • Advertisement
  • Remove ads and support GameDev.net for only $3. Learn more: The New GDNet+: No Ads!

  • 07/05/17 03:02 PM

    What's Game Seasonality And How Can You Calculate It? (+Free Template)

    Business and Law
       (1 review)


    What is seasonality of the game and how can you calculate it for your project?

    As the old saying goes, we have good news and bad news. The good news is that we're already half way through summer. The bad news is that the revenue of a mobile application, game or any other product often drops during the hot months, which has a perfectly reasonable explanation.

    In this article, we'll talk about such a phenomenon as seasonality in the values of key project indicators, discuss how to find it and use it for your own good.


    Any recurrent fluctuation of the time series is usually called seasonality. Supposedly, you have data on product sales for each day for three years. Our experience in application analytics shows that seasonality is likely to exist in your time series, i.e. you may note some cyclicity in the behavior of the indicators.

    Most often, seasonality is the most pronounced by the days of the week and by the months. Let's take a look at each of them separately.

    Weekly seasonality consists of growths or falls that correspond to different days of the week. It can be explained quite logically: there are weekdays, and there are weekends. From weekdays, it is possible to allocate Monday (usually with a minus sign) - a day of calmness after a noisy weekend, and Friday (usually with a plus sign) - a day when you can afford a little bit more than usual. On the weekend, unlike weekdays, the online graph behaves differently (because you can play from the very morning instead of going to school or work), as well as the other metrics (for example, ARPDAU - the average revenue per daily active user).

    Here are some examples:

    • in many games, the audience on weekends is more active than on weekdays;

    • on the other hand, the revenue indicators are averagely higher on weekdays with a peak on Friday (which is why Friday is an excellent day for promotional campaigns);

    • especially interesting is the fact that the retention of users registered on Friday is slightly higher on average than that of users registered on other days. Probably, this can be explained purely psychologically: by installing application on Friday, you increase your chance to open it the next day as it's a day off.

    By the way, the last example shows an important thought. Seasonality applies not only to quantitative product metrics (audience or gross), but also to qualitative indicators (retention, ARPU). That is, users even behave differently on different days.

    This is a screenshot of the report of Main Metrics in devtodev, it shows that both Gross and Sessions have a weekly seasonality, and it is especially expressed in the Gross indicator

    Monthly seasonality. If you aggregate the indicators by month (from DAU to MAU, and from ARPDAU to ARPU), you may also notice some seasonal changes:

    • as we said above, in many products hot months are on the contrary the "coldest" in terms of the number of the audience, its interest, and revenue from it;

    • but cold months, on the contrary, attract more users (when it's cold outside, you may spend time at home playing games);

    • especially seasonality is expressed in December - this is usually a month of general upswing: both in terms of the audience and the money received from it.

    However, seasonality is not limited to weekly or monthly. A little later we will talk about how to find the optimal cycle duration, and for now - a few non-trivial examples:

    • in one of the games we saw that the optimal cycle duration in ARPDAU performance is not 7 days, but 14; we explained this by the fact that people receive the payroll once a fortnight;

    • in some products, by the way, peaks are especially noticeable on those dates of the month, which could be divided by five (and these are the payroll days also);

    • we also found products in which the optimal cycles were 3, 9, 11 days - and in all cases, this was related to the internal events in the product (e.g. tournaments).

    There is one more way to classify seasonality. It might be additive (when seasonal coefficients are constant in time) and multiplicative (when seasonal fluctuations grow or fall with time). In this article, we reviewed the additive seasonality, as it's more common basing on devtodev's experience with multiple projects.

    The differences between additive and multiplicative seasonality


    Below you can find a detailed description of the algorithm for calculating seasonality (by the example of finding seasonality by the days of the week).

    To make it easier for you to understand the process of calculating seasonality, we have prepared a file, in which all the following actions have already been performed. However, if you use this file to substitute your data into it, calculate seasonality and make forecasts, we also won't mind.


    Preliminary the source data must be cleared from outliers - atypically high or low values of the indicator that are outside the expected range. Often on the graph, such data looks like significant peaks or, conversely, drops almost to zero, which exceed the usual values by several times.

    The cause for such outliers might be peak sales on a holiday, the failure in the tracking system, or any of the other one-time factors that somehow influenced the metric.

    Why do we need to clear data from these outliers? Such values distort the results of calculations and can lead to errors in the forecast. Some statistical indicators, such as standard deviation and arithmetic mean, are dependent on the outliers and, by including them into the calculation, you may draw the incorrect conclusions.

    So, to clean up the data, there are a number of approaches that allow you to assess which suspiciously high or low value can be considered an outlier, and which cannot.

    We will not go into more detail on clearing data from outliers, because our main task now is to calculate the seasonality, but nevertheless, we must always remember it when analyzing the data.


    So, the second stage of calculations, which is applied to the already cleared data, is the calculation of the autocorrelation lag.

    Autocorrelation is a relationship between the values of a time series taken with a shift. It is used to identify trends and cyclical fluctuations of data in a time series.

    For its calculation, Excel uses a standard function CORREL, which calculates the coefficient of autocorrelation between two ranges of data. These ranges are arguments of the function and are shifted relative to each other: if we are looking for the first-order autocorrelation coefficient, the first range includes the time series values from the first to the last but one, the second range contains all values starting with the second one. We get two ranges offset from each other for one day.

    To search for the coefficient of the second order, the ranges should be shifted by 2 days - the first does not include the last two values of the time series, the second does not include the first two.

    This way, we calculate the autocorrelation coefficients for 7 orders and find the maximum among them. It will be an indicator of the day with the highest autocorrelation.

    If the maximum coefficient is obtained for autocorrelation of the first order, then this series does not contain any trends and dependencies.

    And if this coefficient is maximal for the 7th order, it means that series contains cyclic fluctuations with a periodicity of 7 days.

    In our example, the highest coefficient is for the 7th order autocorrelation, this indicates that there is a weekly seasonality in this time series.


    Next, we will build a trend for our series to subsequently make a forecast on it and determine how the chosen indicator will behave further.

    There are several types of trends, which can describe the metric (linear, exponential, logarithmic, polynomial, etc.). We will use a linear method as it's most simple to build and perceive, and at the same time it shows well the dynamics of the metric.

    The linear trend is built from an equation of the form y = ax + b, where a and b are coefficients, and x is the ordinal of the day (column D in the given example). So to calculate the equation, we need to calculate two coefficients.

    This can also be done with the standard Excel function LINEST, the arguments of which are two data sets - the metric that's being examined and the ordinal numbers of the days.

    Using this formula as an array function (Ctrl + Shift + Enter), we get two coefficients, which we then substitute into the equation.   


    To build a trend line, use the previously calculated coefficients - a and b. The only variable parameter of the equation is x - the ordinal number of the day. Due to this, the trend line can be extended for several days ahead, in our example it's 7 days (column I). Thus, we obtain a further dynamics of the change in the metric.


    The next step for building a linear trend forecast is to calculate the seasonality coefficients.

    To do this, determine the deviation of the metric values from the trend line (column K), and then find the average value of these deviations, depending on the day of the cycle. These average values are the desired coefficients.


    To complete the forecast, you need to "overlap" the trend with the seasonality.

    To do this, multiply each value of the trend line by the coefficient of seasonality of the corresponding day (column L).

    This will lead the trend line chart to the familiar form - with regular fluctuations depending on the day of the week.

    And since before we extended the trend for 7 days beyond the available data, the seasonality will spread to the forecasted part of the trend line, thus providing a forecast for the metric for the next 7 days.

    Screenshot from the calculating file: highly expressed weekly seasonality against the background of a falling linear trend


    First of all, to predict your revenue more accurately and to make correct decisions based on these forecasts. For instance, do not plan a massive traffic purchase in August, but wait till September to do it. The question of revenue planning in general is very important, and every company is probably working on it. Seasonality is one of the ways to make your forecasts much more accurate.

    Secondly, seasonality can be used for your own benefit. If you know that in December you will have many users and the average revenue per user will be high, then it's worth to increase it even more by offering these "hot" users of the cold month more favorable discounts.

    There is an interesting question: is it possible to fight seasonality? Let's say you know that in July ARPDAU will be the lowest for you in a year. Should you try to increase it and bomb users with tempting July discounts?

    Our experience tells us that it's useless to fight seasonality: if your users left for a summer vacation, then they would remain on their vacation, no matter what you do. It is better to focus on multiplying seasonality of the high months and increasing your revenue even more, rather than trying to resurrect the revenue of the low months.


    And again, let’s mention outliers. Before calculating seasonality, make sure that your data is cleaned from them. Any leap in the source data (and leaps are often caused by a simple technical error) can significantly distort your data.

    Let's say that on one of the days in July the revenue was a hundred times better than the usual average. If you do not clear the series from outliers, then you can get that July is the most profitable month, and incorrectly plan a general discount based on this data. And only later you may find out that the table probably lost the bit capacity on that day, and in fact the number is quite average.

    By the way, in our file, outliers purification, of course, is envisaged.

    Seasonality depends on many factors:

    • application genre (imagine how surprised the representatives of tourist services would be when reading about the summer revenue decrease);

    • country, language, religion (for example, in Iceland almost everyone goes on vacation in summer, and it's even almost impossible to schedule a doctor's appointment);

    • weather (the hot May might be better than the cold June);

    • any other factors.

    That is why the conclusions mentioned by us (about the good Friday, or unsuccessful summer) cannot be applied to all the products at once - this is only our experience that's based on the games' analysis.

    It is better to calculate the seasonality of your project by yourself and draw conclusions based only on your calculations. So download the file, calculate seasonality and make more effective decisions!

    This article was first published on devtodev's Education CenterSEASONALITY OF THE PROJECT: DO NOT BE AFRAID OF SUMMER RECESSION

      Report Article

    User Feedback

    There are no comments to display.

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

  • Advertisement
  • Advertisement
  • Latest Featured Articles

  • Featured Blogs

  • Popular Now

  • Similar Content

    • By mgstauff
      When you need to share a pre-release version of a game with a showcase, reviewer, alpha-testers, etc, what do you do? I know Steam and VivePort offer some closed alpha-release options. I've seen a service mentioned called "Pre-flight" on the MIVS FAQ (http://super-archive.magfest.org/mivsfaq) but I can't seem to find it. What other options are there and how well have they worked in your experience?
    • By Viridis
      Hi All,
      Just found a interesting site with SDK that provide ability to monetize games with monero mining on user pc, they said that: "It completely safe for user, because it spend only ~3% of CPU time.". I download standalone demo and unity package, seems all work as they describe (spend 3-5% of my CPU), when plugin start his work it tell about that with windows notification, now i plan to create some small game and try this service. What did you think about that?
    • By Linsag
      Hello Everyone
      I am interested in the Game Trading and eCommerce theory of how Players interact with each other and the actual game and would like to open up discussions on this subject as I believe at some stage, it will become the next step in gaming.
      What I am interested in achieving after many 100's of discussions is an Engine that takes into account many aspects of Trade and they are:
      Tax system on trades and players (essentially replacing Lootboxes) A method to price items, so that it would essentially be the same price from game to game (that adopts the Engine) There is a lot more to discuss, but this post is just to fire out the idea and see if there is any interested discussion on this subject.
      So for starters, what would some of the issues be, if a Tax System is deployed?
      The way I see it, Tax would be used as an ongoing income to Game Developers to expand.develop the game further and thereby increasing its shelf life Modders who build Mods can use the system to also do "as above" so if the Mod is good, people will use it and the Modder will continue to develop it Even though there is a Tax system in place, Players can do tasks, quests or other things to have the Tokens to pay Tax
    • By sskocean
      We are a mobile game development startup and we published our 1st game a few days back and used admob in our games. After publishing the game we have not done any marketing and got only 15 installs so far and only earned around $0.10 USD through that game in admob. However admob terminated our adsense account saying that we did some Invalid Activity and the account can not be reinstated. We are very sure that none of our team members clicked on ads or played the game with the live ads. So I have a theory that some user clicked on our ads multiple times and our account was flagged due to that. We tried to communicate with admob team but we got automated replies.
      Now we are thinking of adding another ad network like mopub,chartboost,unityads,etc to our 1st game and the other 2 games which we will be launching in 1-2 weeks. Now the question i have is how can we prevent our account from getting suspended from them, also can we get a account manager from them who can handle our request and listen to our side of argument if something like this happens in future. Our plan is to launch around more games in 2018 and a lot more in 2019 but we are now in a delima which ad network to use.
    • By Aaron Marsden
      There are a lot of blog posts online teaching indie developers “how to write proper press releases for their new games,” and they all provide different (and sometimes conflicting) information. It’s confusing.
      So, for the past week, I’ve spent my afternoons taking notes on all the useful information within each one, reaching out to established game developers to get their advice on how to write killer game press releases, and talking with PR pros in both game development and outside marketing environments to gather the absolute best information possible on the subject.
      This post combines all my findings.
      By the end, you’ll never have to read another “how to write a press release” post again. Sound good?
      Let’s start with the basics:
      What is a press release?
      A press release is a 1-to-2-page piece of writing that announces new and exciting projects you’ve been working on.
      The purpose of the release is to inform journalists and media sources about your news so they can (hopefully) publish stories about your work. They’re usually written in the third person — in other words, they’re written as if a journalist is writing about your game when in reality it’s just your writing.

      Press releases are usually distributed through distribution tools or PR firms — but as an indie developer, they’re mainly used to help journalists solidify a story about your news when you pitch them over email. We’ll talk more pitching writers later, but for now, understand this:
      Getting press is a great way to drive traffic to your new projects and can save you thousands of dollars in advertising costs if done right, so press releases are important!
      When should you publish press releases?
      Press releases are typically published when you announce:
      A new game Game-changing new features or technology Events Partnerships (or other business-related news, like investments or grants (thanks Unreal)) New research Awards Or a resolution to a crisis (which hopefully isn’t your case) …and that’s it for the basics. Now let’s cover the steps for writing your release.
      Step 1: Find your angle
      Here’s a brutal truth:
      No one pays attention to news that isn’t new or interesting. This is especially true for journalists. So without an interesting “story angle” you can take when announcing your news, no one’s going to pay attention to yours either.
      Gabby DaRienzo, creator of A Mortician’s Tale and co-founder of Laundry Bear, said it best:
      How do you find that “unique selling point,” you ask?
      Lewis Denby, creator of the indie dev PR firm Game If You Are (this firm is great for indie devs — check it out!), recommends observing your original motivations for creating your game:
      A great example of a USP (unique selling point) comes from Numinous Games, creator of Galaxies of Hope, who developed their game to help neuroendocrine tumor patients understand their diagnoses:

      Taken from an Apple App Store article written about Wahmann’s game.
      The combination of Numinous Game’s inspiration for creating the game (to help neuroendocrine tumor patients) along with their unique selling point (a game that teaches people about neuroendocrine tumors) makes for a killer story any games journalists would be happy to cover. THAT’s your goal.
      * * *
      After you’ve found your angle, it’s time to start the boring s**t.
      Step 2: Write your headline and subheadline.
      A good headline serves two purposes:
      It shows the reader what’s being announced immediately, clearly, and concisely… …and it entices the reader to read the subheadline or first paragraph. A simple formula to follow when writing headlines is “[x] does [y],” like in the following releases:
      SkyBox Labs Brings Bedrock Version of Minecraft to Nintendo Switch Slitherine is nominated as Economic Disruptor of the Year Keywords Studios acquires Snowed In Studios Bandai Namco Amusement Lab Inc. established for VR arcade development Aaron Marsden writes captivating article about indie game press releases (in his humble opinion) Don’t bury any information here, but don’t make it too boring either. No one wants to read a press release titled “Game Studio releases New Game.” Strike a balance between conciseness and charm and your headline will do just fine.
          Tip: Great headlines are always written under 18 words.
      The purpose of your subheadline is to expand on the headline if it’s not enough to fully capture your reader’s attention. It serves as an extra “attention grabber” that boosts your readers into the heart of your release.
      In Numinous Games’ case, the headline and subheadline of their press release could look something like:
      Headline: “Numinous Games releases Galaxies of Hope for Neuroendocrine Cancer Sufferers”
      Subheadline: “Game aims to help NET patients understand and cope with their diagnoses”
      I’d read it.
      Step 3: Write the first paragraph
      The first paragraph is the most important part of your press release. Although the headline/subheadline captures your reader’s attention, the first paragraph is what locks them into the piece and keeps them there for the rest of the way.
      Your first paragraph should answer the all-important “5 W’s”: who, what, when, where, and why.
      Who’s the press release about? (This will be your company) What’s happening? (This will be your announcement) When will it happen? (The date of your announcement) Where is it happening? (ex. What platforms is your game releasing on, where is your event occurring, etc.) Why is it important? Coschedule, a marketing application, provides this useful template in their blog post for writing effective first paragraphs:
      [WHO: COMPANY] today announced it will [WHAT] at [WHERE] on [WHEN]. The [EVENT/ANNOUNCEMENT] will provide [BENEFIT] for [AUDIENCE].
      Here’s a great example from E-Home Entertainment, the developer of a new game, Gene Rain:

      Ignore the grammatical errors in the second sentence for now.
      I’ll say it again: be sure you’re providing the most important information up-front. No burying.
          (also, stay away from cliches — everyone has “the best game” or “the most exciting gameplay.”)
      Step 4: The second paragraph
      The purpose of the second paragraph is to elaborate more on your game and why it’s important to you and to your players. A great way to do this is with a personal quote.
      As an indie dev, personal quotes allow you to dive deeper into your USP— what compelled you to create your game in the first place? What problem does it solve and how do you hope it helps your players? That’s the information your quote should contain.
      In the App Store article I referenced earlier, Amy Green of Numinous Games provides a great quote where she talks about the game’s purpose of sharing stories from other tumor patients:

      Notice how Amy’s quote fits perfectly into the context of her game’s story — this is exactly how you should format yours. Your goal is to make it as easy as possible for journalists to write stories about you, and allowing them to grab a relevant quote straight from your press release without an interview is a great way to do that.
      Note: In your actual press release, your quote should be a bit longer than Amy’s and should be written in third person. I don’t have the original press release for their game, but if I were to guess, the quote was written something like: “Our goal with Galaxies of Hope was not only to share Maryann’s personal story with NET, but also to help other patients,” said Amy Green of Numinous Games. “It meant so much to tell our own story through this medium that we started thinking about how we could share the stories of others.”
      Step 5: The third paragraph
      (Don’t worry, we’re almost done.)
      The third paragraph completes your story. This is usually where you’ll write about the nitty-gritty details of your game:
      When writing your third paragraph, ask yourself: “What’s interesting about my game from a player’s perspective? What makes it enjoyable? What could I say to get potential players excited?”
      That’s what you should describe here.
      I really love Magicka’s third (and fourth) paragraphs in their press release for their PvP mode. Notice how they’ve divulged just enough information to excite their players on the new mode:

      (Their tone is killer, too.)
      Step 6 (Optional): Key, bulleted features
      If your game has some interesting features that wouldn’t fit into your above paragraphs but still deserve a spot in the press, a common practice is to list them near the bottom of your release.
      Here’s another example from Magicka:

      Just be sure not to go overboard — only include things you think your players (or journalists) would find value from.
      Step 7 (Optional): Technical details.
      If your game is resource-heavy, it’s a good idea to throw your system requirements here.
      Step 8: Call to action
      By now, your potential players have read your release and are pumped to jump into your game.
      Now they just need to know where to play it.
      A CTA (call to action) is a short action statement at the bottom of your release that drives traffic to your Steam page or website. Think of it as the “final push” your readers need to take action on your announcement.
      The key here is to make your CTA actionable. A simple link to your page or a “click here to buy” isn’t enough — you must make it enticing. If you were releasing a VR war game, for instance, you could write something like:
          Tip: If your Steam store page is super long, consider using a bit.ly link to shorten it up.
      Step 9: Link to your press kit.
      If you aren’t already aware, a press kit is:
      Press kits make it super easy for journalists to grab videos and gifs of your game to use in their articles.
      I highly suggest checking out the Mortician’s Tale kit on Laundry Bear’s website if you’re making your kit for the first time. It has pretty much everything an effective kit needs, so feel free to copy its base elements.
      (Thanks again Gabby!)
      Step 10: Contact information.
      If a journalist were to reach out to you for more information, where would you send them? It’s usually formatted like so:
      Name Company Name Phone Number Email This information can go both at the top of the page, as well as near the bottom like on this release (we’ll format this in a second).
      Step 11: Add the final touches
      Almost done. Now you just need to add some extra information to make your press release an actual press release:
      A “FOR IMMEDIATE RELEASE” tag with the date of your release. This will go to the right of your contact information.
      City, state, and location information. This will go directly before your first paragraph.
      An image, video, or gif showing off your game. This can go directly above or after your headline and subheadline.  
      And BOOM — you‘re done!
      At the end of the process, your release should look something like this:

      Although Magicka’s release is really good, there are a few things I’d change about it:
      There’s no “FOR IMMEDIATE RELEASE.” This may confuse journalists. There’s no quote from the developers. This makes it feel impersonal. Their CTA is pretty bad (“Find out more here”). …but other than that, it’s a great reference point you can use when writing your own release.
      When should you post your release?
      Sometimes the timing of your release is as simple as “whenever your game is ready.” But other times, especially in Tim Ruswick’s case, putting thought into the timing of your release can be crucial to its success:
      Keep this in mind with context to your game.
      Where should you send your release?
      Most companies simply post their press releases on their website, announce it on social media, put it through a PR distributor like PRNewswire, and wait for journalists to pick it up. But that won’t work for indie devs.
      When you’re starting out you don’t have enough of a media presence to simply post your press release, and on a tight budget, paying big bucks for PR tools isn’t viable. That means you’ll have to manually send your release to journalists.
      So before you post your press release, go on some of the popular gaming news sites like Kotaku, Polygon, or PC Gamer and gather a list of journalists (and their emails) who’ve written about games similar to yours. Then, once you’re ready to release, send them an email with a pitch for your story.
          I just made that process sound way more simple than it actually is, so I recommend using this guide for reaching out to journalists.
      * * *
      That’s it!
      By now, you should have enough information to write effective press releases without having to read another “how to write a press release” post.
      But here’s the thing:
      Getting press is only one way to market your game, and by no means is it the end-all-be-all. Continuing your marketing efforts is crucial to your success.
      That’s why I put together a complete guide on how you can promote your game with Twitch influencers — it covers everything from finding the right influencers, to reaching out, to setting up deals, to verifying content, and much more. You can read that here.
      Note: This post was originally posted on the author's Medium blog, and is reproduced here with kind permission.  Aaron recommends PowerSpike's Game Marketing Advice Newsletter, sent every Monday.
      [Wayback Machine Archive]
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!