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

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:

Sketch showing some shapes and how a filter reduces the items in the set

But they also help us broaden:

Sketch showing how a filter can expand the items included in the set

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

Screen cap from Zappos.com showing their left-rail filters

Facets

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:

Sketch showing a set of objects with their facets and facet values

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:

Sketch showing a strict hierarchy and the ambiguity of where to find an item

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:

Sketch showing how faceted classification supports various pathways to the same objects
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.

Faceted Navigation

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:

Sketch showing the concept of faceted navigation as a way to winnow a set of objects

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:

Screen cap of Wine.com showing faceted navigation

Faceted Search

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”):

Sketch of Wine.com showing faceted search

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:

  1. 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.
  2. Identify the content types in your data. For instance, you may have news, job postings, and people.
  3. 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?
  4. List out those harvested facets. Add in any that you think are missing based on other knowledge/expertise.
  5. Group the facets with the content types they describe.
  6. 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.
Sketch showing steps 1–5 from above: (1) research to understand users and usage; (2) knowing your data; (3) writing scenarios; (4) harvesting possible facets; and (5) grouping them.
Sketch showing step 6 from above: capturing details about each facet.

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!