Dynamic Reranking for all Entity Types (Summer '21)

In the Spring '21 release, we released Dynamic Reranking for the FAQ entity type. Now, with this Summer ‘21 Release, we are expanding this functionality to all entity types! Using a new reinforcement learning algorithm, Yext will learn the optimal ranking of search results to maximize clicks by running small, incremental A/B tests. You can read more about the Dynamic Reranking feature in this community post.

As a refresher, dynamic reranking uses machine learning to re-rank results and answers based on user engagement data. Our team has trained a complex model that reranks entities in order of their likelihood to be clicked by the user. The best part? This model will become smarter over time as it is fed more user interaction data.

For example, if it sees that the most clicked on entity is the one that we’re returning in the fifth position, this new feature will allow the algorithms to dynamically, re-rank the results and bump that result to the top because the goal is always to have the first result be the one that’s most relevant and most engaged with.

This will be a powerful feature for increasing clicks and conversions, making your search experience all-around more effective. When users see the result they intended to find in that first spot, they trust the accuracy of the search algorithm, and are more likely to use it in the future.

How do I add this to my experience? Is this only available in the JSON and if so can you provide a code snippet for it?

Hey Team! I had the same question as Liz above. Interested to know how I can make sure this is included in my Answers experience!

HI @liz and @jyorke!

In order to activate dynamic reranking for your search results, you’ll need to add the following configuration to your JSON:

{
  "$schema": "https://schema.yext.com/config/answers/answers-config/v1",
  "$id": "ml_reranking",
  "name": "ML Enhanced Reranking",
  "verticals": {
    "myVertical": {
      "dynamicRerank": {
        "target": "CLICKS",
      },
      "searchableFields": {
        ...
      }
    }
  }
}

The option to activate dynamic reranking within the backend UI is on our product roadmap, so you should expect to see a new section on your Answers configuration page in an upcoming release!

One thing to keep in mind—the dynamic reranking feature only learns from searches that take place on your PRODUCTION label to ensure real, consumer traffic is taken into account. The algorithm will purposely not learn from test searches made on your STAGING label.

Additionally, the feature can be added to any version of your configuration. Once it is activated, the dynamic reranking algorithm will begin to learn to rerank, regardless of which version you are using.

You can learn more about dynamic reranking this Hitchhikers unit: Dynamic Reranking | Hitchhikers

Hope this helps! Let us know in this community post if you have any follow-up questions!

Best,
Jamie

Hi @Jamie_Kim - I see on your code snippet you are targeting CONVERSIONS but the module seems to indicate only CLICKS can be targeted. Are there other events other than CLICKS that can be targeted? Thanks!

Hi @Juan_Zuluaga,

Thanks for this catch! Dynamic reranking actually only targets CLICKS for now–you (and our existing module content) are correct! We will be adding the ability to target CONVERSIONS and other events in a future release.

I’ve updated the snippet in my previous post to reflect this. Also pasting the snippet here for clarity:

{
  "$schema": "https://schema.yext.com/config/answers/answers-config/v1",
  "$id": "ml_reranking",
  "name": "ML Enhanced Reranking",
  "verticals": {
    "myVertical": {
      "dynamicRerank": {
        "target": "CLICKS",
      },
      "searchableFields": {
        ...
      }
    }
  }
}

Thanks so much!
Jamie