Figma

How we use data

Max Burkhardt
Security Engineer at Figma
Olabode Anise
Data Scientist, Growth and Experimentation

Building world-class design and collaboration tools means understanding how our products are used. Knowing how people use Figma is a critical process for making design accessible to everyone, and it requires us to carefully collect and analyze different types of user data. It’s a big responsibility to be entrusted with this data, so we want to be sure our customers know what we use it for and why. If you’re curious about how we use data to make Figma better and better, read on!

To set the stage, it’s helpful to categorize the user data Figma collects into two categories: functional data that we primarily use to provide the service; and analytics data, which we use to make product improvements.

Functional data

Functional data includes things like your email address, which we need to know in order to  give you a username and send you important communications like password resets. Figma only needs a relatively small slice of information before you can get started.

When you sign up for Figma, we ask for your email, name, and role.  That core dataset allows us to let you start making files and collaborating with other users. Thanks to how our product is designed, we don’t need to collect more sensitive information often required by other cloud services, like ID verification, documents, or payment information. (Payment details—which are only needed if you purchase one of our paid plans—are gathered and processed by Stripe, our payment infrastructure provider.)

Analytics data

Analytics data shows us how the product is used, and includes metadata about how the platform is accessed. Our users’ needs are constantly changing, and we pride ourselves on continually evolving Figma to better meet those needs. Analytics data is critical to understanding how best to do that. We can’t only base our development plans on the tweets that our users send @figma (but please keep sending them!), so we make sure to keep track of which features our users are using, which ones they aren’t, and which ones they seem to have trouble with. This data is then processed and analyzed by our data science team.

But what does it mean to make Figma better using data? To get a bit more specific, we picked out three case studies that show how our data science and engineering teams use the information we collect to improve features, optimize performance, and protect the Figma community.

Improving features

At Figma, A/B testing is a key component of the product development process.Through experimentation, we can explore hypotheses formulated through UX research, data, and product intuition. Experiments also allow us to quantitatively assess the impact that proposed features or changes have on user behavior. This ultimately helps us make data-informed decisions about what we ship to users.

For example, we’ve recently explored how to improve the share modal, one of the entry points for users to invite other users into their file, to manage file permissions, and to publish their work to the Figma Community. At Figma, we believe that design is a collaborative process, so making sharing files easy is important to us.

During our background research, the data team found that only 20% of users opened the share modal within the first month and only half of those users went on to successfully share a file. We believed that the experience for potential sharers could be improved by simplifying the UI and moving secondary functions into separate tabs in the modal, making it easier to parse.

This experiment confirmed our hypothesis: a simplified sharing experience would lead to more sharing activity. We saw a 2% increase in the percentage of users sending invites and a 2% increase in the number of users invited to each file. We also didn’t see any regressions around the propensity for users to upload their work to the Figma Community, which was one of the metrics we thought could be impacted by this change.

Our teams are still working to improve the sharing experience, and these early findings are helpful in setting the direction of our future work in this area.

Identifying performance issues

Across Figma, teams use data extensively to understand application performance across different platforms. These findings are used to drive initiatives and improve the overall user experience.

At Config 2021, our annual design conference, we announced the beta of our new iOS app, which allows users to view and share files and prototypes on their mobile device. Following the announcement, the data team did a deep dive into crashes to understand how often they were occurring, under which scenarios, and on which platforms. In that analysis, they found that prototypes were one of the primary drivers for crashes on iOS, with 25% of prototypes crashes happening within the first 10 seconds of loading. They also confirmed our intuition—that crashes were more likely on more complex prototypes. These insights prompted a series of improvements involving different strategies around incremental frame loading and image sampling for prototypes. The resulting changes led to over a 50% reduction in prototype crash rates on iOS.

Fighting spam bots

The metadata we collect about how the product is used is also crucial to our anti-abuse defenses. There are bad actors on the internet who try to use Figma to send spam or create harmful content in the Figma Community. To fight these efforts, we need to collect a number of signals that can help distinguish between a real, human user, and a fleet of bots that are trying to use Figma in an automated, negative way. Although attackers are constantly evolving their techniques to make their bots seem more human-like, there are almost always giveaways that we can detect to distinguish well-meaning users from malicious machines. We ingest this data via a secure pipeline that delivers these signals not only to our backend, but also to anti-fraud partners who help us identify these attacks.

By processing subtle pieces of data about how users interact with Figma’s systems, we aim to block bad actors at multiple checkpoints throughout the Figma product. Our defenses use the data they’ve collected to build up context about incoming requests, and can block automated bots at any point. This helps ensure that the community is filled with the exciting, creative content made by Figma users—not spam published by robots.

Data helps us make Figma more usable, performant, and secure, ultimately providing a better experience for our users. If this is the type of work you’re interested in, check out our open roles—we’re hiring!