# Personalization and relevance: how Maya ranks every feed

[Maya](https://begenuin.com/developers/get-started/any-business/supervised-intelligence-what-it-does-and-where-to-start#maya-genuin-s-orchestrator), Genuin's orchestrator, decides which video a placement shows to a viewer, and it is measured on two numbers: per-minute watch time per user across the destinations it powers, and per-minute revenue it generates for the customer. Reading time about 6 minutes.

## Signals Maya uses, in priority order

1. **Placement context** from the grid (see [Register your placements on the Hierarchical Grid](https://begenuin.com/developers/get-started/any-business/register-placements)) and live page context from the embed (see [Onsite: contextual placements across homepage, category, and product pages](https://begenuin.com/developers/get-started/any-business/onsite-contextual-placements-across-homepage-category-and-product-pages)).
2. **Group and topic** of each video (see [Communities and groups: structure your social experience for relevance](https://begenuin.com/developers/get-started/any-business/brand-communities-and-groups-structure-content-for-relevance)), including partner content you accepted (see [Accept partner content into your ecosystem](https://begenuin.com/developers/get-started/any-business/accept-partner-content-into-your-ecosystem)).
3. **Session continuity**: what this viewer watched and did earlier in the session and, with auto login, in past sessions.
4. **Audience cohorts**: onsite, offsite, and offline signals you connect (see [Audience segments: onsite, offsite, and offline signals](https://begenuin.com/developers/get-started/any-business/audience-segments-onsite-offsite-and-offline-signals)), always under the data-use terms in your agreement (see [Choose your monetization agreement](https://begenuin.com/developers/get-started/any-business/choose-monetization-agreement)) and the privacy controls in [Privacy and VPPA: the two-channel data flow](https://begenuin.com/developers/get-started/any-business/privacy-and-vppa-the-two-channel-data-flow).
5. **Brand and partner rules**: brand safety profile, exclusions, pinned content, and Paid Partner Post pacing (see [Paid Partner Posts and Paid Partner Takeovers](https://begenuin.com/developers/get-started/any-business/paid-partner-posts-and-paid-partner-takeovers)).

**Parameters you control** (under **Control → Feed settings**, per placement or page type)

| Parameter | What it does |
| --- | --- |
| Exploration rate | How often Maya tests new or low-data videos |
| Freshness weight | Preference for recent content |
| Repeat window | Minimum time before a viewer sees the same video again |
| Pinned slots | Fixed positions for brand or partner content |
| Cohort use | Which connected cohorts Maya may use on this placement |
| Paid pacing | Maximum share of Paid Partner Posts per session |

## Reading relevance

The Relevance dashboard (see [Reading the Relevance dashboard](https://begenuin.com/developers/get-started/any-business/reading-the-relevance-dashboard)) treats relevance as the leading indicator of revenue and shows, per placement, the lift in watch time Maya produced against a holdout, so you can see whether a parameter change helped before revenue moves.

## How it runs

The placements, feeds, destinations, and identity settings described here are proposed from your grid and audience, applied on confirmation, and tuned on a cadence from the reports.

**Support.** Help is available 24/7 from Brand Control Center and from every page of these docs. Ask in plain language; when a person is needed, an account manager, developer, or Ops engineer joins the same thread and stays on it until it is resolved. Every Business Account owner has this on every plan (see [24/7 Octo support: how Octo brings in account managers, developers, and Ops](https://begenuin.com/developers/get-started/any-business/24-7-octo-support-how-octo-brings-in-account-managers-developers-and-ops)).

## API & SDK

Access: the calls in the table are the proposed Business Account API (see [Business Account API: provisioning, OAuth, and the resource map](https://begenuin.com/developers/get-started/any-business/business-account-api-provisioning-oauth-and-the-resource-map)), authenticated with a key scoped to the account and a role or an OAuth client acting for it; every confirmation in this article becomes a proposal you can approve by API (`POST /proposals/{proposalId}:approve`). Live today, the server API under `/api/thirdparty` authenticates with a `gn-access-token` (see [Generate an access token](https://begenuin.com/developers/developer-resources/api/generate-access-token-using-authentication-api)), and [Live API today and the Business Account API roadmap](https://begenuin.com/developers/developer-resources/guides/live-api-today-and-the-business-account-api-roadmap) maps what is live to what is proposed.

| Call | Purpose |
| --- | --- |
| PUT /placements/{placementId}/settings | Player controls, feed settings, sticky mini-player, keywords, mode |
| GET /brands/{brandId}/segments | Audience segments from onsite, offsite, and offline signals |
| GET /reports/relevance | Relevance dashboard data |

```js
// proposed server SDK (Business Account API)
import { Genuin } from '@genuin/sdk';
const genuin = new Genuin({ apiKey: process.env.GENUIN_KEY });
await genuin.placements.settings.update(placementId, { sticky: true });
await genuin.segments.list(brandId);
await genuin.reports.relevance({ brandId });
```

Live today: [Embed the Genuin Web SDK on your website](https://begenuin.com/developers/developer-resources/sdk/how-do-you-embed-and-configure-the-genuin-web-sdk-on-your-website) · [Add a Genuin placement to your website](https://begenuin.com/developers/developer-resources/sdk/how-do-you-configure-the-genuin-web-sdk-placement-on-your-website) · [Customize the Genuin video player](https://begenuin.com/developers/developer-resources/sdk/how-does-a-brand-customize-the-genuin-video-player-controls) · [Receive engagement events in your own analytics](https://begenuin.com/developers/developer-resources/sdk/receive-engagement-events-in-your-own-analytics).

SDKs: Web SDK (see [Embed the Genuin Web SDK on your website](https://begenuin.com/developers/developer-resources/sdk/how-do-you-embed-and-configure-the-genuin-web-sdk-on-your-website)), iOS SDK (see [Integrate the Genuin iOS SDK](https://begenuin.com/developers/developer-resources/sdk/developer/genuin-sdk/native-compatibility/ios/how-to-integrate-and-power-your-brand-community-in-ios-apps)), Android SDK (see [Integrate the Genuin Android SDK](https://begenuin.com/developers/developer-resources/sdk/how-to-integrate-and-power-your-brand-community-in-android-apps)), React Native (see [Integrate the Genuin SDK with React Native apps](https://begenuin.com/developers/developer-resources/sdk/how-do-you-integrate-the-genuin-react-native-sdk-into-your-application)), and Flutter (see [Integrate the Genuin SDK with Flutter apps](https://begenuin.com/developers/developer-resources/sdk/how-do-you-integrate-the-genuin-flutter-sdk-into-your-application)) render Genuin and sign members in; the Node (`@genuin/sdk`) and Python (`genuin`) server SDKs are proposed with [Business Account API: provisioning, OAuth, and the resource map](https://begenuin.com/developers/get-started/any-business/business-account-api-provisioning-oauth-and-the-resource-map).
