How to avoid data processing limits.

Hi there, I have a problem with processing limits because I’m sending a lot of events in order to collect all necessary data about tournament progress in my sports fighting game.

What is the problem:

In the game there 352 tournaments, with 3 to 10 matches every. I need to know the progress through every tournament and to catch the points with the most losses.

For this, I’m using funnel analyzer and it helps me a lot on balancing the ai level of every match, which is crucial for balancing the whole progress through the game content.

The only parameter which enables me to catch an exactly certain match in the certain tournament is AI level.
So, for the tournament with 3 matches, i’ve structured a funnel like this.

  1. Step1: TournamentMatchStarted - ailvl =1

  2. Step2: TournamentMatchWon - progres = 1, outcome=won

  3. Step3: TournamentMatchStarted - ailvl = 2

  4. Step4: TournamentMatchWon - progres = 2, outcome = won

  5. Step5: TournamentMatchStarted - ailvl = 3

  6. Step6: TournamentMatchOutcome - progres = 3, outcome = won

Those are events I’m sending:

TournamentMatchStarted

TournamentMatchOutcome

Taking into account the number of tournaments and matches i will very soon reach a 5000 event/parameter limit.

Is there some another way to track a progress of so many levels and avoiding this limit?

One important thing to understand is that our backend system analyzes one parameter at a time.

Analytics.CustomEvent("LevelFinished", new Dictionary<string, object> {  { "level_num", 1}, { "mode", "Easy"} });
Analytics.CustomEvent("LevelFinished", new Dictionary<string, object> {  { "level_num", 1}, { "mode", "Hard"} });
Analytics.CustomEvent("LevelFinished", new Dictionary<string, object> {  { "level_num", 2}, { "mode", Easy} });
Analytics.CustomEvent("LevelFinished", new Dictionary<string, object> {  { "level_num", 3}, { "mode", Hard} });

In our backend, this would count as 5 unique combinations.

LevelFinished.level_num = 1
LevelFinished.level_num = 2
LevelFinished.level_num = 3
LevelFinished.mode = Easy
LevelFinished.mode = Hard

So you can calculate your total by adding together all the possible values of each of your parameters.

For your specific game, you could restructure your events to fit within these limits by all variable information to the parameters instead of the event name.

Dictionary<string, object> data = new Dictionary<string, object>();

data.Add("Mode", "Normal");
data.Add("Belt", tournament.getBelt());
data.Add("aiLvl", ai.getLvl);
// any other parameters, up to 10 per event

Analytics.CustomEvent("TournamentMatchStarted", data);

With this format, your event total would be the total number of modes plus the total number of belts plus the total number of AI levels. I would imagine this will be less than 5,000.

I do notice one potential issue in your TournamentMatchOutcome image. One of your parameters is an ‘id’, which would likely be unique for each player. This will cause you to hit that limit very quickly. I would recommend removing any unique information from the custom events (player ids, session ids, timestamps, etc.).

Hi there,

Thank you for the answer.

I need to track the progress of players through every tournament. In order to reach every match in every tournament, i need to have to parameters:
string tournamentId, and integer progress. Progress is for match in tournament.

Well, if I structure events as you said, how will it be shown on the dashboard?
Will I be able to reach all variations of those parameters in the dashboard when I’m creating funnels?
It’s very important to have to see all the variations of the parameter because the crucial thing is to reach every match in every tournament.

Regards

You could add the progress and tournament ID as parameters to the event.

Dictionary<string, object> data = new Dictionary<string, object>();
data.Add("Mode", "Normal");
data.Add("Belt", tournament.getBelt());
data.Add("aiLvl", ai.getLvl);
data.Add("TournamentId", tournement_id);
data.Add("Progress", progress);
// any other parameters, up to 10 per event
Analytics.CustomEvent("TournamentMatchStarted", data);

And then you can set up your funnel with the appropriate values you want to track:
3394341--266939--example-funnel.PNG

Great, I just did that.
But now I have other problem. It seems like I have reached some limit.
I have restructured my custom events. I’ve deleted some parameters but they are still there on the dashboard. Is there some way to delete those parameters from the dashboard. Actually, I have made some changes to my events, such as, deleting some unique id’s and adding this “tournament_id” parameter.

You can disable unused events on the Event Manager page. This may take a processing cycle before it is reflected in the rest of the dashboard.

Also, the data processing limit is re-evaluated daily, but it will may still take into account old events, so the newer events may not show up immediately.

Well, but I’ve just restructured old events. I have deleted some parameters I don’t need anymore. that means that I can’t disable those events from the dashboard because I’m using them. All I need to do is to clear old data which were caught by the event parameters I don’t use anymore.

Thanks