# Farming games

The gameplay of this genre revolves around developing your farm/land/city, etc. A player has to gather various resources and then use them to build and expand his territory. They can also buy new buildings and complete tasks to level up. Often the game has a mechanic that allows for spending currency on speeding up the production of certain items.&#x20;

## Necessary Basic events

Basic events allow you to analyze your game as described in this [example](https://docs.devtodev.com/scenarios-and-best-practices).

To make the analysis more smooth and productive, we recommend you to use the following basic events:

[**LevelUp**](https://docs.devtodev.com/basic-events-and-custom-events#levelup) **and** [**CurrencyAccrual** ](https://docs.devtodev.com/basic-events-and-custom-events#currencyaccrual)for analyzing distribution of players among levels and balance as well as movement of in-game currency among levels. <br>

[**Tutorial Step**](https://docs.devtodev.com/basic-events-and-custom-events#onboarding-tutorial) for tracking tutorial completion to find stages where users drop off of the app or skip tutorial altogether because he is familiar with all the mechanics of farming games.

[**Real Payment**](https://docs.devtodev.com/basic-events-and-custom-events#real-payment) for building financial reports and calculating basic financial metrics: revenue, ARPU, ARPPU, paying share, transactions, etc.

[**Virtual Currency Payment**](https://docs.devtodev.com/basic-events-and-custom-events#virtual-currency-payment) for tracking in-app purchases made with virtual currency and evaluation of in-game economy. In this event, **as a purchasing vehicle you can use not only hard currency, but also energy that the player spends on resource collection.** Then you can open the [**In-game analysis** ](https://docs.devtodev.com/reports-and-functionality/project-related-reports-and-fuctionality/smart-view/in-game-analysis-reports)section and analyze energy collection and spending by levels as well as the most popular sources and sinks of energy:

<figure><img src="https://2105883905-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LnGcP_ZeRJ1ipj9O8dF%2Fuploads%2FaroIV9cNlslaPJhYNMso%2Fimage.png?alt=media&#x26;token=2d28fe08-5c11-4d30-98b8-7e600b180b1b" alt=""><figcaption></figcaption></figure>

### Important reports needed for analysing a farm game.&#x20;

We should analyze the in-game currency, the dynamics of its spending and saving. Go to the [**Virtual goods & purchases**](https://docs.devtodev.com/reports-and-functionality/project-related-reports-and-fuctionality/smart-view/in-game-analysis-reports#virtual-goods-and-purchases) report. Let's see which products are the most popular in terms of levels and time.

![](https://lh6.googleusercontent.com/tN9gAy5SJH1rrfvY0IyRRMMFXbnH3h43A3rmkdkVobYQiFYq53W9FoGESt8OdfwQLdXTxSKHp2NS-6V4AqP6wJhHuCCxD4YMTHyX55QD6-emC9TNih5AYsxSYPc7dvVglFZJsYaq)

It is also important to know what a player’s shopping basket is composed of and how it changes depending on the level. For this we open the [**Purchases structure**](https://docs.devtodev.com/reports-and-functionality/project-related-reports-and-fuctionality/smart-view/in-game-analysis-reports#purchases-structure) report:

<figure><img src="https://2105883905-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LnGcP_ZeRJ1ipj9O8dF%2Fuploads%2FYy7mTHF1xcuf4KC8MJ33%2Fimage.png?alt=media&#x26;token=d23e1a3e-07bb-43d7-b42a-18f65355a5b5" alt=""><figcaption></figcaption></figure>

Let's see how the demand for certain items changes at the given levels or over time:

<figure><img src="https://2105883905-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LnGcP_ZeRJ1ipj9O8dF%2Fuploads%2FyWpuDxGvLwFwu4Qhu2Nt%2Fimage.png?alt=media&#x26;token=b6d38784-c57d-4ae3-ac28-4f599d46fa23" alt=""><figcaption></figcaption></figure>

## Custom event structure example

Besides out-of-the-box reports based on basic events, you can use [custom events](https://docs.devtodev.com/basic-events-and-custom-events#custom-events) to analyze how users are using your app – the most desirable actions, quests, live ops events, whether or not users invite friends, interact with new mechanics, etc. You can also analyze custom event data in the [Custom event report](https://docs.devtodev.com/reports-and-functionality/project-related-reports-and-fuctionality/events-and-funnels#custom-events).

You can build a funnel and analyze conversion rates at each stage. For example, you send an event every time a user enters an in-game shop, clicks on an item, buys an item. Based on these events, you can build a funnel and check the conversion rate at each stage in the [Conversion funnel report](https://docs.devtodev.com/reports-and-functionality/project-related-reports-and-fuctionality/events-and-funnels#conversion-funnels). Below you can find examples of events that may be useful to you.

In the table below you can find examples of custom events that can be useful for you:

<table data-full-width="true"><thead><tr><th width="361.66715852638833">Description</th><th width="196">Custom event</th><th>Parameters</th></tr></thead><tbody><tr><td>Store opening is an event that allows you to find out at what point and at what level users enter the store. You can also use this event in funnels to see the stages where users have difficulty shopping</td><td><p>Event name <strong>store_open</strong> </p><p></p><p>Parameters source<strong>, level,</strong> e.g.<strong>, main_menu, 10</strong></p></td><td><p><strong>level</strong> (int) – highest available level for the user </p><p><strong>source</strong> – in-game store points of entrance: the main menu, the playing field, etc.</p></td></tr><tr><td>Showing offers and user interaction with them, e.g., tap on an icon to view the offer. This makes it possible to build offer funnels, compare the effectiveness of offers with each other</td><td><p>Event name <strong>open_offer</strong> </p><p></p><p>Parameters <strong>offer_name</strong>, <strong>level</strong>, e.g., <strong>welcome_offer</strong>, <strong>2</strong></p></td><td><p><strong>offer_name</strong> (string) – the name of the offer that the user opened </p><p><strong>level</strong> (int) – highest available level for the user</p></td></tr><tr><td>Viewing items in the store and user interaction with them, e.g., tap on an icon to view the item. This provides an opportunity to build purchase funnels</td><td><p>Event name <strong>goods_tap</strong></p><p></p><p>Parameters <strong>product_name, level, category,</strong> e.g<strong>., corn, 10, products</strong></p></td><td><p><strong>product_name</strong> (string) – the name of the item that the user tapped on </p><p><strong>level</strong> (int) – highest available level for the user </p><p><strong>category</strong> (int) – item category: products, buildings</p></td></tr><tr><td>Authorization: this event highlights the levels where players log in, and the ways of logging in</td><td><p>Event name <strong>authorization</strong> </p><p></p><p>Parameters <strong>level, method,</strong> e.g.<strong>, 10, fb</strong></p></td><td><strong>level</strong> (int) – highest available level for the user <br><strong>method</strong> (string) – authorization method: social networks, email, game center</td></tr><tr><td>Interaction with friends. The event allows you to analyze social activity of the gamers and virality of your game. Use it to compare retention rates of the players who added other gamers to friends with those who play solitarily</td><td><p>Event name <strong>interaction_friends</strong> </p><p></p><p>Parameter <strong>level</strong>, <strong>action</strong>, e.g., <strong>102, add_friend</strong> </p></td><td><p><strong>level</strong> (int) – highest available level for the user </p><p><strong>action</strong> – player actions targeted at a friend: </p><ul><li><strong>add_friend</strong> <strong>-</strong> add as a friend, </li><li><strong>farm_visit</strong> <strong>-</strong> visited a friend’s farm, </li><li><strong>sent_gift</strong> <strong>-</strong> sent a gift, </li><li><strong>sent_like</strong> <strong>-</strong> liked a friend’s farm</li></ul></td></tr><tr><td>Event is sent when the user helps their friend with order completion</td><td><p>Event name <strong>sent_help</strong> </p><p></p><p>Parameter <strong>level</strong>, <strong>name_product, count, count_experience</strong> e.g., 102, eggs, 1, 10</p></td><td><p><strong>level</strong> (int) – current player level </p><p><strong>name_product</strong> (string) – name of a product sent to a friend by the user </p><p><strong>count</strong> (int) – number of sent items </p><p><strong>count_experience</strong> (int) – amount of gained experience</p></td></tr><tr><td>Event is sent when the user gets an Achievement</td><td><p>Event name <strong>achievements</strong> </p><p></p><p>Parameter <strong>name, level,count_experience</strong>, e.g. city_architect, 11, 10</p></td><td><p><strong>name</strong> (string) – name or number of the achievement </p><p><strong>level</strong> (int) – current player level </p><p><strong>count_experience</strong> (int) – amount of gained experience</p></td></tr><tr><td>Event is sent when the user speeds up something</td><td><p>Event name <strong>use_acceleration</strong> </p><p></p><p>Parameter <strong>reason_name</strong>, <strong>name</strong>, <strong>level</strong>  e.g., products, apple, 7</p></td><td><p><strong>type</strong> (string) – cause of speeding up: </p><ul><li><strong>building</strong> – building speed up </li><li><strong>products</strong> – item production speed up </li><li><strong>clearing_territory</strong> – land clearing speed up </li></ul><p><strong>name</strong> (string) – name of the sped up item, e.g.: </p><ul><li>apple – apple growth </li><li>well – well building </li></ul><p><strong>level</strong> (int) – current player level</p></td></tr><tr><td>Event is sent when the user completes tasks that allow him to level up</td><td><p>Event name <strong>task_completed</strong>, </p><p></p><p>Parameter <strong>name, count, level</strong>,  e.g.,  added_building_1, 12, 1</p></td><td><p><strong>name</strong> (string) – name or number of the task, that the user has accepted or completed </p><p><strong>count</strong> (int) – number of active tasks with account for completed tasks </p><p><strong>level</strong> (int) – current player level </p><p><strong>count_experience</strong> (int) – amount of gained experience</p></td></tr><tr><td>Event is sent when a user earns virtual currency. It allows for detailed analysis of earned currency</td><td><p>Event name <strong>currency_balance_earned</strong> <br></p><p>Parameter <strong>balance_crystals, balance_energy, currency, amount, source, name, level</strong> </p></td><td><p><strong>balance_crystals</strong> (int) – the number of crystals owned by a user after earning </p><p><strong>balance_energy</strong> (int) – the amount of energy owned by a user after earning </p><p><strong>currency</strong> (string) – currency type: gold, crystals </p><p><strong>amount</strong> (int) – amount of earned currency </p><p><strong>source</strong> (string) – currency source: </p><ul><li>purchase – purchased currency </li><li>completed_order – completed a task </li></ul><p><strong>name</strong> (string) – details of currency acquisition </p><p><strong>level</strong> (int) – current player level</p></td></tr><tr><td>Event is sent when a user spends virtual currency. It allows for detailed analysis of spent currency</td><td><p>Event name <strong>currency_balance_spent</strong><br></p><p>Parameter <strong>balance_crystals, balance_energy, currency, amount, source, sub_source,  level</strong> </p></td><td><p><strong>balance_crystals</strong> (int) – the number of crystals owned by a user after spending </p><p><strong>balance_energy</strong> (int) –  the amount of energy owned by a user after spending </p><p><strong>currency</strong> (string) – currency type: gold, crystals </p><p><strong>amount</strong> (int) – amount of spent currency </p><p><strong>source</strong> (string) – what the user spent currency on:</p><ul><li>acceleration </li><li>lack_resources – lack of resources </li></ul><p><strong>purchase_currency</strong> – purchase of different currency (energy, gold) </p><p><strong>sub_source</strong> – detailed information on what currency was spent on, e.g. for spent_type = acceleration:  </p><ul><li>production - production speed up </li><li>harvest - harvest speed up </li><li>order - speeding up the appearance of a new order for spent_type = purchase </li><li>animal </li><li>building name (string) – what was purchased using the currency, e.g.:<br>- chicken<br>- barn<br>- eggs<br>- x200<br>- x10000 </li></ul><p><strong>level</strong> (int) – current player level</p></td></tr><tr><td>Receiving a daily gift: this way you can assess whether the bonus encourages players to re-engage with the game</td><td><p>Event name <strong>daily_bonus</strong> </p><p></p><p>Parameters <strong>reward</strong>, <strong>amount, level, day_number</strong>, e.g., heart, 2, 10, 7</p></td><td><p><strong>reward</strong> (string) – the reward name </p><p><strong>amount</strong> (int) – the reward amount, </p><p><strong>level</strong> (int) – highest available level, </p><p><strong>day_number</strong> (int) – sequential number of the day, when the user picked up the gift</p></td></tr><tr><td>Event is sent when a user upgrades a building</td><td><p>Event name <strong>upgrade_building</strong><br></p><p>Parameters <strong>level, name, level_building</strong> </p></td><td><p><strong>level</strong> (int) – current player level </p><p><strong>name</strong> (string) – task name  </p><p><strong>level_building</strong> (int) – level of the building after upgrade</p></td></tr><tr><td>Event is sent when a user purchases a building</td><td><p>Event name <strong>purchases_building</strong><br></p><p>Parameters <strong>level, name</strong></p></td><td><p><strong>level</strong> (int) – current player level </p><p><strong>name</strong> (string) – task name</p></td></tr><tr><td>Event is sent when a user completes an order</td><td><p>Event name <strong>order_completed</strong><br></p><p>Parameters <strong>level, name, source, count_order, count_gold, count_experience</strong> </p></td><td><p><strong>level</strong> (int) – current player level </p><p><strong>name</strong> (string) – order number </p><p><strong>source</strong> (string) – name of order source, e.g. an order board </p><p><strong>count_order</strong> (string) – order number </p><p><strong>count_gold</strong> (string) – amount of acquired gold </p><p><strong>count_experience</strong> (string) – amount of experience gained from order completion</p></td></tr><tr><td>Event is sent when a user purchases resources needed for order completion</td><td><p>Event name, <strong>purchases_resources</strong><br></p><p>Parameters <strong>level, name, source, count_order, count_gold, count_experience</strong> </p></td><td><p><strong>level</strong> (int) – current player level </p><p><strong>name</strong> (string) – purchase name </p><p><strong>source</strong> (string) – name of order source, e.g. an order board </p><p><strong>count_order</strong> (string) – order number </p><p><strong>count_gold</strong> (string) – amount of acquired gold </p><p><strong>count_experience</strong> (string) – amount of experience gained from order completion</p></td></tr><tr><td>Event is sent when a user charges slots for production</td><td><p>Event <strong>take_slot</strong><br></p><p>Parameters <strong>level, place, count</strong></p></td><td><p><strong>level</strong> (int) – current player level </p><p><strong>place</strong> (string) – production place </p><p><strong>count</strong> (int) – number of occupied slots</p></td></tr><tr><td>Event is sent when a user collects manufactured goods</td><td><p>Event <strong>took_goods</strong><br></p><p>Parameters <strong>level, name, place</strong></p></td><td><p><strong>level</strong> (int) – current player level </p><p><strong>name</strong> (string) – item name </p><p><strong>place</strong> (string) – production place</p></td></tr></tbody></table>
