Crystallize logo

Rank by Taste: How Vector Ranking Turns One Product Universe Into a Personal Shopping Experience

See how Crystallize uses taste profiles, multidimensional vectors, and real-time ranking to turn one Product Universe into a different shopping experience for every shopper.

clockPublished October 2, 2026
clock8 minutes
Ruy Ramos
Ruy Ramos
Rank by Taste: How Vector Ranking Turns One Product Universe Into a Personal Shopping Experience

Most e-commerce personalization happens around the edges of the experience. A “recommended for you” carousel appears below the product grid, an email suggests something based on an old purchase, or a separate recommendation engine tries to predict what somebody might click next.

Meanwhile, the actual experience remains generic, stale, and non-personal.

Every shopper entering a category sees roughly the same products in roughly the same order. Search relevance might improve the list, merchandising rules might push bestsellers or campaigns higher, but two customers with completely different needs still walk into essentially the same digital store.

Rank by Taste changes that model.

With vector ranking in the Crystallize Discovery API, products and shoppers can be described using the same meaningful vocabulary. Discovery compares those profiles and uses the resulting similarity as another ranking signal. Stock, margin, sales velocity, campaigns, recency, search relevance, and other business-critical signals can still factor into the same decision.

The result is not another recommendation block. The same Product Universe can produce a different shopping experience for every shopper without creating a different catalog for every shopper.

Why Hyper-Personalization Usually Becomes an Infrastructure Problem

The business case for personalization isn't particularly controversial: help people find relevant products faster, reduce irrelevant choices, improve discovery, and use a large catalog better.

The implementation usually gets messy.

Personalization often means introducing a separate recommendation service, synchronizing catalog data into another index, collecting behavioral history, training models, maintaining customer segments, and then figuring out how that new ranking layer interacts with search, campaigns, stock rules, and merchandising priorities.

The real cost of that architecture isn't simply another service. It can also mean losing visibility and control over why products rank where they do.

A recommendation algorithm can decide that Product A is theoretically perfect for a shopper while your commerce team knows that Product A is out of stock, low-margin, being discontinued, or simply less important than Product B this week.

Crystallize takes a different approach. Taste becomes another ranking signal inside Discovery rather than a separate personalization universe. You keep your commercial rules and add the shopper to them.

Rank by Taste in Three Pieces

It helps to separate three closely related ideas.

Hyper-personalization is the outcome. Different shoppers experience the same Product Universe differently.

Rank by Taste is the capability. It lets Discovery use customer preference as part of its ranking logic.

Taste profiles are the mechanism. Products and shoppers use the same vocabulary, allowing Discovery to calculate how closely they match.

That final point is where this gets interesting.

Products have Taste. So do shoppers.

Ship smarter. Build faster. Stay curious with our newsletter.

Learn, build, and grow your headless commerce for the modern agentic era with tips and tricks delivered to your inbox!

What Does “Taste” Mean Here?

Taste is a weighted representation of what matters to a shopper or what characterizes a product.

Crystallize lets you define vocabularies containing dimensions that make sense for your domain. In coffee, that might be roast, flavor, body, or origin. In fashion, it could be style, material, fit, color family, and brand. In B2B commerce, it might represent product categories, specifications, manufacturers, equipment families, or the types of products an account repeatedly purchases.

The important part is that products and shoppers speak the same language.

A camera product might contain attributes such as:

brand:nikon
system:nikon-z
usecase:wildlife
level:professional

A shopper's Taste profile can contain those same keys with different weights.

Discovery compares the product vector with the shopper vector using cosine similarity. Products whose attributes align more closely with the shopper's preferences receive a higher Taste score.

There is no mysterious machine-learning model that first has to infer what brand:nikon means. The vocabulary is explicitly defined.

In that sense, the vocabulary itself becomes the model.

Where Does a Shopper's Taste Come From?

The Photo Store demo builds customer profiles from order history. What somebody buys changes their profile, with more recent or more significant purchases influencing Taste more strongly than older or less meaningful ones.

But purchase history is not the limit of the model.

A Taste vector can also be shaped by explicit preferences, searches, browsing behavior, current session context, or information already known about the customer elsewhere in your stack. An AI agent could also carry a shopper profile into the query.

That distinction also helps with the traditional personalization cold-start problem.

An unknown shopper does not need a fake personality assigned to them. Your existing ranking logic can keep surfacing bestsellers, campaigns, available inventory, new products, or whatever else matters to your business. As useful customer signals emerge, Taste can gradually play a larger role in the ranking decision.

Personalization does not replace the default store. It adds customer context to it.

Why Taste Is More Than “This Shopper Likes Nikon”

Human preference is rarely one-dimensional, and your ranking system shouldn't pretend otherwise.

The Photo Store demo makes this tangible. Its catalog is represented through broader vocabularies covering brand and camera system, use case, and product type or level. Within those sit dimensions such as brand, system, category, level, and price tier.

A shopper can lean toward Nikon, the Nikon Z system, wildlife photography, professional-grade equipment, and a particular price range simultaneously.

A product matching several of those preferences can rank above something that matches only the brand.

Crystallize scores vocabularies independently and combine their similarity scores. You can also decide how strongly each should influence a particular shopping surface.

This is what makes Taste more useful than traditional customer segmentation. You don't have to decide that someone belongs in one bucket called “Professional Nikon Wildlife Photographer.” Their profile can express the parts independently and change as their behavior changes.

See It in Action: One Product Universe, Different Stores

The easiest way to understand the concept is to use the Photo Store demo.

The demo includes roughly 350 products, but it has no manually maintained personalization segments or hundreds of individual recommendation rules. Shoppers build profiles from their order histories, and eligible products can be re-ranked around those profiles.

Switch between the sample customers and the effect becomes obvious.

The catalog has not changed. Its priority has.

See It in Action: One Product Universe, Different Stores

The easiest way to understand the concept is to use the Photo Store demo. The demo includes roughly 350 products, but it has no manually maintained personalization segments or hundreds of individual recommendation rules. Shoppers build profiles from their order histories, and eligible products can be re-ranked around those profiles. Switch between the sample customers and the effect becomes obvious. The catalog has not changed. Its priority has.

A Nikon-focused photographer can see Nikon-compatible products rise. Someone interested in DJI or another type of photography sees the same inventory through a different lens.

And this isn't limited to the homepage.

Search for a telephoto lens and textual relevance still determines which products satisfy the query, while Taste helps decide which relevant products deserve priority. Open a category and the same profile can influence product order there. Move onto a product page and vector similarity can help identify relevant alternatives. In the basket, customer and product context can help rank complementary products.

One Taste profile can influence the shopping journey, not just power a recommendation carousel in isolation.

The demo also exposes ranking information using rankExplain which matters because hyper-personalization becomes dangerous when nobody can explain it. You can see how Taste and other signals contributed to a product's position rather than accepting the answer from a black box.

Black-box magic is impressive in a pitch deck. Explainable ranking is far more useful when someone has to run the store.

Taste Does Not Get to Overrule the Business

Personalization is only useful if it remains commercially sane. That is why Taste is one term inside rankBynot the final answer.

A ranking expression can combine customer Taste with search relevance and signals such as margin, recent sales, ratings, campaign priority, inventory, and product recency.

The balance can change depending on context. Search should naturally give the actual query significant influence. A homepage or campaign surface might lean more heavily toward Taste. A retailer might increase the importance of stock availability or margin. Another might choose to prioritize a campaign for a week.

You can move between two extremes: a generic bestseller shelf governed mostly by merchandising rules and a highly personalized shelf driven strongly by the customer profile.

The useful answer will usually live somewhere in between.

You Don't Need an AI Model to Hyper-Personalize a Store

This is perhaps the less fashionable part of the story: none of this requires training a personalization AI model.

Crystallize uses named, sparse vectors rather than opaque ML-generated embeddings. You define the commercially meaningful vocabulary because you already know your products.

You know that Nikon Z is a camera system. You know which lenses are compatible with it. You know whether a product is intended for wildlife photography or beginners.

The challenge isn't asking AI to rediscover those facts from millions of clicks. It is structuring them well and combining them with customer context and commercial priorities at query time.

That also removes a lot of personalization infrastructure. You don't need another machine-learning pipeline or a separate model that periodically decides who your customers have become.

What Does This Look Like Inside Crystallize?

The backend is deliberately less dramatic than the storefront. You define vocabularies and dimensions, associate products with relevant entries, publish and index them, and then provide a shopper vector through context.userTaste.

Discovery calculates vector similarity inside the search index. rankBy combines Taste with other commercial signals, while nearestTo can use the same vector structure for “more like this” experiences. rankExplain gives you visibility into why the final ranking happened.

In the Photo Store implementation, existing Topic Maps act as the source of truth. A topic such as /brand/nikon becomes a vector key such as brand:nikonrather than requiring another disconnected personalization taxonomy.

Customer context is then supplied at query time. Discovery does not have to become your customer-data platform or maintain an opaque learned customer model. Your application can build and own the Taste profile and send the relevant vector with the Discovery request.

That architecture removes one of the nastier personalization problems: maintaining the meaning of the same products and customers across multiple systems.

For developers, the implementation details are covered in the Crystallize vector search and personalization documentation.

What Does This Look Like Inside Crystallize?

The backend is deliberately less dramatic than the storefront. You define vocabularies and dimensions, associate products with relevant entries, publish and index them, and then provide a shopper vector through context.userTaste. Discovery calculates vector similarity inside the search index. rankBy combines Taste with other commercial signals, while nearestTo can use the same vector structure for “more like this” experiences. rankExplain gives you visibility into why the final ranking happened. In the Photo Store implementation, existing Topic Maps act as the source of truth. A topic such as /brand/nikon becomes a vector key such as brand:nikonrather than requiring another disconnected personalization taxonomy. Customer context is then supplied at query time. Discovery does not have to become your customer-data platform or maintain an opaque learned customer model. Your application can build and own the Taste profile and send the relevant vector with the Discovery request. That architecture removes one of the nastier personalization problems: maintaining the meaning of the same products and customers across multiple systems. For developers, the implementation details are covered in the Crystallize vector search and personalization documentation.

And Taste Isn't Only a B2C Concept

“Customer Taste” sounds naturally consumer-oriented, but the same model applies to B2B.

A business account might consistently buy products from particular manufacturers, work within specific product families, require certain technical specifications, or repeatedly purchase the same categories.

Those signals can influence discovery while the existing B2B logic around price lists, markets, availability, taxes, and customer-specific terms remains intact.

Taste does not have to mean style. It means relevance to this buyer.

The Bigger Shift: From Product Discovery to Personal Discovery

Most e-commerce stacks ask:

“Which products match this query, category, or merchandising rule?”

Personalized ranking adds another question:

“Of those products, which ones make the most sense for this person right now?”

Because customer context participates directly in Discovery, the answer does not have to live inside a recommendation widget. It can influence search, navigation, categories, campaigns, product discovery, and basket recommendations while still respecting the rules that make the business work.

That makes hyper-personalization less about predicting someone's next click and more about continuously changing how they experience your Product Universe.

Want to see how the vectors, ranking rules, storefront, and Crystallize backend actually fit together?

Dig deeper in the full “Rank by Taste: Hyper-Personalization in your Product Universe” livestream.