“I often get asked to build a dashboard, but the request isn’t always clear, even after I’ve had a conversation with the person. This means I can build something for them, but it might not hit the mark and we have to start over or iterate on it. What I find interesting here is 1) that they can find the answers themselves and 2) perhaps more importantly, they can get closer to what they were looking for and we can use that as part of their request for something to my team.” – Data Lead at a AAA Study
Introduction
When we announced the next evolution of Databricks, The Data Intelligence Platform in November 2023, we shared plans to integrate machine learning, GenAI, and other capabilities into our platform. By doing so, we would increase your productivity and the value you could generate from your data. Through this blog, we will explore one such feature that aims to democratize data insights generation: AI/BI Genie.
A Genie Space gives users the ability to interact with and explore data by creating a chat interface for it. Instead of being limited to what a dashboard can show them, they can ask their own questions and dig into the details. You point to a series of tables, the user asks questions about the data, the Space interprets the question and presents the results. With the Space, users can explore their ideas as if they were working side-by-side with a data analyst. You can even turn the results into visualizations for the user. For a detailed view of Genie Spaces, check out their documentation here.
Next, we use a public World of Warcraft (WoW) dataset to create a Genie space, recreate a user journey, and explore the value it can bring to a game company. Once you see how easy it is to set up a Genie space, we encourage you to try it out with one of your own datasets. It will make more sense, and as long as you have Unity Catalog enabled, it will be easier to set up than the sample space.
Creating a Genie Space
As a reminder, you need to be in Unity Catalog or have the datasets you’re going to use in UC for this to work. At the time of writing, Genie Spaces is still in public preview, so the first step will be to enable it from the workspace level. Previews pageOnce enabled, you’ll see “Genie” on the left side of your Databricks workspace. Click on it and then click “New” in the top right corner, give it a title, assign a warehouse, and add tables.
When creating a Genie space and selecting tables to include, think about the end user. Who is going to be asking questions? What types of questions are they going to ask? What tables might support those questions? You might want to include Silver and/or Gold tables for the domain in question. Obviously, try to avoid data sets that are completely unconnected to each other, as they will negatively impact your results.
For this blog, we used a Kaggle dataset that includes information about WoW characters over a three-year period. The datasets include high-level information about sessions, character level progression, character class, zones they entered during a session, and other related details such as guild membership. As we explore this Genie space, we are thinking from the perspective of a game designer who is new to this capability and is interested in understanding character interaction in the open world.
Introduction to Genie Space
When you enter the space, there is a button that will analyze the data sets and provide you with some examples of questions you could answer with the data included in this space. By default, these are automatically generated by the Genie space based on the data sets included, but you can add your own examples when creating the space. These prompts help a new user understand the types of things this space can answer to help them get started. Your user can also ask the space, as we do in the diagram below, to describe the data it has access to. It will generate details about the tables, their columns, and what all that might mean.
Interrogating and iterating on your data
For this Genie space, we used a Kaggle dataset with WoW Horde character data over a three-year period. The tables in this dataset are well-connected, and we imported all tables. We then experimented with the Genie space as if we were new to this feature and a game designer looking to learn more about the character experience in our game world.
As mentioned above, to start our effort we asked the space to tell us a little bit about the tables themselves. We see that the space has information about character levels, different zones on the map, session information, and details about the characters in the game including level, race, class, and zone they were in at any given time. It also tells us that the char column, which represents the characters in the game, and sessionIDs are the two main primary keys in these tables. To get used to the interface, we start with a simple question: “What is the race that a player plays first most often?” It returns an answer, but not exactly the answer we were asking. Why? Because these tables don’t have playerIDs, only CharacterIDs. The space returns the closest thing that makes sense: the most played race based on the number of characters.
This example shows us some important things
- The model can handle questions even when they are not well worded: “most common breed” vs “what is the most commonly chosen breed…”
- The model will try to answer the question and find something that looks right: character versus player. This is both a good and a bad thing. The model won’t know that something wasn’t answered exactly right, so you’ll need to be on the lookout.
- In addition to providing an answer, the model provides an explanation of what it returned to help with #2. “This query retrieves the race with the most characters…” You’ll notice that it doesn’t actually say player in the explanation.
Now, just because blood elves are the most created characters doesn’t mean that players interact with them. You could ask for a ranked list of all races by number of characters or by play time. We don’t go into that in depth, but instead choose to dig deeper into blood elf interaction by asking: What is the level distribution of blood elves?
This chart is helpful, and if you like numbers, you’ll immediately see that the numbers decrease rapidly as you go from level 1 to level 10. For this type of analysis, it may be easier to use a visualization. After you ask a question to the space, there will be a button that says “visualize.” When you do, you’ll be given this chart.
This is very useful. We immediately see that there are a lot of people who create a blood elf, but don’t level it up. If we had player data, we could take this as a signal to change the way we think about this. We could ask the space to display the main character class, based on play time, so that each player can see if there is a preference for a specific class. Since we don’t have player data, we’ll dig deeper into this visualization.
There are bumps at levels 55, 58, 70, and 80. As a game designer for this title, we’ll acknowledge: these were level cap changes due to new releases. This information could become the basis for a re-engagement email campaign. “CHAR_NAME CHAR_CLASS has more adventures ahead. Experience NEW_CONTENT on your way to the new level cap of 80, you’re just (LEVEL_CAP – CURR_LEVEL) away. Here’s FREE_NEW_CONTENT to help you on your journey. You can earn a HIGH_TIER_CONTENT if you reach LEVEL_CAP before the EVENT_TARGET_DATE.”
In conclusion
This was just a brief example of how a Genie space could help a game designer explore their data, find insights, and then take action on them. We hope it inspired you to try it out on one of your datasets. This example focused on player engagement data, but the same process and capabilities could be applied to all game domains including: marketing, campaign optimization, server operations, match results, and LiveOperations.
We shared a quote from one studio at the beginning, and included one from an AA console game maker and a mobile studio:
- “A lot of the requests I get are ad hoc – can you find this number for me? These requests end up being iterative in nature because I give them the answer and then they want to know the why behind the number. By looking at this tool, I could put together a Genie space with data related to their question and give them the power to find the answer and then see the details behind it. Not only will this save my team time, but it should also delight my end users.” – Director of Data Analytics at Console Game Maker AA
- “I have end users who understand the data we’re collecting very well – some of them know a little bit of SQL, though they’re not experts, but most of them don’t. These users, typically product managers, game designers, or LiveOps teams, want more access to the data and the ability to find answers for themselves. With this capability, I could create a space focused on their domain and give them a self-service tool that will speed up their ability to react to changes and free up my team for larger projects.” – Director of Mobile Game Data Operations
With AI/BI Genie Spaces, you empower your teams to converse with your data, leading to emergent insights, increased satisfaction from your internal customers, and freeing up your data teams to work on high-value projects. This post shows how easy it is to create a Genie Space. Create one with your own data set and learn something new about your players in the process.
If you want to learn more about Genie Spaces, how to activate them, and how to use them, check out the official documentation or contact your Databricks account team. For information on additional game data and AI use cases, check out our other Solution Accelerators and our Game Data and AI Guide.