Search Unity

Does Analytics, Count Frequencies?

Discussion in 'Unity Analytics' started by renman3000, Jun 3, 2017.

  1. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,697
    Hey,
    I am just setting up my first analytics, and am wondering, can it gather how many times (overall, for all users) an event happens? So in my example, a player turns on the game, great! But this stat is irrelevant unless I can now how many times the game has been turned on, in total, by all users.

    So, if Jim, Suzy and Tim are the only 3 people in the world who have the game, each time anyone of them turns on the game, where splash scene is opened, I would like to know that stat.

    What I am wondering is, I am thinking analytics may be more of frequency of in game events. The problem with counting how any times "Splash Opened", it will always register value 1, per use. So there will be no variation between users.

    What I am looking for is just an overall count.

    So I would be submitting, a value of 1, each time. But with in analytics, is the number of times I submit that value, counted?
     
  2. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    637
    Hi @renman3000 !

    Yep! If you look in the Data Explorer, you'll see a (+) Custom Event button. By clicking that button you can track any custom event and/or its parameters. Select the third column (where it says 'Unique Users') and change the value to 'Count'. That shows you the overall count for that event on a day-to-day basis. Now, if you needed an all-time count, we don't really provide that...it's something we've been asked for and we're looking into it, but you can calculate it pretty easily just by switching the graph into 'View as table' mode.

    Hope that helps!
     
  3. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,697
    Ok, so thanks for that, as I am setting it up, let me show you my method.... I just want to make sure that I am not being redundant.

    A typical scenario for me is this, an event happens, like open gameplay. At that point, I send a message to my Analytics Manger, this function will look something like this....

    Code (csharp):
    1.  
    2.     public static void playerStarted_GamePlay(){
    3.         count_playerStarted_GamePlay++;
    4.         Analytics.CustomEvent ("playerStarted_GamePlay", new Dictionary<string, object> {
    5.             {"count", count_playerStarted_GamePlay}
    6.         });
    7.     }
    8.  
    Now, my question is, what is the relevance of count_playerStartedGamePlay?

    This value, will increase on each play, but if player Jimmy, plays 3 times, what is analytics counting? Or do I just need to send a value of 1, as in yes a game play was started? As analytics will note that, in its own system.

    Do you see my thinking @marc_tanenbaum ?

    Thanks!
     
  4. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    637
    I'm not sure why you'd want to send that parameter at all. For the use you're describing, you could just count the number of times the event was encountered, and that happens automatically without the parameter.

    Also, for the use you're describing, you might want to look at a feature we've just released: Standard Events. These are designed to take a lot of the guesswork out of setting up your events.
     
  5. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,697

    Thanks.
    So, what you are saying is, I should just forget about my own counts, and just fire to the Analytics?
    So, my adjusted code would look like this.

    Code (csharp):
    1.  
    2.     public static void prize_collected(){
    3.         Analytics.CustomEvent ("prize_collected");
    4.     }
    5.  
    Would that work? And if it does, can I ignore your suggestion of using the Standard Events?



    Thanks
     
  6. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    637
    You can ignore anything you like! ;)

    If all you care about are the raw counts, rather than, say, which prize was collected, you don't need parameters, and what you've just shown me above is fine.

    The main advantages of Standard Events are: (1) you don't need to put as much thought into figuring out what to track and how...we've already done that for you, and (2) as we go forward, we'll start building features that leverage the language of Standard Events. There is no need for you to use Standard Events...I'm just offering it as a way to improve your outcomes and speed things up. A lot of our early adopters tell us they've implemented them in about an hour or two, so the investment is low.

    Anyway, hope this has all been of some help!
     
    renman3000 likes this.
  7. sngdan

    sngdan

    Joined:
    Feb 7, 2014
    Posts:
    1,154
    @marc_tanenbaum

    Hi, this standard events looks like a great new feature.

    But I think it would be great if there were a thorough example of
    • how custom events translate into your database
    • how the analytical tools (funnel, drill down, etc.) access this database
    Ideally some commonly used graphs like one would like to see then on the analytics board and an example of code that created the underlying database.

    With the current documentation it is quite complicated to understand.
     
  8. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,697
    COOLIO!!!
    I am going to stick with Custom tho, as I do want to get a bit trickier than just the raw counts of simple game events.
    Thanks for your help!!!!! This stats world, and entering into your game like this, is so cool. Cant wait to geek out on the results.

    Cheers!
     
  9. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,697
    @marc_tanenbaum

    ps. A couple of times, in the Analytics website, in my account, game profile, Custom Events Page, I created some events, but he disappeared on refresh page.

    At the top of the page, I have a warning that it may take 10-12 hours to process this page initially. That said, must I wait for that process so that I can then be able to create custom events on the website, relating to my code?


    Thanks
     
  10. sngdan

    sngdan

    Joined:
    Feb 7, 2014
    Posts:
    1,154
    In example and to stay with @renman3000 's example, how would one track the average gap between sessions of users?

    Would you then do

    Code (CSharp):
    1.  
    2.  
    3. void Start ()
    4. {
    5. // load last playtime from say playerprefs
    6. // timeDelta = CurrentTimeDate - LastPlayTime
    7.  
    8. Analytics.CustomEvent ("playerStarted_GamePlay", new Dictionary<string, object> {
    9.             {"timeSinceLastPlay", timeDelta}
    }
     
  11. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,697


    Looks good to me.
     
  12. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    637
    I'm not really sure what you mean by "created some events". You can't create an event on our dashboard...you can only send them from your app. The dashboard reads events...it never writes them.

    It used to take 10-12 hours. These days it's usually more like 4...though that can vary depending on the overall load on any given day.

    But it depends on what you want to do with the data. Events show up pretty much instantly in the Validator and Livestream. But if you want to see them in the Data Explorer, that you have to wait for (there's a batch cycle that computes all the data for all the apps we see). We hope to speed this whole process up at some point.
     
    renman3000 likes this.
  13. marc_tanenbaum

    marc_tanenbaum

    Unity Technologies

    Joined:
    Oct 22, 2014
    Posts:
    637
    Sure, you could track it that way, so long as you persist LastPlayTime across sessions.
     
  14. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,697

    Thanks!