Filters and Facets: An Explainer
Filters and facets are tools we use to narrow down a set of items to find that specific thing we’re looking for — or to widen out to a broader set if we’re not seeing what we need. Filters and facets are powerful ways to help users help themselves. They often show up in search scenarios, are at home in a navigation-driven situation, and really shine when we use them to combine search with navigation.
Filters are criteria we use to narrow down or broaden out a set of items. We often think about them in terms of narrowing down:
But they also help us broaden:
You are probably familiar with filters from shopping and travel web sites, as well as applications like Microsoft Excel, with uses like these:
- Online shoe shopping: narrow down to only shoes in your size
- Online travel shopping: broaden out to include additional airports
- Spreadsheet: only show rows where office ID is LAA2
Filters at Zappos.com
Facets are a type of filter. We sometimes use the term facets in a fairly general way, to mean any characteristic you can use as a filter. However, I want to talk about facet as a term that identifies a special way of describing and filtering things.
Facets are a set of characteristics we can use to describe — or sub-divide — a group of items, that works evenly across the group:
Once we’ve described the items in the set with their facet values, we can use those to find the items.
Facets originated in library science as a way to get around constraints of a strict hierarchy. Strict hierarchies, or taxonomies, such as Linnaeus’ taxonomy of animals, only allow each item to live in one place. The person placing items into the hierarchy has to decide where to put them. And the person trying to find items has to know (or guess) which pathway to go down:
For this type of basic finding (navigation), facets have some benefit over a strict hierarchy. By using a faceted system, we place each item in all of the places where they belong. Then we give the seekers all of the possible pathways and let them choose which pathway they prefer to use:
Footnote about facets in library science: S.R. Ranganathan, a librarian and mathematician in India, developed a model for bibliographic classification beginning in the 1930s, with refinements through the 1960s. This method, called colon classification, gave us the roots of today’s faceted systems.
As libraries and e-commerce developed more mature search and browse capabilities in the 2000s, we saw the rise of faceted navigation, which lets users navigate through a catalog (or any set of items) and quickly narrow down:
For a while, anybody who wrote about facets used wine as the primary example, and we can see that Wine.com is still using faceted navigation: Users who navigate into the wine area of the site can immediately start using facets to find things, even without entering in a search query. So easy! (More later on why this makes things easy.)
Wine.com after going into the “wine” portion of the site, without entering any search criteria:
This leads us to the powerful combination of search with facets, which is sometimes also called faceted navigation or faceted search or faceted search-browse or … (you get the picture). Users can start with a keyword query and then start using facets to refine the search.
Wine.com view after searching for “bold” and selecting the wine department (as opposed to “gifts”):
Making Things Easy
Filters, including facets, are a great way to help people help themselves. They take advantage of aspects of human psychology that make them an easy way to find things, including:
- Familiarity: People use these on all kinds of web sites, apps, and applications, so they have little or no learning curve, meet expectations, and enhance trust in the system.
- Recognition over recall: Filters expose options so that people can react to what they see instead of needing to come up with some query on their own.
Filters also support universal design principles:
- System transparency: By using filters — especially facets — you are showing users the scope of your system and teaching them about the data inside of it. They don’t have to memorize things, because you’ll keep showing it, and they may discover things they didn’t know existed — or ways of narrowing their view they never would have known about.
- Guidance: Based on the filters we provide and how we arrange them, we can help users avoid problems — and we can even guide them toward content or actions that we want them to use.
Information scientists like to observe and classify people’s behaviors around information seeking. They talk about known-item finding, cherry-picking, information foraging, and so on. Filters and faceted search support most modes, including these two common modes:
- Known-item finding: Finding or going back to a specific thing we know exists. Filters help us zero in quickly, taking advantage of things like recognition over recall in the process.
- Exploratory search: Looking to see what all exists in the system related to my topic or question. Exposed (visible) filters help us gauge this quickly (system transparency above) and help us know where to look to find things (guidance)
Footnote about models of information-seeking behavior: This slide deck, A Model of Consumer Search Behaviour, has a quick overview of information-seeking models in the first eight slides.
How to Get Started
The key is understanding how your users are likely to explore and how your data is set up (though sometimes you can change the data). Here’s a high-level guide for steps you can go through to figure out which filters you may want to set up:
- Conduct fundamental research and observation, including usage data (e.g., Google Analytics and search logs), to gain an understanding of what things (data/objects) users want to interact with and how they want to interact with them.
- Identify the content types in your data. For instance, you may have news, job postings, and people.
- Write at least one real-world user scenario per content type, based on what you learned in your research. Study all the scenarios and look for the moments when the user is narrowing into a result set or formulating a query statement: What are the aspects (facets) they use to focus in, narrow, or define their need?
- List out those harvested facets. Add in any that you think are missing based on other knowledge/expertise.
- Group the facets with the content types they describe.
- For each facet, note key details: which document types it applies to, the possible values, traits of the data, and how they should function in the UI.
As you go through these steps, you should make friends with the team who provides search engine capabilities for your product: as with any development team, you want these folks as allies. In my experience, you’ll find that they are anxious for people to use their platform to its fullest extent and excited to partner with you.
Let’s make some filters!