[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],[],[],[],null,["# Halfbrick Case Study\n\n[*arrow_back*\nExplore other case studies](/case-studies) \n[View more solutions](/solutions) \n\n##### Halfbrick increases revenue by 16% with Remote Config personalization\n\n*** ** * ** ***\n\n##### Introduction\n\nWith a team of 70 fully-remote developers,\n[Halfbrick](https://www.halfbrick.com/) strives to make games\nthat people remember for a lifetime. While they began by\ndeveloping licensed games back in 2001, they quickly made a name\nfor themselves by developing original titles with a retro,\nnostalgic feel. Halfbrick is responsible for popular titles like\n[Jetpack Joyride](https://play.google.com/store/apps/details?id=com.halfbrick.jetpackjoyride),\n80s-style action platformer\n[Dan the Man](https://play.google.com/store/apps/details?id=com.halfbrick.dantheman),\nand the instant-classic\n[Fruit Ninja](https://play.google.com/store/apps/details?id=com.halfbrick.fruitninjafree),\nwhich has now been downloaded over a billion times.\n\n*** ** * ** ***\n\n##### Challenge\n\nAs most of Halfbrick's revenue comes from running ads with\n[AdMob](https://admob.google.com/home/), maximizing ad placement\nwithout damaging user retention is a constant concern.\nPreviously, the team ran a lot of manual experiments and A/B\ntests to find the ideal number of ads, but it took up a lot of\nengineering time and resources. They wanted a way to run more\ngranular experiments with less manual input, allowing them to\nquickly and easily optimize their ad placement.\n\nThey also wanted to maximize user engagement by showing a rating\nprompt at the moment when a player is most enjoying the game,\nlike at the end of a tutorial or checkpoint. This was another\nmanual process that the team hoped to automate and optimize. \n\n*** ** * ** ***\n\n##### Solution\n\nMany of Halfbrick's games were already powered by Firebase\nproducts such as [Cloud Functions](/products/functions),\n[Cloud Storage](/products/storage), and\n[Realtime Database](/products/realtime-database) on the\nbackend. And they were also using\n[Remote Config](/products/remote-config) to dynamically\ncontrol and change the behavior and appearance of their\ngames, so they were quick to adopt Firebase's latest feature,\n[Remote Config personalization](/docs/remote-config/personalization).\nThis new feature allows developers to specify objectives and\nthen uses machine learning to find the best parameters for\neach user to maximize those objectives, essentially\nperforming individualized, continuously-improving A/B tests.\n\nHalfbrick used Remote Config personalization to optimize\nthree key metrics: ad frequency, time to unlock a new level,\nand the timing of a ratings prompt.\n\nBy using personalization to decide when and how often to show\ninterstitial ads, Halfbrick's games now automatically show\nplayers the optimal number of ads based on their behavior and\npreferences, delivering a better user experience, and\nincreasing retention and return on ad spend. They were able to\nincrease the average number of ads per user from 3.4 to 4.2 ---\nwhich led to a 16% increase in average revenue per daily\nactive user (ARPDAU) --- without affecting engagement,\nretention, or ratings. Personalization also helped Halfbrick\ndetermine the right amount of time to make each player wait\nto unlock a new level, increasing the overall amount of time\nthey spent watching ads. \nIn addition, Halfbrick is using personalization to determine\nthe best time (i.e. when users are most enjoying the game) to\nask users to rate their app, without any manual setup or\nguesswork from the team. Personalization helped them increase\nengagement with the rating prompt by 4% and increase the\nnumber of positive ratings by 15%.\n\nWhen they ran these experiments manually, it would take a\ndedicated teammate one week to configure, test, analyze, and\nroll out the results. Now, they can set up Remote Config\npersonalization in a day or two, then allow it to keep\nlearning and optimizing without regular human intervention.\nThis has allowed Halfbrick to save money and time, using that\nengineering time to build new features for their games.\n\n*** ** * ** ***\n\nResults\n\n16% - increase in average revenue per daily active user (ARPDAU)\n\n15% - increase in positive app store ratings \n\n\"The granularity achieved with Remote Config's personalization feature is impossible for a human to instrument. Personalization has given us new insight into how we can optimize our ad strategy and even helped us challenge our own assumptions that players don't like too many ads. Incredibly, we've been able to increase the frequency of ads and grow ad revenue without seeing an uptick in negative reviews or customer complaints.\"\n\n\n- Miguel Pastor, Product Manager, Halfbrick \nTry Firebase today\n\n\nIntegrating it into your app is easy.\n[Get started](https://console.firebase.google.com/) \n\n#### All Firebase products\n\n##### Build\n\n- [App Check](/products/app-check)\n- [App Hosting](/products/app-hosting)\n- [Authentication](/products/auth)\n- [Cloud Functions](/products/functions)\n- [Cloud Storage](/products/storage)\n- [Data Connect](/products/data-connect)\n- [Extensions](/products/extensions)\n- [Firestore](/products/firestore)\n- [Firebase ML](/products/ml)\n- [Genkit](https://genkit.dev/)\n- [Hosting](/products/hosting)\n- [Realtime Database](/products/realtime-database)\n- [Firebase AI Logic client SDKs](/products/firebase-ai-logic)\n\n[Generative AI](/products/generative-ai) \n\n##### Run\n\n- [A/B Testing](/products/ab-testing)\n- [App Distribution](/products/app-distribution)\n- [Cloud Messaging](/products/cloud-messaging)\n- [Crashlytics](/products/crashlytics)\n- [Google Analytics](/products/analytics)\n- [In-App Messaging](/products/in-app-messaging)\n- [Performance Monitoring](/products/performance)\n- [Remote Config](/products/remote-config)\n- [Test Lab](/products/test-lab)"]]