> ## Documentation index > Fetch the complete documentation index at: https://docs.prescientai.com/llms.txt > Use this file to discover all available pages before exploring further. Add `.md` to any page URL to get that page as Markdown. # Introduction Source: https://docs.prescientai.com > A starting page for the Prescient AI docs, with a path for new readers, a card for each product area, and the ways to read the docs with an AI tool. Prescient AI is a marketing mix modeling (MMM) platform. These docs explain how to use the platform, one product area at a time. Each product area has an overview, step-by-step guides, reference pages, and concept pages. The docs cover every product area of the app: Prescient AI, Library, Model Center, Data Center, Attribution, Media Forecaster, and your account and settings. > **Start here:** > > 1. Read [How Prescient AI is organized](https://docs.prescientai.com/getting-started) for a map of the product areas. > 2. If your workspace is new, read [Your first days](https://docs.prescientai.com/getting-started/your-first-days) for the stages of onboarding. > 3. Follow the lesson [Build your first plan](https://docs.prescientai.com/media-forecaster/your-first-plan). It takes you through one plan from start to finish. ## Product areas [Prescient AI](https://docs.prescientai.com/prescient-ai): Start each day with the state of your data, the budget recommendation of the day, and a chat that answers questions about your marketing. [Library](https://docs.prescientai.com/library): Keep a conversation with Prescient AI, share it with your team, export it as a PDF, and track a plan to its goal. [Model Center](https://docs.prescientai.com/model-center): Check how accurate each of your marketing mix models is, how closely it follows your reported results, and how current it is. [Data Center](https://docs.prescientai.com/data-center): Add the channels that you measure, connect their data, check the status and the dates of each connection, and label campaigns with tactics. [Attribution](https://docs.prescientai.com/attribution): See how much of an outcome your models attribute to each channel, tactic, and campaign, next to the figures that your ad platforms report. [Media Forecaster](https://docs.prescientai.com/media-forecaster): Build a plan that recommends how to split a marketing budget across channels, tactics, and campaigns to reach one goal. [Account and settings](https://docs.prescientai.com/account): Sign in, invite teammates and set their roles, and manage the display currency, the API keys, the billing, and your cookie settings. ## Start with one task Each guide covers one task. These are good first guides for each area. - **Prescient AI**: [Ask a question](https://docs.prescientai.com/prescient-ai/ask-a-question) and [Build the recommended plan](https://docs.prescientai.com/prescient-ai/build-the-recommended-plan). - **Library**: [Save a conversation](https://docs.prescientai.com/library/save-a-conversation) and [Track a goal](https://docs.prescientai.com/library/track-a-goal). - **Model Center**: [Check model accuracy](https://docs.prescientai.com/model-center/check-model-accuracy) and [Compare two configs](https://docs.prescientai.com/model-center/compare-two-configs). - **Data Center**: [Connect a channel](https://docs.prescientai.com/data-center/connect-a-channel) and [Label campaigns with tactics](https://docs.prescientai.com/data-center/label-campaigns-with-tactics). - **Attribution**: [Choose what the page shows](https://docs.prescientai.com/attribution/choose-what-the-page-shows) and [Compare channels, tactics, and campaigns](https://docs.prescientai.com/attribution/compare-channels-tactics-and-campaigns). - **Media Forecaster**: [Create and run a plan](https://docs.prescientai.com/media-forecaster/create-a-plan) and [Read plan results](https://docs.prescientai.com/media-forecaster/read-plan-results). - **Account and settings**: [Sign in](https://docs.prescientai.com/account/sign-in) and [Manage members](https://docs.prescientai.com/account/manage-members). In each area, the concept pages explain the ideas behind the figures. The [Reference](https://docs.prescientai.com/reference) tab has the pages with the exact labels, options, limits, and messages of each screen. For the words that the docs and the product use, see the [Glossary](https://docs.prescientai.com/reference/glossary). ## What is not here yet Two kinds of page are not in these docs yet. - **Setup guides for each channel.** The Data Center pages explain how to add and connect a channel for each connection method. A page for each ad platform, store, and retailer is not written yet. The setup dialog of each channel in Data Center has the instructions for that channel. The [earlier help center](https://help.prescientai.com/docs/41-connector-setup) also has a page for each platform. If an earlier page and the setup dialog differ, follow the dialog. - **Methodology.** The docs explain the figures that the product shows and quote the definitions that the product gives. Pages that explain how the models work are not written yet. ## Use the docs with AI tools Each page of these docs is also available as Markdown, so an AI tool can read the page without the page layout. - **Copy page**: the menu next to each page title copies the page as Markdown. The same menu opens the page in ChatGPT, Claude, or Perplexity. - _Markdown pages_: add `.md` to the address of a page to get the page as Markdown. The home page is at `/index.md`. - _Page index_: [`/llms.txt`](https://docs.prescientai.com/llms.txt) lists each page with a description. [`/llms-full.txt`](https://docs.prescientai.com/llms-full.txt) contains all the pages in one file. - _Agent skill_: [`/skill.md`](https://docs.prescientai.com/skill.md) tells an AI agent what the docs cover and how to read the docs. - _MCP server_: connect an AI tool to `https://docs.prescientai.com/mcp` to search the docs and read pages. The **Copy page** menu has the install command and the links for Cursor and VS Code. # How Prescient AI is organized Source: https://docs.prescientai.com/getting-started > A map of the product areas in the order of the app sidebar, what each area is for, how the areas depend on each other, and where the settings are. Prescient AI has six product areas. The sidebar of the app lists them in three groups, and two more pages, **Settings** and **Account**, open from the top bar. This page tells you what each area is for and where to read about it. ## Which areas does the sidebar show? The sidebar lists the areas from top to bottom in this order. Only the third group has a heading, **Marketing**. | Area | Place in the sidebar | What the area holds | | -------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | | **Prescient AI** | First group | The home screen and the chat. The page shows the state of your data, the budget recommendation of the day, and a message box for your questions. | | **Library** | First group, below **Prescient AI** | The conversations with Prescient AI that you and your team saved. | | **Model Center** | Second group | How accurate each of your marketing mix models is, and how current it is. | | **Data Center** | Second group | The channels that you measure, their connections, and the tactic of each campaign. | | **Attribution** | **Marketing** group | How much of an outcome your models attribute to each channel, tactic, and campaign, next to the reported figures. | | **Media Forecaster** | **Marketing** group | Plans that recommend how to split a budget to reach one goal. | The link **Help Center** is at the bottom of the sidebar. ## How do the areas depend on each other? Each area uses the work of the one before it. Read the list from top to bottom to see where a figure comes from. 1. **Data Center** holds your channels and their data. You connect each channel there, and you label campaigns with tactics there. 2. Your Prescient team builds your marketing mix models from that data. **Model Center** shows each model, how accurate it is, and the last day that it has results for. 3. **Attribution** shows what the models attribute to each channel, tactic, and campaign, next to the figures that your sources report. 4. **Media Forecaster** uses the same models to forecast a budget split and to recommend a better one. 5. **Prescient AI** answers questions about all of this in a chat, and shows the budget recommendation of the day. **Library** keeps the conversations that you save. > **If a figure looks out of date:** Start at the top of the list. A channel that stopped sending data in Data Center affects each area below it. See [Check status and data freshness](https://docs.prescientai.com/data-center/check-status-and-data-freshness). ## Where are the settings? The settings are not in the sidebar. Two controls in the top bar open them. | Control | What it does | | ------------ | ---------------------------- | | **Settings** | Opens the **Settings** page. | | Item of the avatar menu | What it does | | ----------------------- | --------------------------- | | **Account** | Opens the **Account** page. | | **Log out** | Signs you out. | **Settings** holds the things that belong to your workspace: the display currency, the members, the API keys, and the billing. **Account** shows your own name and email, and your cookie settings. See [Account and settings](https://docs.prescientai.com/account). ## Where do you go next? [Your first days](https://docs.prescientai.com/getting-started/your-first-days): The five stages of onboarding, and which areas are open at each stage. [Glossary](https://docs.prescientai.com/reference/glossary): Short definitions of the terms that these docs and the product use, in alphabetical order. [Build your first plan](https://docs.prescientai.com/media-forecaster/your-first-plan): A lesson that takes you through one plan in Media Forecaster from start to finish. ## Read about each area - [Prescient AI](https://docs.prescientai.com/prescient-ai) - [Library](https://docs.prescientai.com/library) - [Model Center](https://docs.prescientai.com/model-center) - [Data Center](https://docs.prescientai.com/data-center) - [Attribution](https://docs.prescientai.com/attribution) - [Media Forecaster](https://docs.prescientai.com/media-forecaster) - [Account and settings](https://docs.prescientai.com/account) # Your first days Source: https://docs.prescientai.com/getting-started/your-first-days > The onboarding path of a new workspace, stage by stage, with the product areas that are open at each stage and what Prescient does while you wait. A new workspace goes through five stages before every product area opens. You connect your data, you confirm the totals that Prescient read, and then your Prescient team builds your models. During this time, Data Center is the one product area that is open. ## What are the five stages? Data Center shows the stages in the list **Your onboarding**, with a count of the stages that are complete. | Stage | What the product says | | -------------------------- | ----------------------------------------- | | **Welcome aboard** | You've joined Prescient. | | **Connect your data** | Provide data for measurement. | | **Validate your data** | Review and approve ingested data. | | **Optimizing your models** | Your Prescient team is tuning your model. | | **Start measuring** | Platform ready for optimization. | You do work in two of the stages: **Connect your data** and **Validate your data**. For the steps of each, see [Complete onboarding in Data Center](https://docs.prescientai.com/data-center/complete-onboarding). ## What do you see first? The first screen has the heading **Welcome to Prescient! Let's begin by connecting your data.** It names the three kinds of data that you connect: revenue, advertising, and web analytics. Select **Start onboarding** to open the guided steps in Data Center. ## Which areas are open during onboarding? | Subject | Rule | | -------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | | Areas open during onboarding | While onboarding is in progress, Data Center is the only product area that is open. Each other item of the sidebar shows a lock. | | Attribution during onboarding | Attribution can open before onboarding is complete, with reported figures only, when your reported data is ready to review. | | Settings and Account during onboarding | The **Settings** page and the **Account** page stay open during onboarding. | | When onboarding is complete | Each product area opens when the onboarding of the workspace is complete. | While onboarding is in progress, the sidebar shows a card with the heading **Onboarding in progress**. The card is a link to Data Center. An area that is not open yet shows a lock, and its tooltip reads **Available once onboarding is complete**. > **Invite your team early:** The **Settings** page is open during onboarding. An Admin can invite teammates before the models are ready. See [Manage members](https://docs.prescientai.com/account/manage-members). ## When does Attribution open? Attribution can open before the other areas. When your reported data is ready to review, the lock on **Attribution** opens, and its tooltip says that modeled results unlock once onboarding is complete. At this point Attribution shows reported figures only. The modeled figures come when your models are ready. For the difference, see [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures). ## What happens while you wait? Two of the stages are a wait. Data Center shows a screen for each one. - **After you connect your data.** Prescient collects and prepares the last 24 months of revenue, spend, and business events from your connected sources. The screen says that this runs overnight and that the data is typically ready to review the next business day. - **After you confirm your data.** Your Prescient team calibrates your models against the data that you confirmed. The screen does not give a time for this stage. Each screen says that Prescient emails you when the stage is done, so you can leave the page. ## Who does the work? An Admin connects the channels and confirms the totals. A Viewer can follow the progress and sees the totals, but only an Admin can confirm or flag a number. For the two roles, see [Roles and members](https://docs.prescientai.com/reference/account/roles-and-members). ## What opens when onboarding is complete? Each product area opens, and Data Center changes from the guided steps to its three tabs: **Channels**, **Integrations**, and **Tactics**. A good first hour looks like this. 1. Open [Prescient AI](https://docs.prescientai.com/prescient-ai) and read the state of your data and the recommendation of the day. 2. Open [Model Center](https://docs.prescientai.com/model-center/check-model-accuracy) and check how accurate each model is. 3. Open [Attribution](https://docs.prescientai.com/attribution) and compare the modeled figures with the reported figures. 4. Follow the lesson [Build your first plan](https://docs.prescientai.com/media-forecaster/your-first-plan) in Media Forecaster. 5. In Data Center, [label your campaigns with tactics](https://docs.prescientai.com/data-center/label-campaigns-with-tactics), so that Attribution can group them. # Get help Source: https://docs.prescientai.com/getting-started/get-help > How to reach Prescient AI support by email, what to put in the message, and where to look for an answer first. To reach Prescient AI support, send an email to . Before you write, look for the answer in these docs, because many questions have one. ## How do you find an answer in the docs? - **Search.** Select the search box in the header and enter a label or a message from your screen. - **The assistant.** Where the docs show an **Ask AI** button, the assistant answers a question from these docs and gives the pages that it used. It does not know your account or your data. - **The Glossary.** The [Glossary](https://docs.prescientai.com/reference/glossary) explains each term that the product uses. - **The Help Center link.** The **Help Center** link in the sidebar of the product opens the help content. ## How do you write to support? 1. Start an email to . 2. Give the name of your workspace and the page of the product where the problem is. 3. Describe what you did, what you expected, and what occurred. Copy the full text of each message that the product showed. 4. For a problem with a channel, give the name of the channel and its status on the **Channels** tab of Data Center. 5. Add a screenshot if it helps. Remove data that you do not want to share. Do not put a password, an API key, or a credential in an email. ## Which messages in the product tell you to contact support? Some messages about a connection name the support address. For a channel that stopped, the product first tells you to reconnect it in Data Center. The message tells you to contact support if the reconnection does not correct the problem, or if the connection does not start again after a few days. See [Fix a channel that needs attention](https://docs.prescientai.com/data-center/fix-a-channel-that-needs-attention). The product also sends some emails, for example when a connection stops. See [Emails from Prescient AI](https://docs.prescientai.com/reference/account/emails). ## Next steps - [Fix a channel that needs attention](https://docs.prescientai.com/data-center/fix-a-channel-that-needs-attention): reconnect a channel or correct its data. - [Sign in](https://docs.prescientai.com/account/sign-in): get a sign-in code or reset a password. - [How Prescient AI is organized](https://docs.prescientai.com/getting-started): find the product area for your question. # Build your first plan Source: https://docs.prescientai.com/media-forecaster/your-first-plan > A 10-minute lesson. Follow one fixed path through the New plan wizard and finish with a plan for the next three months that runs in your own account. In this lesson you build one Media Forecaster plan from start to finish. You make one fixed set of choices, in order, and you learn what each choice does. At the end, a plan for the next three months runs in your account. The lesson uses one fixed path. For the full set of options at each step, see [Create and run a plan](https://docs.prescientai.com/media-forecaster/create-a-plan) after the lesson. ## What you need - A Prescient AI account with one or more active models. Without an active model, the **Goal** step has no goals to select. - Two or more channels that had spend in the same period one year ago. If your account is newer than that, Part 2 tells you what to select instead. - About 10 minutes. The plan that you build is real. The plan is private, so only you can see it, and you can delete it after the lesson. > **Your screen has its own names and numbers:** Your models, your channels, and each amount on your screen are your own. > Follow the labels in **bold**. ## Start the plan 1. Select **Media Forecaster** in the **Marketing** group of the sidebar. 2. Select **New plan**. The wizard opens. A rail on the left lists five steps: **Timeline**, **Goal**, **Budget**, **Media**, and **Review & run**. You are on the first step. ## Part 1: Set the timeline The **Timeline** step answers one question: which period does the plan cover? You also select the period that the plan starts from. 1. Look at **Models**. Do not change the selection. Media Forecaster selects a default model for each channel. These models forecast the plan. 2. In **Reference period**, select **Same time last year**. The dates below the options change to the same days one year ago. The reference period sets the current spend of each row of the plan, and the same period of last year had the same season. 3. In **Planning period**, select **90 days**. The bar on the timeline grows to cover the period. A line below the two cards now says that the plan uses **Forecast** mode. You look at this again in the next part. 4. Select **Continue**. > **If your plan uses weeks:** If one or more of your models are weekly, the line next to **Models** says > **Planned in weeks, set by your models**, and the options are in weeks. Select > **12 weeks** in step 3. Where this lesson says 90 days, your screen says 12 > weeks. Each other step is the same. ## Part 2: Choose the goal The **Goal** step answers a second question: what must the plan reach? In this lesson, the plan must reach a target. 1. Find the goal family **Hit a target**. Select the first goal card in the family. The name of your card depends on your models. A field for the target appears below the cards. 2. Look at the target. Do not change the target. Media Forecaster suggests a target that is 10% better than the forecast with no changes. The target is the total for the full planning period. The target is not growth on top of the current figure. > **If the target field stays empty:** Your media had no spend in the same period of last year, so Media Forecaster has no forecast to start from. The bar at the bottom of the step then shows **Target value is required for this goal type.** **Continue** still works, and the message then shows on **Goal** in the rail. Do not continue yet. Select **Timeline** in the rail on the left. In **Reference period**, select **Most recent**. Then select **Continue**. The target now has a value. 3. In **Plan type**, select **Optimization**. A note appears below the control. The note says that your planning period is long for **Optimization** and that **Forecast** fits better. The note ends with a **Switch** link. Do not select **Switch**. For the difference between the two plan types, see [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built). 4. Select **Forecast** again. The note goes away. **Forecast** is the plan type that fits a period of this length. 5. Select **Continue**. ## Part 3: Set the budget The **Budget** step sets the most that the plan can spend, and how far the plan can move each row. 1. Look at the two options at the top of the step. Leave **Set a ceiling** selected. With **Set a ceiling**, you set the most that the plan can spend. 2. Look at **Max budget**. The amount starts at the spend of your reference period, scaled to the length of your planning period. The line below the field shows this calculation. > **If the field is empty:** The field shows **Sized from your media**, and the step has no **Adjust** slider. This is the second sign that your media had no spend in the reference period. Select **Timeline** in the rail on the left. In **Reference period**, select **Most recent**. Then select **Continue** until you are on the **Budget** step again. The amount now starts at the spend of the most recent period. 3. Move the **Adjust** slider to the right until the field beside the slider shows 20, or type 20 in that field. The slider has no numbers at its ends. The field beside the slider shows the percentage. **Max budget** goes up by 20%. With a target goal, the plan spends less than the maximum if the target needs less. 4. In **Spend flexibility**, select **High**. The band below the options grows. With **High**, each row can go from zero to two times its baseline, which gives the plan more room to reach the target. 5. Select **Continue**. ## Part 4: Choose the media The **Media** step lists where the plan can invest. Because this is a **Forecast** plan, the table lists channels and their tactics. An **Optimization** plan lists campaigns too. 1. Clear the checkbox of the last channel row, which is the row above **Total**. The summary line above the table now counts one channel less, and the **Total** row gets smaller. The plan cannot invest in a row that you clear. The maximum budget of the plan also gets smaller. The budget follows the reference spend of the rows that are in the plan, and keeps the 20% that you added. You see the new amount in Part 5. If the table has one channel row only, do not clear the row. A plan needs one channel or more, and the step shows **Select at least one channel to include in the plan.** 2. In the **Allocation** column of the first row, open the menu and select **Max spend**. A limit editor opens below the cell. The editor has a field for the limit, a control that changes the field between an amount and a percentage, and a slider that goes from −100% to +100%. With **Max spend**, the plan still optimizes the row, but never above the limit. 3. Open the same menu again and select **Optimize**. The limit goes away. With **Optimize**, your models decide the spend of the row. For a first plan, leave each row on **Optimize**. 4. Select **Review**. ## Part 5: Review and run the plan The **Review & run** step shows what the plan will do before you run it. The picture shows where each part of the step is. The picture is from a different plan, so the goal, the dates, the plan type, and the amounts in the picture are not the ones of this lesson. Your screen shows your own goal, your own dates, and **Forecast** in the second stage. ![The Review & run step, with the status at the top, the three stages of a run, the plan name, Visibility, and the Run plan button](https://docs.prescientai.com/_astro/new-plan-review.Zb63EOd2_Z2qIASe.webp) 1. Check the status at the top of the step. **Ready to forecast** means that the plan can run. The headline below the status states the goal of the plan with your target. 2. Read the three stages under **What happens when you run**. The stages repeat your choices in plain words: the reference period, the planning period with the plan type, and the goal with the maximum budget and the flexibility. The first stage counts campaigns, not channels, because each channel that you kept holds one or more campaigns. The maximum budget in the third stage is lower than the amount that you saw in Part 3, because you cleared a row in Part 4. 3. Look at **Name your plan** and **Visibility**. Do not change them. Media Forecaster names the plan from the goal and the dates. **Visibility** is **Only me**, so the plan is private. 4. Select **Run plan**. A message says **Plan created successfully!** To leave without creating a plan, do not select **Run plan**. Select **Cancel and discard** at the bottom of the rail on the left. The wizard closes at once and keeps nothing. ## What happens next The plan is queued and runs in the background. The plan page shows the elapsed time and an estimate of the duration. You can leave the page. When the status of the plan in your plans list is **Ready**, open the plan to see the results. If the plan fails, see [Fix a failed plan](https://docs.prescientai.com/media-forecaster/fix-a-failed-plan). ## What you did You built and ran a plan, and you saw what each step of the wizard decides. - **Timeline:** the period that the plan covers, and the period that sets the current spend of each row. - **Goal:** the one result that the plan must reach, and the plan type that fits the length of the period. - **Budget:** the most that the plan can spend, and how far the plan can move each row. - **Media:** the rows that the plan can invest in, and a limit on a row when you need one. - **Review & run:** the full plan in plain words, before the run. The plan of this lesson stays in your plans list. To delete the plan, see [Manage plans](https://docs.prescientai.com/media-forecaster/manage-plans). ## Next steps [Read plan results](https://docs.prescientai.com/media-forecaster/read-plan-results): Check the goal, see where the budget moves, and track actual results against the plan. [Create and run a plan](https://docs.prescientai.com/media-forecaster/create-a-plan): The same wizard as a task guide, with each option of each step. [Plan settings](https://docs.prescientai.com/reference/media-forecaster/plan-settings): Each setting, option, and limit of the wizard. [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built): The reference period, the baseline, and the optimized plan, and how they relate. # Prescient AI Source: https://docs.prescientai.com/prescient-ai > What the first screen of the product shows, what you can ask in the chat, and which guide to read for each task. Prescient AI is the screen that opens when you sign in. It tells you the state of your data and your models, shows the budget recommendation of the day, and answers questions about your marketing in a chat. The capture shows the daily recommendation on the Prescient AI screen, with the **Build this plan** pill below it. ![The daily recommendation card with a revenue gain, four channel rows, and the Build this plan pill below it.](https://docs.prescientai.com/_astro/daily-recommendation.BazTmbLV_Z2qnG3z.webp) To open Prescient AI, select **Prescient AI** at the top of the sidebar, or select the logo. > **Available after onboarding:** Prescient AI opens when your onboarding is complete. Until then, the sidebar item is locked and the product opens Data Center. ## What does the screen show? A new chat starts with a short summary of your workspace, written as a conversation. The summary is built from your data by fixed rules, so it shows the same facts as the other pages of the product. | Part | What it shows | | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Greeting | A greeting with your first name and one line on the state of your data. | | Connection rows | One row for each broken data connection that you can repair, with the buttons **Why?** and **Fix in Data Center**. | | Notes on connections and models | A short note for each broken connection for which the product has no fix on your side, and for each model that did not complete its last run, is behind, or has no modeled data. | | Recommendation card | The gain that the daily Media Forecaster plan found, the rows that gain from more spend, and the row with the largest reduction. The card shows only when the plan found a gain. | | Closing question | An offer to build the recommended plan, or a question about what you want to look at. | | Reply pills | One row of questions that you can send with one tap. | | Message box | The field where you type a question. | The parts that you see depend on your workspace. If the screen finds no broken connection and no model with a problem, the greeting says that your data connections are healthy and that your models are running normally. The screen then has no connection rows and no notes. If the daily plan found no gain, the screen has no recommendation card. ## What can you do from the screen? - **Read the recommendation.** The card shows how much more of your outcome the daily Media Forecaster plan expects from the same budget or a changed budget, and which rows gain. See [Where the daily recommendation comes from](https://docs.prescientai.com/prescient-ai/daily-recommendation). - **Build the plan.** Select **Build this plan** to put the recommendation in the chat as a plan that you can change and run. See [Build the recommended plan](https://docs.prescientai.com/prescient-ai/build-the-recommended-plan). - **Repair a connection.** Select **Fix in Data Center** on a connection row. See [Fix a broken connection](https://docs.prescientai.com/prescient-ai/fix-a-broken-connection). - **Ask a question.** Tap a reply pill or type in the message box. See [Ask a question](https://docs.prescientai.com/prescient-ai/ask-a-question). ### Buttons and pills on the screen | Button or pill | What it does | | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | | **Why?** | Sends a question about the broken connection to the chat. The answer explains the cause and the fix. | | **Fix in Data Center** | Opens the setup of that connection in Data Center. | | **Build this plan** | Puts the recommendation in the chat as a plan that you can change and run. | | **Compare channel {efficiency}** | Asks for a comparison of the efficiency metric of each channel. A workspace that reports by tactic sees **Compare tactic {efficiency}**. | | **Top media by {outcome}** | Asks which media produced the most of the outcome. | A word in braces stands for a value from your account or your plan. ## What can you ask? Prescient AI reads the data of your workspace to answer. You can ask about your attribution, your reported performance, your models, the state of your data, and your Media Forecaster plans. You can also ask how the product and the models work. An answer can contain text, a chart, a table, or a view from Attribution or Media Forecaster. For the full list, see [Chat reference](https://docs.prescientai.com/reference/prescient-ai/chat) and [Visuals in an answer](https://docs.prescientai.com/reference/prescient-ai/visuals). A plan that you build in the chat is a Media Forecaster plan. To set up a plan with each setting in your own hands, see [Create and run a plan](https://docs.prescientai.com/media-forecaster/create-a-plan). To read the result of a plan, see [Read plan results](https://docs.prescientai.com/media-forecaster/read-plan-results). ## Who can see your chats? A chat is the live conversation on this screen. A chat is private. Only the person who started a chat can open it. To show a conversation to your team, save it to the [Library](https://docs.prescientai.com/library) as a shared item. The copy in the Library is a saved conversation. ## Guides [Ask a question](https://docs.prescientai.com/prescient-ai/ask-a-question): Send a question, read the answer, and open its sources. [Build the recommended plan](https://docs.prescientai.com/prescient-ai/build-the-recommended-plan): Turn the daily recommendation into a plan, change it, and run it from the chat. [Fix a broken connection](https://docs.prescientai.com/prescient-ai/fix-a-broken-connection): Find out why a connection stopped and go to its setup. [Find an earlier chat](https://docs.prescientai.com/prescient-ai/find-an-earlier-chat): Open a past chat or start a new one. ## Reference The reference pages of Prescient AI are in the **Reference** tab. Each page lists the exact labels, options, limits, and messages of one screen. - [Chat reference](https://docs.prescientai.com/reference/prescient-ai/chat): the Prescient AI screen and a chat: buttons, status lines, messages, and limits. - [Visuals in an answer](https://docs.prescientai.com/reference/prescient-ai/visuals): the charts, tables, saturation curves, and plan results that an answer can contain. - [Plan in the chat](https://docs.prescientai.com/reference/prescient-ai/plan-in-the-chat): the plan card and the run card: buttons, statuses, messages, settings, and rules. For the meaning of a term, see the [Glossary](https://docs.prescientai.com/reference/glossary). # Ask a question Source: https://docs.prescientai.com/prescient-ai/ask-a-question > How to send a question to Prescient AI, follow the answer while it is prepared, read charts and tables, and open the sources of an answer. You ask Prescient AI a question in plain language. Prescient AI reads the data of your workspace and answers in the chat. ## How do you ask a question? 1. Open **Prescient AI** from the sidebar. 2. Type your question in the message box, or tap a reply pill. A reply pill sends a question as your message. The pill with the label **Last week** sends a question about the cause of the change that it names, not the text of its label. 3. Send the message. The send button becomes a stop button while the answer is in progress. Select it to stop the answer. 4. Read the answer. To continue, type a follow-up question. Prescient AI uses the earlier messages of the chat as context. After your first message, the address of the page changes to the address of the chat. The chat appears in **History** after the next load of the page. > **Name the period:** An answer covers the last 90 days unless your question names a period. To get a different period, put the dates in the question. One answer can cover up to about 2 years. ## What happens while the answer is prepared? The chat shows what Prescient AI is doing. It shows **Thinking…** first. When Prescient AI reads your data, a line names each step, for example **Checking your attribution…**. For each status, see [Chat reference](https://docs.prescientai.com/reference/prescient-ai/chat#status-lines). A question that needs campaign data takes longer. After 12 seconds with no new output, the chat says so. ## How do you read an answer? An answer can contain several parts. - **Text.** The answer in words, with tables where a table is clearer. - **A visual.** A chart, a table with pages, or a view from Attribution or Media Forecaster. See [Visuals in an answer](https://docs.prescientai.com/reference/prescient-ai/visuals). - **Sources.** When the answer uses the knowledge base, the articles are listed under **Sources**. Select an article to read it in a dialog. Figures in an answer come from the same data as the [Attribution](https://docs.prescientai.com/attribution), [Model Center](https://docs.prescientai.com/model-center), and [Media Forecaster](https://docs.prescientai.com/media-forecaster) pages. ## How do you choose the model that answers? The message box has a model picker. The first option is the default and suits most questions. The chat keeps your choice for its later messages. ## What if an answer fails? | Message | What to do | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | | **Something went wrong. Please try again.** | Send the message again. This message also shows when a message is too long or when you send messages too fast. | | **This answer didn’t finish. Ask again.** | The answer reached the time limit. Send the question again, or ask a narrower question. | For each limit of a chat, see [Chat reference](https://docs.prescientai.com/reference/prescient-ai/chat#limits). ## What can a chat not do? - A message contains text only. You cannot attach a file or an image. - You cannot send a message while **Build this plan** prepares a plan card. The message box then reads **Creating your plan…**. - A chat has no control to rename it, delete it, copy an answer, or rate an answer. - A chat is private to you. To share a conversation, [save it to the Library](https://docs.prescientai.com/library/save-a-conversation). # Build the recommended plan Source: https://docs.prescientai.com/prescient-ai/build-the-recommended-plan > How to turn the daily recommendation into a Media Forecaster plan in the chat, change its settings, run it, and read the results. The recommendation card on the Prescient AI screen is a summary of a plan that Media Forecaster ran with default settings. You can open that plan in the chat, change it, and run your own version. Nothing is created in Media Forecaster until you select **Run plan**. The capture shows the daily recommendation and the **Build this plan** pill. ![The daily recommendation card with a revenue gain, four channel rows, and the Build this plan pill below it.](https://docs.prescientai.com/_astro/daily-recommendation.BazTmbLV_Z2qnG3z.webp) ## Before you start - The screen must show a recommendation card. The card shows only when the daily plan found a gain. - You can build the recommendation one time in each chat. To build it again, start a new chat. ## How do you build and run the plan? 1. On the Prescient AI screen, select **Build this plan**. The chat adds a plan card with one sentence that describes the plan. You cannot send a message until the card is there. While the card loads your channels and campaigns, the run button reads **Loading your media**. 2. Read the sentence. The sentence follows the order of the New plan form. It gives the models, the reference period, the planning period, the plan type, the goal, the budget, the spend flexibility, and the media in the plan. If the budget is far from your recent spend, or the target is far above the outcome with no change, a note below the sentence says so. The plan can still run. 3. To change a setting, select an underlined choice in the sentence. Each choice opens the matching part of the Media Forecaster form. The media choice opens the full form at its **Media** step. After a change, the card shows **Changed from the recommendation.** To undo each change, select **Back to the recommendation**. 4. To see each setting at once, select **Show all settings**. The card shows the full Media Forecaster form. Select **Hide settings** to return to the sentence. 5. Select **Run plan**. Media Forecaster creates the plan and starts the run. A run card shows the name of the plan, its settings, and its status. 6. Wait for the status **Ready**. You can continue the chat or leave the page while the plan runs. The card shows when the run started and how long a run of this kind takes. When the plan is ready, the results replace the run card. > **If a setting is not valid:** If the plan cannot run with its settings, the card highlights the settings that need a change. Open them, correct them, and select **Run plan** again. ## Which settings can you change in the sentence? You can change the models, the reference period, the planning period, the plan type, the goal, the budget, the spend flexibility, and the media. For what each one sets, see [Plan in the chat](https://docs.prescientai.com/reference/prescient-ai/plan-in-the-chat#settings-in-the-plan-sentence). Each setting works as it does in Media Forecaster. For the options and limits of each one, see [Plan settings](https://docs.prescientai.com/reference/media-forecaster/plan-settings). By default the plan type follows the planning period. A period of 42 days or more gives **Forecast**, and a shorter period gives **Optimization**. A plan type that you ask for in the chat is kept. ## What does the run card show? | Status | What it means | | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Queued in Media Forecaster** | The plan waits to start. | | **Optimizing in Media Forecaster** | An Optimization plan is running. The card also shows when the run started, and a line that reads **Usually {time}** with the time that a run of this kind takes. | | **Forecasting in Media Forecaster** | A Forecast plan is running. The card shows the same two lines as for an Optimization plan. | | **Still optimizing — taking longer than usual** | The run is longer than the usual time for a plan of this kind. For a Forecast plan the status reads **Still forecasting — taking longer than usual**. The plan continues to run if you leave the page. | | **This plan failed. Fix its settings and run it again in Media Forecaster.** | The plan failed. Select **Fix in Media Forecaster** to open the plan. | | **Ready** | The plan is complete. For a plan from the recommendation, the results replace the run card. For a plan that Prescient AI proposed, select **View results**. While the results load, the status reads **Ready · loading the results…**. | A word in braces stands for a value from your account or your plan. The run card has buttons to see the results, to continue in Media Forecaster, and to save the chat as a project. **Continue in Media Forecaster** opens the page of the plan, and you leave the chat. If the plan fails, that button reads **Fix in Media Forecaster**, and the card has no button to save the chat as a project. See [Fix a failed plan](https://docs.prescientai.com/media-forecaster/fix-a-failed-plan). If the results do not load, the card says so. Select **Try again** to load them again. For each button and message, see [Plan in the chat](https://docs.prescientai.com/reference/prescient-ai/plan-in-the-chat). ## What can you do when the plan is ready? - **Read the results.** The chat shows one card with a headline, two or three figures, the largest moves of budget, and next steps. Select **See full breakdown** for the **Media Breakdown** table of the plan. See [Visuals in an answer](https://docs.prescientai.com/reference/prescient-ai/visuals#plan-results) and [Read plan results](https://docs.prescientai.com/media-forecaster/read-plan-results). - **Ask about the plan.** Tap a follow-up pill below the results, or type a question about a row. - **Open the plan.** Select **Continue in Media Forecaster** for the full plan page. - **Track the goal.** Select **Save this chat as a project** to save the chat and get a weekly check of the plan against its goal. See [Track a goal](https://docs.prescientai.com/library/track-a-goal). ## Can Prescient AI propose a different plan? Yes. Ask for a plan in the chat, for example a plan for the next quarter with a target. Prescient AI answers with a plan card that works the same way. For such a plan, select **View results** on the run card to see the results. Only the newest plan card in a chat can run. An earlier card becomes a summary with the button **Build in Media Forecaster**. # Fix a broken connection Source: https://docs.prescientai.com/prescient-ai/fix-a-broken-connection > How to use the Prescient AI screen to learn why a data connection stopped, how to open its setup to repair it, and what the notes about connections and models mean. When a data connection stops, the figures that use it read low until the connection works again. The Prescient AI screen puts a broken connection in the greeting, so that you see it when you sign in. ## Which connections does the screen show? The screen shows two kinds of broken connection. - **A connection that you can repair.** The greeting has one row for the connection, with the buttons **Why?** and **Fix in Data Center**. A login that expired is one example. - **A connection with no fix on your side.** The product has no fix that you can make for this failure. The greeting has a short note, with no button. The note says that the connection stopped syncing, that Prescient is looking into it, and that Prescient will reach out if it needs anything from you. A note of the second kind shows after the failure has lasted 24 hours, because a connection often recovers at its next sync. A failure with no recorded start time shows at once. ## How do you repair a connection? 1. Open **Prescient AI** from the sidebar and find the row for the connection in the greeting. 2. To learn the cause, select **Why?**. The chat sends a question about the connection. The answer explains why the connection stopped and what to do. 3. Select **Fix in Data Center**. Data Center opens the setup of that connection. 4. Follow the steps in the setup to connect the source again. For the steps of each connection method, see [Fix a channel that needs attention](https://docs.prescientai.com/data-center/fix-a-channel-that-needs-attention). > **Who can repair a connection:** The setup of a connection is for an Admin of your workspace. If you cannot change the connection, ask an Admin on your team. For the two roles, see [Roles and members](https://docs.prescientai.com/reference/account/roles-and-members). ## What do the notes about models mean? The greeting can also have a note about a model. A note shows when a model did not complete its last run, when a model has no modeled data, or when the last modeled day of a model is old. The note says that Prescient is checking the model. A model can be behind because one of your data sources stopped delivering. So also check the connection rows on this screen, and the state of your channels in [Data Center](https://docs.prescientai.com/data-center/check-status-and-data-freshness). A daily model is behind when its last modeled day is 10 or more days old. A weekly model is behind at 21 or more days. # Find an earlier chat Source: https://docs.prescientai.com/prescient-ai/find-an-earlier-chat > How to open a past conversation with Prescient AI from History, start a new chat, and keep a conversation for your team. Prescient AI keeps each of your chats. You open a past chat from the **History** button in the page header. ## How do you open an earlier chat? 1. Open **Prescient AI** from the sidebar. 2. Select **History** in the page header. The menu **Recent chats** lists your chats, with the most recent activity first. 3. Select a chat. The title of a chat is the start of your first message. A chat that starts with a plan from the recommendation has a title that starts with **Plan:** and gives the name of the plan. A chat that you open again shows its messages. It does not show the greeting and the recommendation card of the day on which you started it. ## How do you start a new chat? Select **New chat** in the page header. A new chat opens with the Prescient AI screen of today. ## What are the rules for chats? | Rule | Value | | ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | | Recent chats | The 50 chats with the most recent activity. The page reads the list when it loads, so a new chat shows in the list after the next load of the page. | | Chat title | The first 80 characters of your first message. | | Who can open a chat | Only the person who started the chat. To show a chat to your team, save it to the Library as a shared item. | | Controls that a chat does not have | A chat has no control to rename the chat, delete the chat, copy an answer, or rate an answer. | A chat that you just started shows in **History** after the next load of the page. For each limit of a chat, see [Chat reference](https://docs.prescientai.com/reference/prescient-ai/chat#limits). ## How do you keep a conversation for your team? A chat is private to you, and you cannot rename it. To keep a conversation with a title of your choice, or to show it to your team, select **Save to library**. See [Save a conversation](https://docs.prescientai.com/library/save-a-conversation). # Where the daily recommendation comes from Source: https://docs.prescientai.com/prescient-ai/daily-recommendation > An explanation of the plan behind the recommendation card, when the card appears, which rows it lists, and what the Last week pill compares. The recommendation card is not written for the screen. It is a summary of a real Media Forecaster plan. This page explains which plan that is, what the card selects from it, and how the screen selects the **Last week** pill. The capture shows the card of the daily recommendation with a row for each channel. ![The daily recommendation card with a revenue gain, four channel rows, and the Build this plan pill below it.](https://docs.prescientai.com/_astro/daily-recommendation.BazTmbLV_Z2qnG3z.webp) ## Which plan does the card summarize? Media Forecaster runs one plan for your workspace each day with default settings. The card quotes the plan of today when that plan is complete. If the plan of today is not complete, the card quotes the most recent complete daily plan. The last line of the card says so: it names the daily plan of Media Forecaster and its default settings, and links to Media Forecaster. The same recommendation is at the top of the [Media Forecaster](https://docs.prescientai.com/media-forecaster) page. The plan covers the next 4 weeks when your models are weekly, and the next 30 days when your models are daily. ## When does the card appear? The card appears only when the plan found a gain. Two conditions must be true. - The plan expects more of your outcome than the baseline. - One or more channels gain from more spend. When the plan finds no gain, the screen has no card and no **Build this plan** pill. The closing line then asks what you want to look at. ## Which rows does the card list? The card lists the rows where more spend gives more of the outcome. It does not list a row whose gain comes from less spend, because the card recommends where to add budget. - Up to 3 rows that gain, with the added spend and the expected return of each. - 1 row with the label **biggest cut**, the row from which the plan takes the most spend. - One line for the other rows together, when their share of the gain is large enough to matter. The rows and that line add up to the gain at the top of the card. When your workspace has campaign rows, a control on the card changes the list between channels and campaigns. > **The same spend, or a different spend:** The card says that the spend is the same only when the spend of the plan equals the spend of the baseline after rounding. In other cases the card shows the spend before and after. ## Why are the figures modeled figures? The gain on the card is the difference between two forecasts of the same models: the forecast of your current mix and the forecast of the recommended mix. It is not a reported figure and not a promise. For the full explanation, see [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built). ## What does the Last week pill compare? One reply pill has the label **Last week**. The pill names the channel, or the tactic, whose modeled outcome changed most from one week to the next, with the change as a percentage. The screen selects the row by the size of the change in the outcome, not by the percentage. A small channel that doubles does not come before a large channel that falls by a tenth. | Rule | Value | | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------- | | Last week pill | The pill shows the channel or tactic whose modeled outcome changed most in absolute terms. A row needs a change of 0.5% or more. | | Last week, daily models | The 7 days up to the last modeled day, compared with the 7 days before. | | Last week, weekly models | The last complete model week, compared with the week before. | The comparison uses your main target. The main target is revenue when your workspace has a revenue model, and the first target of your models in other cases. ## Why does the screen look different for each workspace? Each part of the screen depends on data. The connection rows, the notes about models, the card, the row list, and each pill appear only when the data supports them. # Library Source: https://docs.prescientai.com/library > What the Library holds, who can read a saved item, and which guide to read to save, share, export, or track a conversation. The Library keeps conversations with [Prescient AI](https://docs.prescientai.com/prescient-ai) that you or your team chose to save. A saved item is a copy of a conversation at one moment, with its answers, charts, and tables. You can read it later, share it with your team, export it as a PDF, or run its questions again with new data. The capture shows the **Library** page before an item is saved. ![The Library page with the message Nothing saved yet and the Start a conversation button.](https://docs.prescientai.com/_astro/library-empty.BIwvLwda_Z2iPgiW.webp) To open the Library, select **Library** below **Prescient AI** in the sidebar. These pages use two words. A chat is the live conversation in Prescient AI. A saved conversation, or item, is the copy that the Library keeps. > **Words for your workspace:** These pages use the word workspace for the unit that holds your data and your team. Some screens of the product say organization. The two words mean the same thing. See [Workspaces and organizations](https://docs.prescientai.com/account/workspaces). ## What is in the Library? The Library page shows one card for each item. A card has the title, a **Private** or **Shared** badge, the description, the number of messages, the person who saved it, and the date. | Tab | What it lists | | ------------------------ | -------------------------------------------------- | | **All ({n})** | Each item that you can open. | | **Mine ({n})** | Each item of which you saved one or more versions. | | **Shared with me ({n})** | Each shared item that a different person saved. | A word in braces stands for a value from your account or your plan. The search field reads the title, the description, and the name of the person who saved the item. ## Who can read a saved item? You select the visibility when you save. | Visibility | Who can read the item | | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | | **Private** | The default. The dialog says that only you and Prescient staff can open the item. | | **Shared with your team** | The dialog says that anyone in the workspace can read the item. A reader can also export it, copy its link, and run it again. | The table gives what the save dialog says. The dialog states that Prescient staff can also open a private item. Only the person who saved an item sees the controls to change its details or remove it. ## What is a project? When a chat contains a Media Forecaster plan that can be tracked, the save dialog has the title **Save as a project**. Such a plan is one that a person created and that you can open, for example a plan of a teammate whose results the chat shows. The daily recommendation is not such a plan. A project is a saved item with a plan. You can track the plan to its goal, with a check each Monday of how the plan paces. See [Track a goal](https://docs.prescientai.com/library/track-a-goal). ## Guides [Save a conversation](https://docs.prescientai.com/library/save-a-conversation): Keep a chat with a title, a description, and a visibility. [Track a goal](https://docs.prescientai.com/library/track-a-goal): Save a chat as a project and get a weekly check of the plan. [Share and export](https://docs.prescientai.com/library/share-and-export): Share an item with your team, copy its link, or export a PDF. [Run a saved conversation again](https://docs.prescientai.com/library/run-again): Ask the same questions with the data of today and save a new version. [Edit or remove an item](https://docs.prescientai.com/library/edit-or-remove-an-item): Change the title, the description, or the visibility, or delete the saved copy. For exact values, see [Library reference](https://docs.prescientai.com/reference/library/library). For the ideas behind a saved item and the pace of a goal, see [Saved items and goal pacing](https://docs.prescientai.com/library/saved-items-and-goal-pacing). ## Reference The reference pages of the Library are in the **Reference** tab. Each page lists the exact labels, options, limits, and messages of one screen. - [Library reference](https://docs.prescientai.com/reference/library/library): the Library page, the item page, the save dialog, and a tracked goal. For the meaning of a term, see the [Glossary](https://docs.prescientai.com/reference/glossary). # Save a conversation Source: https://docs.prescientai.com/library/save-a-conversation > How to save a Prescient AI chat to the Library with a title, a description, and a visibility, and what the saved copy contains. You save a conversation from the chat. The Library keeps a copy of the conversation as it is at that moment. ## How do you save a conversation? 1. In a Prescient AI chat, select **Save to library** in the page header. The button is available after the chat has a message and while no answer is in progress. 2. Check the **Title**. When the chat contains a plan that can be tracked, the title starts as the name of that plan. For other chats the title starts as your first message. A chat with no plan and no typed message starts with the title **Untitled conversation**. Change it to a title that your team can recognize. 3. Optional: type a **Description** that tells a reader what to know first. 4. Select a **Visibility**. **Private** keeps the item to you. **Shared with your team** lets each person in your workspace read it. **Private** is the default, and you can change the visibility later. 5. Select **Save**. A message confirms the save. Select **Open** in the message to go to the saved item. > **A save is a copy:** The saved item does not change when you continue the chat. To keep later messages, save the chat again. ## What does the confirmation say? | Message | What it means | | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | **Saved to your library** | The conversation is in the Library. | | **Saved as a project** | The conversation is in the Library and contains a plan that can be tracked. | | **Saved as a project · tracking your goal** | The conversation is in the Library and the weekly check-ins started. | | **Saved · this chat already tracks that goal** | An earlier save of this chat tracks the same plan. The new save did not start a second set of check-ins. | | **Saved as a new version** | The chat came from **Run again with today's data**. The save added a version to the item. | | **Saved, but goal tracking didn't start** | The conversation is in the Library. The toast gives the reason why the check-ins did not start. | If the chat contains a plan that is still running, and you keep the tracking selected, the confirmation says that the chat is saved as a project and that the check-ins start when the plan is ready. ## What are the limits of a save? A title is necessary and has up to 120 characters. A description has up to 500 characters. A conversation of more than 1.5 MB cannot be saved. For each rule and each error message, see [Library reference](https://docs.prescientai.com/reference/library/library#rules-of-a-save). ## What if the chat contains a plan? If the chat contains a Media Forecaster plan that can be tracked, the dialog has the title **Save as a project** and one more option, to track the plan to its goal. The plan can be your plan or the plan of a teammate that you can open. See [Track a goal](https://docs.prescientai.com/library/track-a-goal). # Track a goal Source: https://docs.prescientai.com/library/track-a-goal > How to save a chat with a Media Forecaster plan as a project, start a weekly check of the plan against its goal, read a check-in, and stop the tracking. A project is a saved chat that contains a Media Forecaster plan. When you track the plan to its goal, Prescient AI checks each Monday how the plan paces and records the result. ## Before you start - The chat must contain a plan that a person created and that you can open: a plan that was run from the chat, or a plan whose results the chat shows. The plan can be the plan of a teammate. - A plan whose results the chat shows must have a modeled outcome above zero. - The daily recommendation cannot be tracked. Build it as your own plan first. See [Build the recommended plan](https://docs.prescientai.com/prescient-ai/build-the-recommended-plan). ## How do you start the tracking? 1. In the chat, open the save dialog. Select **Save this chat as a project** on the run card of the plan, **Save & track** on the results of the plan, or **Save to library** in the page header. Each one opens the same dialog, with the title **Save as a project**. 2. Set the title, the description, and the visibility. 3. Keep the checkbox that starts with **Track** selected. The checkbox names the plan. It is selected by default. Clear it to save the chat without tracking. 4. Select **Save**. If the plan is still running, the tracking starts when the plan is ready. If the plan is ready, the tracking starts at once. The goal uses the modeled outcome of the plan. The actual outcome in a check-in is also a modeled figure: the outcome that your models attribute to the campaigns of the plan. > **One track for each plan:** If an earlier save of the same chat already tracks the plan, the checkbox is not available. The new save does not start a second set of check-ins. ## Where do you see the check-ins? A check-in appears in two places. - **On the project.** Open the project in the Library. The panel at the top shows the goal, a badge with the pace, a progress bar, and the list of check-ins. - **In the chat.** Each check-in is also a message in the chat that created the plan. The chat moves to the top of **Recent chats**. The first check-in comes on the Monday after the plan starts. A check-in gives the pace, the actual outcome and the expected outcome to date, the channel with the largest difference, and the goal. ## What does the badge mean? | Badge | What it means | | ------------------------ | ------------------------------------------------------------------------------- | | **Waiting for the plan** | The plan is not complete. The check-ins start when the plan is ready. | | **Not started** | The plan has not reached its first full period, so there is nothing to compare. | | **On track** | The actual outcome to date is within 5% of the expected outcome to date. | | **Ahead of plan** | The actual outcome to date is more than 5% above the expected outcome to date. | | **Behind plan** | The actual outcome to date is more than 5% below the expected outcome to date. | The progress bar shows the actual outcome toward the goal. A marker on the bar shows where the plan expected to be by now. ## How do you stop the tracking? Open the project and select **Stop tracking** on the panel. The check-ins so far stay on the project. Only the person who saved the project can stop the tracking. The tracking also ends without an action from you. The check-ins continue each Monday until the first Monday that is 7 or more days after the planning period ends. If a person deletes the plan in Media Forecaster, the check-ins stop at the next Monday. The line below the goal then reads **Tracking was stopped.** ## What if the tracking does not start? The chat is saved, and the confirmation reads **Saved, but goal tracking didn't start**. A line below it gives the reason: the plan failed, the plan was deleted, the plan has no modeled outcome, or the project already tracks a goal. For each reason, see [Library reference](https://docs.prescientai.com/reference/library/library#reasons-why-the-tracking-does-not-start). For each rule of the tracking, see [Library reference](https://docs.prescientai.com/reference/library/library#rules-of-the-tracking). # Share and export Source: https://docs.prescientai.com/library/share-and-export > How to share a saved item with your team, copy the link to an item, and export an item as a PDF report. A chat is private to you. The Library is the way to show a conversation to other people: as a shared item in the product, as a link, or as a PDF. ## How do you share an item with your team? An item is shared when its visibility is **Shared with your team**. Each person in your [workspace](https://docs.prescientai.com/account/workspaces) can then find the item on the Library page, under **Shared with me**. - **At the save.** Select **Shared with your team** in the save dialog. - **After the save.** Open the item, open the **More actions** menu, and select **Edit details**. Turn on **Shared with your team**, then select **Save changes**. Only the person who saved an item can change its visibility. ## How do you send a link? 1. Open the item in the Library. 2. Open the **More actions** menu and select **Copy link**. A message confirms the copy and tells you who can open the link. If the browser refuses the copy, the message **Couldn't copy the link** shows the address, so that you can copy it by hand. 3. Send the link to a person in your workspace. > **A link does not share the item:** The confirmation for a private item says that only you can open the link. Share the item first if a different person must open it. ## How do you export a PDF? 1. Open the item in the Library. 2. Select **Export PDF**. A print view of the item opens in a new tab, and the print dialog of the browser opens. 3. In the print dialog, select the option to save as a PDF. The PDF is a report, not a picture of the chat. Each question of the conversation is a numbered heading, with its answer below. | Part | What it contains | | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | | Header | The name of your workspace, the title of the item, the person who saved it, and the date and time. A version of 2 or higher also shows its version number. | | Sections | One numbered section for each question, with the question as the heading and the answer below. | | Footer | The lines **Prepared for**, **Saved**, **Sources**, and **Model**, and a note that the figures are the data at the time of the save. | The header shows a version number only for version 2 or higher. The amounts in the report use the display currency of your workspace. See [Change the display currency](https://docs.prescientai.com/account/change-display-currency). ## Who can do what? Each person who can read an item can copy its link, export it, and run it again. Only the person who saved the item can edit its details or remove it. # Run a saved conversation again Source: https://docs.prescientai.com/library/run-again > How to ask the questions of a saved item again with the data of today, and how the Library keeps the result as a new version of the item. A saved item shows the data of the day on which it was saved. To see the same analysis with current data, run the saved conversation again and save the result. The Library keeps the result as a new version of the same item. ## How do you run a saved conversation again? 1. Open the item in the Library. 2. Open the **More actions** menu and select **Run again with today's data**. A new chat opens in [Prescient AI](https://docs.prescientai.com/prescient-ai). The message box contains the questions of the saved conversation. The menu does not have this item when the saved conversation has no typed question. 3. Read the text in the message box and change it if you want. The text is not sent until you send it. 4. Send the message and wait for the answer. 5. Select **Save to library** and save the chat. The confirmation says **Saved as a new version**. > **Long conversations:** The message box receives up to 2,000 characters of your questions. For a longer conversation, check that the text contains each question that you need. ## Where are the versions? The Library page shows one card for the item, with its newest version. When an item has two or more versions, the line below the title on the item page shows **Version {n}** and a link to each other version with its date. An item with one version shows no version number. The text {n} stands for the number. A version does not replace an earlier version. Each version keeps its own answers and the name of the person who saved it. ## Who can run an item again? Each person who can read the item. If a teammate runs your shared item again and saves the result, the new version shows the name of the teammate. # Edit or remove an item Source: https://docs.prescientai.com/library/edit-or-remove-an-item > How to change the title, the description, or the visibility of a saved item, and how to delete a saved item from the Library. You can change the details of an item that you saved, and you can remove the item. You cannot change the saved conversation. Only the person who saved an item sees **Edit details** and **Remove from library** in the **More actions** menu. ## How do you edit the details? 1. Open the item in the Library. 2. Open the **More actions** menu and select **Edit details**. 3. Change the **Title**, the **Description**, or the visibility. The switch reads **Shared with your team** when it is on and **Private to you** when it is off. 4. Select **Save changes**. ## How do you remove an item? 1. Open the item in the Library. 2. Open the **More actions** menu and select **Remove from library**. 3. Select **Remove** to confirm. > **A shared item is removed for each reader:** When you remove a shared item, the saved copy is deleted for each person who could read it. The removal deletes the saved copy only. Your chat stays in **Recent chats** in Prescient AI, and you can save it again. ## What does the product say? | Action | Text in the product | | ----------------------- | --------------------------------------------------------------------------------- | | **Edit details** | The saved conversation itself doesn't change. | | **Remove from library** | The saved copy is deleted. Your original conversation stays in your chat history. | # Saved items and goal pacing Source: https://docs.prescientai.com/library/saved-items-and-goal-pacing > An explanation of why a saved item is a fixed copy, how versions relate to it, and how the Library decides that a tracked plan is on track, ahead, or behind. Two ideas explain most of the Library. A saved item is a fixed copy, not a live view. A tracked goal compares the modeled outcome to date with the plan to date, not with the full goal. ## Why is a saved item a fixed copy? A chat changes each time you send a message, and the data behind an answer changes each day. A report that changes after you share it is not a reliable record. So the Library copies the conversation when you save. The copy holds the messages, the charts, and the tables as they were. Three things follow. - **The chat and the item are separate.** You can continue the chat, and the item stays the same. You can remove the item, and the chat stays in your history. - **The figures have a date.** An item shows the data of the day of the save. The exported PDF says so in its footer. - **The conversation cannot be edited.** You can change the title, the description, and the visibility of an item. You cannot change its answers. ## How do versions fit in? To bring an item up to date, you run it again. The questions go to a new chat, Prescient AI answers with the data of today, and the save adds a version to the same item. A version is a new fixed copy. It does not replace the earlier one. The item then holds a record of the same questions at two or more dates, each with the name of the person who saved it. This is the way to compare the same analysis over time. ## What is the goal of a tracked plan? The goal of a tracked plan is the outcome that the optimized plan expects over its whole planning period. The Library reads that value from the plan when the tracking starts and keeps it fixed. A later change in your data does not move the goal. The goal uses the modeled outcome of the plan, so its name starts with MMM in the product, for example an MMM revenue figure. ## How does a check-in judge the pace? A check-in does not ask whether you reached the goal. It asks whether you are where the plan expected you to be by now. Each Monday the check-in adds up two figures from the start of the plan to that day. - **Expected to date.** The values of the plan for each day or week that has passed. - **Actual to date.** The outcome that your models attribute to the campaigns of the plan in the same days or weeks. This is a modeled figure, not a reported figure. The spend in a check-in is your reported spend. The pace is the difference between the two, as a percentage of the expected figure. | Rule | Value | | ------------- | ---------------------------------------------------------------------------------------------------------------------------- | | On track band | 5% above or below the expected outcome to date. | | Check-in day | Each Monday at 14:00 UTC. | | Last check-in | The last check-in is on the first Monday that is 7 or more days after the planning period ends. The tracking then completes. | A plan that is within 5% of its expected figure is **On track**. More than 5% above is **Ahead of plan**. More than 5% below is **Behind plan**. Before the plan reaches its first full period, there is nothing to compare, and the badge reads **Not started**. > **The same rules as the plan page:** A check-in uses the same pacing rules as the **Actual to date** figures on the plan page in Media Forecaster. A difference of 8% in a check-in is the same 8% that the plan page shows. See [Read plan results](https://docs.prescientai.com/media-forecaster/read-plan-results). ## Why does the plan follow its own shape? The expected figure follows the plan, period by period. A plan that spends more in its later weeks expects less in its early weeks. The check-in compares your early weeks with those lower values, not with an even share of the goal. ## What does a check-in name? A check-in names the pace, the two figures, and the channel with the largest difference from the plan. It says whether that channel is a gap or a lift. This tells you where to look first when a plan is behind. # Model Center Source: https://docs.prescientai.com/model-center > What Model Center shows about your marketing mix models, what you can and cannot do there, and which guide to read for each task. Model Center is where you check the marketing mix models behind your results. For each model, the page shows a **Model Accuracy** score, how the modeled totals compare with your reported totals, and the last date that the model has results for. The capture shows the Model Center overview, with the summary cards and a card for each model. ![The Model Center overview with six summary cards and a card for each of two models.](https://docs.prescientai.com/_astro/overview.BO23jRlX_ZmC6oH.webp) To open Model Center, select **Model Center** in the sidebar. ## What does Model Center answer? Model Center answers three questions about your models. - What is the **Model Accuracy** score of each model, on a scale from 0 to 100? - How closely do the modeled values follow the values that your sources reported? - How current is each model? ## What is on the overview? The overview has a summary strip and one card for each model. Two selectors in the page header set what the page shows: the target, for example revenue, and the period. | Summary tile | What it shows | | ------------------------ | ---------------------------------------------------------------------------------------------------------------- | | **Active Models** | The number of models that serve the selected target. | | **Avg Accuracy** | The mean **Model Accuracy** of the models that have a **Default** config. | | **Total {target}** | The total of the reported values for the selected period. | | **Total Modeled** | The total of the modeled values for the selected period. | | **Spend** | The total media spend for the selected period. | | **Overall {efficiency}** | The efficiency of the selected target for the period. The metric depends on the target, for example ROAS or CAC. | A word in braces stands for a value from your account or your plan. Each card shows one model. A model measures one target for one channel. The figures that the models attribute to your spend are in [Attribution](https://docs.prescientai.com/attribution). | Card field | What it shows | | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Model Accuracy** | The fit of the model for the selected period, from 0 to 100, with 1 decimal. It is the same figure as **MMM Fit** in the **Current Fit** view of the detail page. A dash shows when no score exists. | | **Modeled {target}** | The total that the model predicted for the selected period. | | **Observed {target}** | The total that your sources reported for the selected period. | | **Spend** | The total media spend of all channels for the selected period. | | **Channels** | The number of media channels for the selected period. | | **Granularity:** | **Daily** or **Weekly**. The time unit of the data of the model. | | **Updates:** | **Daily** or **Weekly**. The card shows the same value as **Granularity:**. | | **Modeled through: {date}** | The last date that the model has results for. A dash shows when the model has no results. | A word in braces stands for a value from your account or your plan. Select a card to open the detail page of that model. ## What is on a detail page? A detail page shows one model in two tabs. | Tab | What it shows | | ---------------- | ----------------------------------------------------------------------------------------- | | **Model Health** | The fit of the model against reported results. The page opens on this tab the first time. | | **Attribution** | The Attribution sections for this one config. | The detail page also has the **Compare configs** button. When a model has more than one config, the page has a config selector too. Read [Configs and the Preference Score](https://docs.prescientai.com/model-center/configs-and-the-preference-score) for what a config is. ## What can you change in Model Center? Model Center is a place to read your models. You can change what the page shows: the target, the period, the config, and the tab. > **Your Prescient team builds the models:** Model Center has no control to set the default config of a model, to publish a model, or to start a new run of a model. Your Prescient team builds the models. ## Next steps - [Check how accurate a model is](https://docs.prescientai.com/model-center/check-model-accuracy): read the **Model Accuracy** score of each model. - [Read the health of a model](https://docs.prescientai.com/model-center/read-model-health): use the **Current Fit** view and the **Backtest** view. - [Find how current a model is](https://docs.prescientai.com/model-center/find-how-current-a-model-is): read the **Modeled through** date and the run status. - [See the attribution of one model](https://docs.prescientai.com/model-center/see-model-attribution): open the Attribution results of one config. - [Compare two configs](https://docs.prescientai.com/model-center/compare-two-configs): use Model Comparison. For the ideas behind the scores, see [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit). ## Reference The reference pages of Model Center are in the **Reference** tab. Each page lists the exact labels, options, limits, and messages of one screen. - [Overview reference](https://docs.prescientai.com/reference/model-center/overview): the overview page: the header, the summary strip, the model cards, and the empty states. - [Model Health reference](https://docs.prescientai.com/reference/model-center/model-health): the detail page of a model and its **Model Health** tab. - [Model Comparison reference](https://docs.prescientai.com/reference/model-center/model-comparison): the Model Comparison page: selectors, timeframes, the selection criteria, and the results sections. For the meaning of a term, see the [Glossary](https://docs.prescientai.com/reference/glossary). # Check how accurate a model is Source: https://docs.prescientai.com/model-center/check-model-accuracy > Find the Model Accuracy score of each model on the Model Center overview, and compare the modeled total with the observed total. The **Model Accuracy** score on each card of the Model Center overview tells you how closely that model follows your reported results in the selected period. The score runs from 0 to 100, and a higher score is better. It is the same figure as **MMM Fit** on the detail page of the model. The capture shows one model card of the overview, with **Model Accuracy** at the top left. ![A model card with a Model Accuracy score of 90.0, modeled and observed revenue, a chart, and the inputs.](https://docs.prescientai.com/_astro/model-card.BqlLTT5l_ZMwjkP.webp) In a label on this page, a word in braces is a value from your account. The target is the outcome that the model measures, for example revenue. ## Find the score of each model 1. Select **Model Center** in the sidebar. 2. In the page header, select the target that you want to check. The overview shows one card for each model of that target. 3. In the page header, select the period. The period sets the dates for the score, the totals, and the chart on each card. 4. Read **Model Accuracy** on each card. The score has a color. See the table that follows. | Color | Score | When it shows | | ------ | ------------------ | ----------------------------------------- | | Green | 70 or more | The score is 70 or more. | | Orange | 60 to less than 70 | The score is 60 or more and less than 70. | | Red | Less than 60 | The score is less than 60. | ## Compare the score with the totals The score is one number. The two totals next to the score show how far the model is from your reported results in the selected period. 1. On a card, read **Modeled {target}**. This value is the total that the model predicted. 2. Read **Observed {target}**. This value is the total that your sources reported. 3. Look at the chart on the card. The solid line is the reported value. The dashed green line is the modeled value. When the two lines stay close together, the model follows your reported results in that period. ## Read the average for a target The **Avg Accuracy** tile in the summary strip gives the mean score of the models of the selected target. > **Which models are in the average:** The average includes only the models that have a **Default** config. A model without a **Default** config is not in the average. ## If a card has no chart A card shows a message when the card cannot draw a chart for the selected period. | Message | What to do | | ------------------------------- | -------------------------------------------------------------------------------------------------- | | **Not enough history to chart** | The model has fewer than 2 data points in the selected period. Select a longer period. | | **No fit data for this period** | The model has results, but none of the results are in the selected period. Select a longer period. | | **No modeled data yet** | The model has no results yet. | ## Check a model on dates that it did not train on The score on a card is for a period that includes data that the model learned from. For a score on dates that a model did not train on, open the model and read **Non-trained Accuracy** in the **Backtest** view. See [Read the health of a model](https://docs.prescientai.com/model-center/read-model-health#read-the-backtest-view). ## Next steps - [Read the health of a model](https://docs.prescientai.com/model-center/read-model-health): see the fit of one model in detail. - [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit): learn what each score measures. # Read the health of a model Source: https://docs.prescientai.com/model-center/read-model-health > Open one model, switch between the Current Fit view and the Backtest view, and read the metrics and the chart of each view. The **Model Health** tab of a model shows how closely the model follows your reported results. The tab has two views. **Current Fit** shows the current model through its latest date. **Backtest** shows a separately trained model, with a score for the dates that the model did not train on. The capture shows the **Model Health** tab in the **Current Fit** view. ![The Current Fit view with an MMM Fit score of 90.0 and a chart of reported and modeled revenue.](https://docs.prescientai.com/_astro/health-current-fit.BgfR1DSl_Zab14l.webp) In a label on this page, a word in braces is a value from your account. ## Open the Model Health tab 1. Select **Model Center** in the sidebar. 2. Select the card of the model. The detail page opens on the tab that you used last. The first time, it opens on **Model Health**. Select **Model Health** if a different tab shows. The tab opens in the **Current Fit** view. 3. In the page header, select the period that you want to read. ## Read the Current Fit view Use **Current Fit** to see how the model that produces your results today follows your reported totals. 1. Read **MMM Fit**. The value runs from 0 to 100, and a higher value is better. 2. Compare **Modeled {target}** with **Observed {target}**. The first is the total that the current model predicted. The second is the total that your sources recorded. 3. Read the chart. The **Reported** line is what your sources reported. The **Modeled** line is what the model predicted. When the model has them, the chart also shows a **50% interval** band and a **95% interval** band around the modeled line. The label of the wider band can read **Interval**. ## Read the Backtest view Use **Backtest** to see how a separately trained model does on dates that it did not learn from. 1. Select **Backtest** in the toggle above the metrics. 2. Read **Model Accuracy**. In this view, the value is the fit of the backtest model on the dates that it trained on. The value runs from 0 to 100, and a higher value is better. 3. Compare **Modeled {target}** with **Observed {target}**. The product says that the closer the modeled value is to the observed value, the more accurate the model is. 4. If the view shows **Non-trained Accuracy**, read that value. It is the score for the dates that the model did not train on: the most recent period of about 30 days. The value stays the same when you change the period. 5. If the view shows **Non-trained Forecast vs Observed**, compare the two values. The first is what the model forecast for that period. The second is what happened. 6. Hold the pointer over the chart to see the **Forecast** value and the **Reported** value for a date. > **The Backtest view ends earlier:** The **Backtest** view ends where the test period of the last backtest ends, so the view does not include the most recent weeks. A line under the chart gives the date when the backtest last ran. Use **Current Fit** to see the most recent weeks. ## How do the two views differ? The two views cover different dates and use different models. For the diagram and the explanation, see [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit#why-does-the-backtest-view-end-earlier). ## If a view has no data - **Current Fit** shows **No fit data available for this configuration.** when the config has no fit data. - **Backtest** shows **No backtest results available yet.** when the config has no backtest. For **Current Fit**, select a longer period. ## Next steps - [Model Health reference](https://docs.prescientai.com/reference/model-center/model-health): each metric, chart series, and status. - [Compare two configs](https://docs.prescientai.com/model-center/compare-two-configs): see two configs of a model side by side. # Find how current a model is Source: https://docs.prescientai.com/model-center/find-how-current-a-model-is > Read the Modeled through date of a model and open the run status panel to see when the model last ran. The **Modeled through** date tells you the last date that a model has results for. You can read the date on the overview, on a detail page, and on the Attribution page. ## Read the date on the overview 1. Select **Model Center** in the sidebar. 2. Find the card of the model. 3. Read **Modeled through:** in the footer of the card. A dash in place of a date means that the model has no results yet. ## See when a model last ran The run status panel of a detail page shows the status and the times of the last run. 1. On the overview, select the card of the model. 2. In the header row of the detail page, hold the pointer over the help icon next to the config. The run status panel opens. 3. Read the rows of the panel. | Row | What it shows | | ---------------------- | -------------------------------------------------------------------------------------------------- | | **Last run** | The status of the last run. | | **Run started** | The start time of the run. The row shows only when a start time exists. | | **Est. finish** | The estimated finish time. The row shows only while a run is in progress. | | **Last run completed** | The time that the last run finished. The row shows **Not run** when no run finished. | | **Average runtime** | The average duration of a run. The row shows **Unknown** when no value exists. | | **Modeled through** | The last date that the model has results for. The row shows **Not available** when no date exists. | The **Last run** row shows **Completed**, **Running**, **Failed**, **Skipped**, or **Not run**. See [Run statuses](https://docs.prescientai.com/reference/model-center/model-health#run-statuses). ## Read the date from Attribution The Attribution page shows a **Modeled through** date in two places: next to the date range, and in the footer of the **Performance Table**. Each one is a link to Model Center. > **Granularity is not a schedule:** The **Granularity:** value on a card, **Daily** or **Weekly**, is the time unit of the data of the model. It does not tell you how often the model runs. To know how current a model is, read the **Modeled through** date. ## Next steps - [Read the health of a model](https://docs.prescientai.com/model-center/read-model-health): check the fit of the model through its latest date. - [Choose what Attribution shows](https://docs.prescientai.com/attribution/choose-what-the-page-shows): set the date range of the Attribution page. # See the attribution of one model Source: https://docs.prescientai.com/model-center/see-model-attribution > Open the Attribution tab of a model detail page to read the Attribution sections for one config, without the other models of your workspace. The **Attribution** tab of a model detail page shows the Attribution results of one config only. Use the tab when you want the figures of one model without the other models of your workspace. The capture shows the summary cards at the top of the **Attribution** tab of a model. ![Five summary cards of the Attribution tab, with Base and Halo figures below the MMM values.](https://docs.prescientai.com/_astro/attribution-summary.CGSt6MYe_1krkRf.webp) ## Open the Attribution tab 1. Select **Model Center** in the sidebar. 2. Select the card of the model. 3. If the model has more than one config, select the config in the header row. 4. Select the **Attribution** tab. ## What does the tab show? The tab shows the same sections as the Attribution page, for this one config: the summary cards, **Base & Halo Flows**, **Attribution Over Time**, and the **Performance Table**. The tab has no filter bar. The period comes from the period selector in the page header. The target is the target of the config that you opened. Each section works as it does on the Attribution page. For the cards and the columns, see these pages. - [Metrics and summary cards](https://docs.prescientai.com/reference/attribution/metrics) - [Attribution Over Time options](https://docs.prescientai.com/reference/attribution/attribution-over-time) - [Performance Table options](https://docs.prescientai.com/reference/attribution/performance-table) - [Base & Halo Flows options](https://docs.prescientai.com/reference/attribution/base-and-halo-flows) > **For filters and saved views, use the Attribution page:** To filter by channel, compare two periods, or save a view, open **Attribution** in the sidebar. See [Choose what the page shows](https://docs.prescientai.com/attribution/choose-what-the-page-shows). ## Next steps - [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures): why the page shows more than one figure for an outcome. - [Compare two configs](https://docs.prescientai.com/model-center/compare-two-configs): see how two configs of a model differ. # Compare two configs Source: https://docs.prescientai.com/model-center/compare-two-configs > Open Model Comparison, select two model configs, and read the Preference Score, the fit, and the modeled metrics of each one. Model Comparison shows two configs of your models side by side. Use it to see which config the comparison prefers and how the modeled results of the two configs differ. In a label on this page, a word in braces is a value from your account. The efficiency is the efficiency metric of the target, for example ROAS. ## Open Model Comparison Model Comparison has no item in the sidebar. Open it from one of two places. - On a model detail page in Model Center, select **Compare configs**. The comparison opens in a new browser tab, with the **Default** config as **Model A**. - On the Attribution page, open the **Model** control and select **Compare All Models**. This item shows only when your workspace has more configs than models. > **If the page has no comparisons:** The page shows **No comparisons available yet** when your workspace has no configs to compare. The message says that comparisons appear once your Prescient team has built comparable model configurations. ## Select the two configs 1. In the **Comparing Models** card, select a config in **Model A**. 2. Select a config in **Model B**. **Model B** lists first the configs that have a comparison with **Model A**. Other configs are under **Models in other comparison sets**. If you select one of them, the page changes **Model A** to a config that it can be compared with. If the page shows **No comparison models available for {model}.**, select a different config in **Model A**. 3. In the page header, select the target. 4. In the page header, select the timeframe. A timeframe that you cannot select has no comparison for the two configs. ## Read which config is preferred The **Model Selection Criteria** section shows one panel for each config. 1. Read the **Preference Score** of each config. The score runs from 0 to 100. 2. Find the **Recommended** badge. The badge is on the config that the comparison prefers. 3. Read the result under the panels: **Model A Preferred**, **Model B Preferred**, or **Equally Preferred**, with a short explanation. 4. Read the rows under **Additional Metrics** to see the criteria behind the score. See [Model Comparison reference](https://docs.prescientai.com/reference/model-center/model-comparison#additional-metrics). > **The comparison uses one model run:** Each panel shows **Run compared {date}**, the date of the model run that the comparison used. If the panel also shows **Latest run {date}**, the config has a later run, and the figures of the comparison describe the earlier run. Model Center shows the latest run. ## Read how the results differ 1. In **MMM Fit**, compare the **Model A** line and the **Model B** line with **Reported Total**. Select a series in the legend to hide or show the series. 2. In **MMM Metric Comparison**, read the value of each config and the **Difference** row. The difference is the change from **Model A** to **Model B**, as a percentage. 3. In **Historical {efficiency}**, read the modeled efficiency of each config by channel. The table has one group of columns for each timeframe. ## Next steps - [Model Comparison reference](https://docs.prescientai.com/reference/model-center/model-comparison): each section, criterion, and message. - [Configs and the Preference Score](https://docs.prescientai.com/model-center/configs-and-the-preference-score): what a config is and how to read the score. # Accuracy and fit Source: https://docs.prescientai.com/model-center/accuracy-and-fit > What Model Accuracy, MMM Fit, and Non-trained Accuracy each measure, and why the Backtest view ends earlier than the Current Fit view. Model Center shows three scores for a model. **MMM Fit** and **Model Accuracy** tell you how closely a model follows your reported results in a period that includes data that the model learned from. **Non-trained Accuracy** is the one score for dates that a model did not learn from. ## What does each score measure? Each score runs from 0 to 100, and a higher score is better. The difference is the model and the dates that each score uses. | Score | Where you see it | What the number is | | ------------------------ | ---------------------------------------------------- | --------------------------------------------------------------------------------------------------- | | **Model Accuracy** | Each card of the overview | The fit of the current model for the selected period. It is the same figure as **MMM Fit**. | | **MMM Fit** | The **Current Fit** view of the **Model Health** tab | How closely the predictions of the current model follow the reported totals in the selected period. | | **Model Accuracy** | The **Backtest** view of the **Model Health** tab | The fit of the backtest model on the dates that it trained on. | | **Non-trained Accuracy** | The **Backtest** view of the **Model Health** tab | The score of the backtest model for the most recent dates that it did not train on. | The product describes the scores in these words. | Score | Text in the product | | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | | **MMM Fit** | How closely your current model's predictions track reported totals over this window. Higher is better, on a 0 to 100 scale. | | **Model Accuracy** | An estimate of how accurately this model forecasts future performance, learned from your historical data. Higher is better, on a 0 to 100 scale. | | **Non-trained Accuracy** | Accuracy over the most recent \~30 days (about 4 weeks) the model did not train on. It stays fixed regardless of the date range above. | A model can follow the dates that it learned from closely and still do less well on new dates. To see how a model does on dates that it did not learn from, read **Non-trained Accuracy** in the **Backtest** view. ## What do in-sample and out-of-sample mean? The product uses two terms for the data behind each view. - **In-sample** data is data that the model has already seen. The model learned from this data, so a close match is expected. - **Out-of-sample** data is data that the model did not train on. A close match on this data shows that the model can predict, not only describe. The **Current Fit** view includes in-sample data. The **Backtest** view uses a separately trained model that did not train on the most recent period. In that view, **Model Accuracy** covers the dates that the backtest model trained on, and **Non-trained Accuracy** covers the dates that it did not train on. ## Why does the Backtest view end earlier? The two views cover different periods. - **Current Fit** (Ends on the latest modeled date): The current model, compared with reported totals. The period includes data that the model has already seen. - **Backtest** (Ends where the test period of the last backtest ends): A separately trained model, compared with reported totals. Its most recent period is data that it did not train on. Most recent period that the model did not train on, about 30 days. The two views of the Model Health tab. Current Fit runs to the latest modeled date. Backtest ends where the test period of the last backtest ends, which is earlier. **Current Fit** runs through the latest modeled date. **Backtest** uses a separate model run, and the view ends where the test period of that run ends. The most recent weeks are therefore only in **Current Fit**. A line under the **Backtest** chart gives the date when the backtest last ran. ## What is the non-trained period? The non-trained period is the most recent period of about 30 days, or about 4 weeks, that the backtest model did not train on. The **Backtest** chart has a marker with the label **Holdout** for this period. Two metrics of the **Backtest** view cover only this period. - **Non-trained Accuracy** is the score for the non-trained period. - **Non-trained Forecast vs Observed** shows what the model forecast for the period and what happened. These two metrics do not change when you select a different period in the page header. > **When the metrics do not show:** The two non-trained metrics show only when the backtest has a non-trained period. ## What do the colors of a score mean? The color of **Model Accuracy** and **MMM Fit** shows where the score falls. The colors are a quick guide to the number, and the number and the two views give the detail. For the limits of each color, see [Colors of the score](https://docs.prescientai.com/reference/model-center/overview#colors-of-the-score). ## What do Daily and Weekly mean on a card? **Granularity:** on a card is **Daily** or **Weekly**. It is the time unit of the data of the model. The product words this as how your data is grouped into time buckets. Granularity changes the periods that you can select. A daily model offers periods in days. A weekly model offers periods in weeks. See [Overview reference](https://docs.prescientai.com/reference/model-center/overview#periods). > **Granularity does not tell you how current a model is:** A card shows the same value after **Updates:** as after **Granularity:**. To know how current a model is, read the **Modeled through** date. See [Find how current a model is](https://docs.prescientai.com/model-center/find-how-current-a-model-is). # Configs and the Preference Score Source: https://docs.prescientai.com/model-center/configs-and-the-preference-score > What a model config is, what Default means, and how to read the Preference Score and the criteria that Model Comparison shows for two configs. A model can have more than one config. A config is one configuration of a model, and each config has its own results. Model Comparison puts two configs side by side and gives each one a **Preference Score**. In a label on this page, a word in braces is a value from your account. The efficiency is the efficiency metric of the target, for example ROAS. The prefix is a letter that comes from the target. ## What is the Default config? Each model card on the overview shows one config. When the model has a config with the name **Default**, the card shows that config. The **Avg Accuracy** tile also uses the **Default** config of each model. A card shows **Config** when the model has one config, and **Configs** with a count when the model has more. On a detail page, the config selector lists the configs with **Default** first. > **You cannot add or change a config in Model Center:** The names of the other configs come from your account. Model Center has no control to add a config or to make a different config the default. ## What is the Preference Score? The **Preference Score** is a number from 0 to 100 that Model Comparison gives to each of the two configs. The product says that the score measures model quality across different criteria. The config that the comparison prefers has the **Recommended** badge. The result under the two panels reads **Model A Preferred**, **Model B Preferred**, or **Equally Preferred**. The score is a summary. The rows under **Additional Metrics** show the criteria behind it. ## What do the criteria mean? Each panel lists four criteria. The names of two criteria start with a letter and **-MMM**. The letter comes from the target, for example R for a revenue target. | Criterion | Plain meaning | Better value | | -------------------- | ---------------------------------------------------------------------------------------------------------------- | -------------------------------- | | Fit | How well the model fits the reported total. | Nearer to 100 | | Expectedness | How typical the efficiency values of the model are, compared with an industry average. | Nearer to 1 | | Outliers | Whether the model has an efficiency value far outside the normal range for a channel. | **No outliers** | | Paid % within bounds | The paid percentage of the model. The product calls a value roughly above 30% and not more than 100% reasonable. | Above 30% and not more than 100% | Expectedness is the least familiar of the four. A value near 1 means that the results of the model are standard and expected. A value near 0 means that the results are unusual. A criterion can show **NA** in place of a number. For the tooltip that the product gives for the score and for each criterion, see [Tooltips of the criteria](https://docs.prescientai.com/reference/model-center/model-comparison#tooltips-of-the-criteria). ## What do the colors of the criteria mean? Each value has a color that shows where the value falls. For example, the fit value is green at 85 or more. For each color and its limits, see [Colors of the values](https://docs.prescientai.com/reference/model-center/model-comparison#colors-of-the-values). ## Which run does a comparison describe? A comparison uses one run of each config. Each panel shows the date of that run as **Run compared**. If a config has a later run, the panel also shows **Latest run** with its date. The figures of the comparison still describe the earlier run. To read the latest run of a config, open the config in Model Center. ## Next steps - [Compare two configs](https://docs.prescientai.com/model-center/compare-two-configs): open Model Comparison and read the result. - [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit): the two scores of a single model. # Data Center Source: https://docs.prescientai.com/data-center > What Data Center is for, what each of its three tabs holds, who can change a connection, and which guide to read for each task. Data Center is where you tell Prescient which channels to measure and where you connect the data of each channel. The page also shows the state of each connection, how recent the data is, and the tactic of each advertising campaign. The capture shows the **Channels** tab, with the toolbar and the table of channels. ![The Channels table with a row for each of twelve channels and the columns from Connector to Data QA.](https://docs.prescientai.com/_astro/channels-table.Cd4qzEg0_Z1xhLQT.webp) To open Data Center, select **Data Center** in the sidebar. ## What do you do in Data Center? The diagram shows how the data of one channel reaches your reports. You add the channel, you connect it, Data Center shows its status and its dates, and you label its campaigns. 1. **Channel** (You add): A platform, a store, or a media type that you measure. A new channel has the status Not connected. 2. **Connection method** (You connect): How the data arrives: a hosted connect card, a sign-in with the provider, Google Sheets, or a warehouse or file integration. 3. **Status and dates** (Data Center shows): The state of the connection, the date of the most recent data, and the Data QA approval. 4. **Tactics** (You label): A tactic for each advertising campaign, so that Attribution can group campaigns by tactic. How the data of one channel reaches your reports. An Admin does the first two stages. An Admin and a Viewer can each do the last stage. ## What are the three tabs? The page has three tabs. The **Channels** tab opens first. | Tab | What it holds | | ---------------- | ----------------------------------------------------------------------------------------------------------------- | | **Channels** | The channels that you measure, with the status, the dates, and the actions of each channel. This tab opens first. | | **Integrations** | The shared credentials for data that you supply from BigQuery, Snowflake, SFTP, or Azure Blob Storage. | | **Tactics** | Your advertising campaigns, each with the tactic that you give it. | The column for the name of a channel has the header **Connector**. These docs call each row a channel. For the three terms that the page uses, see [Channels, integrations, and connection methods](https://docs.prescientai.com/data-center/channels-integrations-and-connection-methods). ## Who can change a connection? An Admin and a Viewer can each open Data Center and read each tab. Only an Admin can add, connect, or remove a channel. | Action | Role | Notes | | ------------------------------------------------------------------------------------ | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | See the tabs, the tables, the statuses, and the dates | Admin and Viewer | An Admin and a Viewer can each read Data Center. | | Label campaigns with tactics and save the labels | Admin and Viewer | The **Tactics** tab lets each person stage and save tactic labels. | | Copy a setup link | Admin and Viewer | The link opens the setup dialog of one channel. The person who opens the link needs an Admin role to connect the channel. | | Add a channel or an integration | Admin | **Add channel** and **Add integration** show only for an Admin. | | Connect, reconnect, or change the credentials of a channel | Admin | The row menu shows for each person. For a Viewer, the setup dialog opens, and Data Center refuses the change with a permission message. | | Use the **Manage** menu of a hosted connect card: sync, pause, resume, or disconnect | Admin | A Viewer who uses an item gets a permission message. | | Start a sync, add a data patch, or remove a channel | Admin | The row menu shows for each person. A Viewer who uses an item gets a permission message. The **Data patch** dialog opens for a Viewer, and Data Center refuses the save. | | Add, rename, or delete a custom tactic | Admin | **Manage tactics** shows only for an Admin. | | Confirm or flag numbers during onboarding | Admin | A Viewer sees the numbers and a line that says an account admin must review them. | > **The row menu shows for a Viewer:** The menu of a channel row shows each action for each person. If you are a Viewer and you use an action that needs an Admin, Data Center refuses the action and shows the message **You don't have permission to manage this connection.** ## What does Data Center show during onboarding? Until your onboarding is complete, the Data Center address opens guided steps and not the three tabs. The steps take you through the same work: add your channels, connect each channel, then check the data. See [Complete onboarding in Data Center](https://docs.prescientai.com/data-center/complete-onboarding). ## Which channels can you connect? The list of channels that you can add depends on your account, and the list changes over time. To see the current list, an Admin can select **Add channel** on the **Channels** tab. The guides that follow give the steps for each connection method. These docs do not have a setup page for each platform yet. The setup dialog of a channel in Data Center has the instructions for that channel. The [earlier help center](https://help.prescientai.com/docs/41-connector-setup) also has a page for each platform, with the steps in the account of the platform. ## Next steps - [Add a channel](https://docs.prescientai.com/data-center/add-a-channel): select the channels that you measure. - [Connect a channel](https://docs.prescientai.com/data-center/connect-a-channel): give Prescient access to the data of a channel. - [Set up shared credentials](https://docs.prescientai.com/data-center/set-up-shared-credentials): connect BigQuery, Snowflake, SFTP, or Azure Blob Storage one time for many channels. - [Check status and data freshness](https://docs.prescientai.com/data-center/check-status-and-data-freshness): find a channel that stopped or that has old data. - [Fix a channel that needs attention](https://docs.prescientai.com/data-center/fix-a-channel-that-needs-attention): reconnect a channel or correct its data. - [Label campaigns with tactics](https://docs.prescientai.com/data-center/label-campaigns-with-tactics): group campaigns for [Attribution](https://docs.prescientai.com/attribution/compare-channels-tactics-and-campaigns). - [Add a data patch](https://docs.prescientai.com/data-center/add-a-data-patch): add or correct rows of a connected channel from a Google Sheet. - [Remove a channel](https://docs.prescientai.com/data-center/remove-a-channel): stop a channel or change its connection method. ## Reference The reference pages of Data Center are in the **Reference** tab. Each page lists the exact labels, options, limits, and messages of one screen. - [Channels and Integrations tabs](https://docs.prescientai.com/reference/data-center/channels-and-integrations-tabs): the columns, filters, and actions of the two tabs. - [Connection statuses](https://docs.prescientai.com/reference/data-center/connection-statuses): each status of a connection, and the messages that go with a status. - [Data requirements](https://docs.prescientai.com/reference/data-center/data-requirements): the columns that each type of channel needs when a workspace supplies the data. - [Tactics reference](https://docs.prescientai.com/reference/data-center/tactics): the **Tactics** tab: toolbar, columns, rules, messages, and the built-in tactics. - [Roles and permissions in Data Center](https://docs.prescientai.com/reference/data-center/roles-and-permissions): the actions of an Admin and of a Viewer in Data Center. - [Data Center messages](https://docs.prescientai.com/reference/data-center/messages): each message of Data Center, by the place where it shows. For the meaning of a term, see the [Glossary](https://docs.prescientai.com/reference/glossary). # Complete onboarding in Data Center Source: https://docs.prescientai.com/data-center/complete-onboarding > The guided steps of a new workspace in Data Center, from the list of channels through each connect step to the check of your totals. During onboarding, Data Center opens as a set of guided steps. You check your list of channels, connect each channel, wait while Prescient prepares the data, then confirm the totals. The three tabs of Data Center show after onboarding is complete. An Admin does the work. A Viewer can follow the progress. ## What are the stages of onboarding? The list **Your onboarding** shows five stages and how many are complete. | Stage | What the product says | | -------------------------- | ----------------------------------------- | | **Welcome aboard** | You've joined Prescient. | | **Connect your data** | Provide data for measurement. | | **Validate your data** | Review and approve ingested data. | | **Optimizing your models** | Your Prescient team is tuning your model. | | **Start measuring** | Platform ready for optimization. | ## How do you connect your data? The stage **Connect your data** has a step tracker. **Add Channels**, **Outcome Metrics**, **Advertising**, and **Web Analytics** always show. **Integration** and **Other** show only when you have a channel for them. | Step | Title | What you do | | ------------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------- | | **Add Channels** | Add your channels | Check the channels that you will measure. Add a channel that is missing, or remove a channel. | | **Integration** | Connect your integration | Shows only when your channels use a warehouse or file integration. Enter the shared credentials. | | **Outcome Metrics** | Connect outcome metrics | Link the revenue, leads, or subscriptions we'll measure. | | **Advertising** | Connect advertising | Connect every ad platform you spend on. | | **Web Analytics** | Connect web analytics | Connect your web analytics source. | | **Other** | Connect other sources | Shows only when you have a channel outside the other categories. Connect the remaining sources set up for your account. | 1. On the **Add Channels** step, read the list of channels. To add one that is missing, select **Add channel**. When the list has no channel, the button reads **Add channels**. To take one out, select **Remove** in its row. To change the connection method of a channel, remove the channel and add it again. 2. If the **Integration** step shows, enter the shared credential. See [Set up shared credentials](https://docs.prescientai.com/data-center/set-up-shared-credentials). 3. Open each category step and connect each channel in it. See [Connect a channel](https://docs.prescientai.com/data-center/connect-a-channel#which-form-do-you-see) for the form of each connection method. A step with no channel shows **Nothing to connect here**. Continue to the next step. 4. Continue until each required channel has a live connection. When the last step is complete, Data Center shows **Everything is finally connected**. ## Which channels must you connect? | Subject | Rule | | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Required channels | One advertising channel and one outcome channel must have a live connection. An outcome channel is an e-commerce, retail, or conversion channel. | | Web analytics | A web analytics channel is required only when you have a store that you own. | | Steps that show | **Add Channels**, **Outcome Metrics**, **Advertising**, and **Web Analytics** always show. A category step with no channel shows **Nothing to connect here**. **Integration** and **Other** show only when you have a channel for them. | When a requirement is not met, the step shows one of these messages. | Message | What is missing | | --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | | **Connect your advertising channels to continue.** | No advertising channel has a live connection. | | **Connect your outcome metric (revenue, leads, or subscriptions) so we can measure results.** | No e-commerce, retail, or conversion channel has a live connection. | A third message asks you to add a web analytics source for your online store. It shows when you have a store that you own and no web analytics channel with a live connection. ## What happens while you wait? After the connect steps, the page shows **Preparing your data for review**. Prescient collects the last 24 months of revenue, spend, and business events from your connected sources. The product says that this runs overnight and that your data is typically ready to review the next business day. You do not need to do anything, and Prescient sends you an email when the data is ready. ## How do you verify your data? The stage **Validate your data** shows the totals that Prescient read, with one tile for each metric and one row for each channel. The card has the title **Verify your data**. An information icon beside each total and each metric heading opens a short text that says what the number covers. A channel whose number has its own rules has its own icon beside its name. Read the text before you compare a number with a report from the source, because a report can include tax, shipping, or refunds in a different way. | Icon | Text in the product | | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Total revenue, information icon | Sales reported during this period, including store, marketplace, subscription, and wholesale orders. Tax, shipping, discounts, refunds, and the date a sale counts on may vary by source. | | Total spend, information icon | Advertising spend reported by each platform during this period. Platform totals may change slightly as billing is finalized. | | Total sessions, information icon | Website visits reported by your analytics source during this period. | | Total subscriptions, information icon | Subscriptions reported by this source during this period. | | Total leads, information icon | Leads reported by this source during this period. | The text for spend, sessions, subscriptions, and leads also has a row that gives the date that the number counts on. 1. Compare each total with the number in your own records for the reporting period that the card states. 2. For a channel with the correct number, select **Looks right**. 3. For a channel with a wrong number, select **It's off**, type the number that you expected in **The number you expected**, then select **Send to review**. The channel shows **Being reviewed**. When Prescient updates the number, a banner above the card reads **Ready for another look**, and you check the marked channels again. 4. When each number is confirmed, select **Confirm data**. Only an Admin sees these buttons. A Viewer sees the numbers and a line that says an account admin must review them. While a flagged number is in review, the step shows a banner above the card and a badge on the channel. | Banner | What it means | | -------------------------- | -------------------------------------------------------------------------------- | | **Thanks — we're on it** | Prescient is checking the numbers that you flagged. | | **Ready for another look** | Prescient updated the numbers that you flagged. Check the marked channels again. | | Badge on a channel | What it means | | --------------------------- | ------------------------------------------------------ | | **Being reviewed** | You flagged the number and Prescient is checking it. | | **Updated — please review** | Prescient updated the number. Check the channel again. | ## What happens after you confirm? The page shows **Building your marketing mix model**. Your Prescient team calibrates your models against the data that you verified. You can leave the page, and Prescient sends you an email when your results are ready. You can then read your models in [Model Center](https://docs.prescientai.com/model-center). ## What if you connect a channel after onboarding? A channel that you connect after onboarding can have numbers that were not part of your review. Data Center then shows a card with the title **New data to verify** above the three tabs. The card states the period that it measured. An Admin checks each number in the same way, with **Looks right** or **It's off**. The product says that the rest of your data is not affected. > **Attribution can open before your models are ready:** During onboarding, Attribution can show your reported data with no modeled figures. See [What does the page show during onboarding](https://docs.prescientai.com/attribution#what-does-the-page-show-during-onboarding). # Add a channel Source: https://docs.prescientai.com/data-center/add-a-channel > How an Admin adds channels to the Channels tab of Data Center, how Prescient selects the connection method, and what to do when a channel is not in the list. To add a channel, select **Add channel** on the **Channels** tab, select one or more channels, then select **Add channels**. Each new channel shows in the table with the status **Not connected**. You connect its data in a second step. Only an Admin sees the **Add channel** button. On a tab with no channel, the button reads **Add channels**. ## How do you add a channel? 1. Open **Data Center** and stay on the **Channels** tab. 2. Select **Add channel**. The **Add channels** dialog opens. 3. Select a category tab, or type a name in **Search channels…**. 4. Select each channel that you measure. A row can show the text **via **. The text names the integration that will carry the data of that channel. 5. Select **Add channels**. Data Center shows **Channel added.** for one channel, or the count of channels for two or more. The channels are now in the table. Next, [connect each channel](https://docs.prescientai.com/data-center/connect-a-channel). ## What are the category tabs? The dialog groups the channels into category tabs. | Tab | What it lists | | ----------------- | ---------------------------------------------------------- | | **Advertising** | Ad platforms and media types. | | **Revenue** | Stores and retailers that give revenue. | | **Web Analytics** | Web analytics sources. | | **Conversions** | Outcome counts such as leads or subscriptions. | | **Other** | Shows only when a channel is outside the other categories. | A channel that you added before is not in the dialog. When no channel is left, the dialog shows **Every available channel is already added.** ## How is the connection method selected? You do not select the connection method of a channel. Prescient selects it for you. | Subject | Rule | | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Connection method | You do not select a connection method. Prescient selects the method of each channel: the main automated method of the channel, then a warehouse integration that your workspace has, then Google Sheets. | | Change of method | To use a different connection method for a channel, remove the channel and add the channel again. | > **The list of channels depends on your account:** The dialog shows only the channels that your workspace can add, and the list changes over time. For the steps in the account of a specific platform, see the setup dialog of the channel. The [earlier help center](https://help.prescientai.com/docs/41-connector-setup) also has a page for each platform. # Connect a channel Source: https://docs.prescientai.com/data-center/connect-a-channel > How an Admin connects the data of a channel in Data Center, with the steps for each connection method and the checks that run on data that you supply. To connect a channel, open the menu at the end of its row on the **Channels** tab and select **Edit connection**. A dialog opens with setup instructions on the left and the form for the connection method on the right. Follow the form for your method below. You must be an Admin to connect a channel. The channel must be in the table first. See [Add a channel](https://docs.prescientai.com/data-center/add-a-channel). ## How do you open the setup dialog? 1. Open **Data Center** and stay on the **Channels** tab. 2. Find the channel. A channel that you have not connected has the status **Not connected**. 3. Select the menu at the end of the row, then select **Edit connection**. The title of the dialog is **Edit** and the name of the channel. A line below the title names the integration that carries the data. Read the setup instructions in the dialog before you fill in the form. The instructions are specific to the channel. ## Which form do you see? The form depends on the connection method of the channel. You see one of these forms. **Hosted connect card** 1. Select **Connect**. A hosted connect card opens. The card belongs to the service that carries the data, and the **Powered by** column names that service. 2. Sign in to the platform and approve access. 3. Finish the card. You return to Data Center. For a channel that has a connection, the form shows **Manage**. See [How do you manage a live connection](https://docs.prescientai.com/data-center/connect-a-channel#how-do-you-manage-a-live-connection). For a connection that needs attention, the form shows **Reconnect**. **Sign in with the provider** 1. Fill in each field that the form shows. Some channels have no field. 2. Select **Connect with **. The button has the name of the provider. 3. Sign in at the provider and approve access. You return to Data Center. For a live connection, the button reads **Reconnect with **. For a connection that lost its authorization, the button reads **Reauthorize with **. **Google Sheets** 1. Share the sheet as the setup instructions in the dialog tell you. 2. In the sheet, make a named range that covers your data, with the header row. 3. Paste the address of the sheet in **Google Sheet URL**. 4. Select **Find ranges**. 5. Select the range in **Named range**. 6. Select **Connect**. Three checks then run on your data. See [What are the checks](https://docs.prescientai.com/data-center/connect-a-channel#what-are-the-checks-on-data-that-you-supply). For a channel with a live connection, the button reads **Update sheet**. **Warehouse or file location** BigQuery, Snowflake, SFTP, and Azure Blob Storage use one shared credential for your workspace. An Admin enters the credential one time on the **Integrations** tab. See [Set up shared credentials](https://docs.prescientai.com/data-center/set-up-shared-credentials). If the integration has no credential yet, the form asks you to connect it first and shows a button such as **Connect BigQuery**. After the credential is connected, give the location of the data of this channel. 1. Open the setup dialog of the channel. 2. Fill in the location fields. The table below lists the fields of each integration. 3. If your workspace has two or more connected accounts, select the account in **Credential**. 4. Select the button of the form: **Save dataset** for BigQuery, **Save table** for Snowflake, or **Save base path** for SFTP and Azure Blob Storage. Three checks then run on your data. When the channel already has a location, the button reads **Update dataset**, **Update table**, or **Update base path**. **Snowflake data share** A Snowflake data share has no shared credential. You give the share in the setup dialog of the channel. 1. Follow the setup instructions in the dialog. 2. Fill in **Account identifier**, **Share name**, **Schema**, and **Table**. 3. Select **Connect**. Data Center shows **Share connected.** To change the values later, open the dialog again and select **Update share**. **API key or other credential** 1. Fill in each field that the form shows. The fields depend on the source, and the setup instructions say where to find each value. 2. Select **Connect**. To change the credential later, open the dialog again and select **Update credentials**. A secret field that you leave blank keeps its stored value. Some sources need no credentials from you. The dialog then says that your Prescient team will finish the setup. ### Fields for one channel of a shared credential | Field | Integration | What to enter | | -------------- | --------------------------- | -------------------------------------------------------------------------------------------------------- | | **Dataset ID** | BigQuery | The dataset that holds the table of this channel. | | **Table ID** | BigQuery | The table of this channel. | | **Database** | Snowflake | The database of this channel. | | **Schema** | Snowflake | The schema of this channel. | | **Table** | Snowflake | The table of this channel. | | **Base path** | SFTP and Azure Blob Storage | The path that holds the files of this channel. | | **Credential** | Each shared credential | Shows when your workspace has two or more connected accounts. Select the account that this channel uses. | ## What are the checks on data that you supply? When you supply the data from Google Sheets, a warehouse, or a file location, Data Center runs three checks before the channel is connected. | Step | What it checks | | ---------------------------------- | --------------------------------------------------------------------------------------------------------------- | | **Reading your data…** | Prescient reads the data. The step then reads **Read your data**. | | **Matching columns…** | Prescient matches your columns to the columns that the category needs. The step then reads **Columns matched**. | | **Checking uniqueness & quality…** | Prescient checks for duplicate rows and for values that it cannot use. The step then reads **Data looks good**. | When each check passes, the dialog shows **Channel validated** and the channel is connected. Select **Done**. ## What if a check does not pass? - **Your columns have different names.** The dialog shows a mapping form. For each required field, select the column of your data that holds it, then select **Validate with this mapping**. The form fills in its best guess. - **The data has a problem.** The dialog lists each problem: a value of the wrong type, a blank value in a required column, a duplicate row, or a number with a currency symbol. Correct the source, then select **Re-validate**. - **The source is empty.** Add data, then validate again. - **The dialog shows Saved, but not connected.** Your details are saved, but Data Center has no column check for this type of channel from this source, so the channel is not connected. The dialog gives the reason. For the columns that each type of channel needs, see [Data requirements](https://docs.prescientai.com/reference/data-center/data-requirements). For the steps in the account of a specific platform, such as how to make a service account or how to share a dataset, see the setup dialog of the channel. The [earlier help center](https://help.prescientai.com/docs/41-connector-setup) also has a page for each platform. For the columns of data that you supply, use [Data requirements](https://docs.prescientai.com/reference/data-center/data-requirements), not the earlier pages. If an earlier page and the setup dialog differ, follow the dialog. > **You cannot upload a data file:** Data Center has no control to upload a data file. To supply your own data, use Google Sheets, a warehouse, SFTP, or Azure Blob Storage. The only upload control is for the key file of a warehouse credential. ## How do you manage a live connection? A channel that a hosted connect card carries has a **Manage** menu in its setup dialog after you connect it. Only an Admin can use the items. The capture shows the **Edit** dialog of a channel with the **Manage** menu open. ![The Edit dialog of a channel with the Manage menu: Edit Settings, Sync now, Re-sync all history, Pause, and Disconnect.](https://docs.prescientai.com/_astro/edit-connection-manage.BiCi5T9V_Z1p9FBT.webp) | Item | What it does | | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Edit Settings** | Opens the hosted connect card again, so that you can change the sign-in or the accounts that sync. | | **Sync now** | Starts a sync. Data Center shows **Sync started**, and the status changes to **Syncing**. | | **Re-sync all history** | Reads the full history of the channel again. Data Center shows **Historical resync started**, and the status changes to **Backfilling**. | | **Pause** | Stops the syncs of the channel until you resume them. Data Center shows **Connection paused**, and the status changes to **Paused**. The item shows for a channel that is not paused. | | **Resume** | Starts the syncs of a paused channel again. Data Center shows **Connection resumed**, and the status changes to **Connected**. The item shows only for a paused channel. | | **Disconnect** | The browser asks you to confirm. The action then deletes the connection at the service that carries the data. Data that is already synced is kept, and syncing stops. Data Center shows **Disconnected**. The channel stays in your list with the status **Not connected**, and you can connect it again. | A paused channel has the status **Paused** and does not sync. To start the syncs again, open **Edit connection**, select **Manage**, then select **Resume**. **Disconnect** keeps the channel in your list. To take the channel out of your list, see [Remove a channel](https://docs.prescientai.com/data-center/remove-a-channel). ## How do you send the setup to a colleague? If a different person holds the login for a platform, send that person a link to the setup dialog. In the menu of the channel row, select **Copy setup link**, then send the link. The person must be an Admin of your workspace to connect the channel. # Set up shared credentials Source: https://docs.prescientai.com/data-center/set-up-shared-credentials > How an Admin adds a BigQuery, Snowflake, SFTP, or Azure Blob Storage integration on the Integrations tab and enters one credential for many channels. When you supply data from BigQuery, Snowflake, SFTP, or Azure Blob Storage, you enter the credential one time on the **Integrations** tab. Each channel that arrives through that integration then uses the same credential, and you give only the location of its data. You must be an Admin to add an integration or to change a credential. ## How do you add an integration? 1. Open **Data Center** and select the **Integrations** tab. 2. Select **Add integration**. 3. Select the integration in the **Integration** field. 4. Select the channels that will arrive through the integration. 5. Select **Add integration**. The integration shows in the table with the status **Not connected**. The channels show on the **Channels** tab. ## How do you enter the credential? 1. On the **Integrations** tab, select the menu at the end of the row, then select **Connect**. 2. Follow the setup instructions in the dialog to create the credential in your warehouse or your storage. 3. Fill in the fields. The table below lists the fields of each integration. 4. Save the form. Data Center tests the credential before it stores the credential. The status of the integration changes to **Connected**. Next, open each channel of the integration and give the location of its data. See [Connect a channel](https://docs.prescientai.com/data-center/connect-a-channel#which-form-do-you-see). ## Which fields does each integration need? | Integration | Credential type | Fields and access | | ------------------ | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | BigQuery | Service account | **Name** and **Service account JSON**. The service account needs the roles BigQuery Data Viewer and BigQuery Job User. | | Snowflake | Service account with a key pair | **Name**, **Account identifier**, **Username**, **Private key (PEM)**, **Private key passphrase**, **Warehouse**, and **Role**. | | SFTP | Private key or password | **Name**, **Host**, **Port**, **Username**, and **Authentication**. **Authentication** is **Private key** or **Password**. | | Azure Blob Storage | Shared access signature | **Name**, **SAS URL**, **Container**, and **SAS token**. The token needs Read and List access. | For BigQuery and Snowflake, you can paste the key or select **Upload file** to upload the key file. ## What does Data Center test? | Integration | What the test confirms | | ------------------ | ----------------------------------------------------------------------------------------- | | BigQuery | The service account signs in, has BigQuery Job User access, and the credential is stored. | | Snowflake | The service account signs in, has access to the warehouse, and the credential is stored. | | SFTP | Prescient connects and signs in, and the credential is stored. | | Azure Blob Storage | Prescient has access to the container, and the credential is stored. | ## How do you change or add a credential? On the **Integrations** tab, select the menu of a connected integration, then select **Manage credentials**. - To change a credential, enter the new values. A secret field that you leave blank keeps its stored value. - To add a second account, select **Add another service account** for BigQuery or Snowflake, or **Add another credential** for SFTP or Azure Blob Storage. Each channel then has a **Credential** field where you select its account. > **Only four integrations show on this tab:** The **Integrations** tab lists only BigQuery, Snowflake, SFTP, and Azure Blob Storage. A channel with a different connection method keeps its credential in its own setup dialog on the **Channels** tab. # Check status and data freshness Source: https://docs.prescientai.com/data-center/check-status-and-data-freshness > How to find channels that stopped or that have old data on the Channels tab of Data Center, with the filters and the columns to read. To check your data, read two columns of the **Channels** tab: **Status** tells you if the connection works, and **Most Recent Data** tells you the latest date that Prescient holds data for the channel. A connection can work and still have old data, so read both. The capture shows the **Channels** table, with the **Status** and **Most Recent Data** columns. ![The Channels table with the Status and Most Recent Data columns for each of twelve channels, all with the status Connected.](https://docs.prescientai.com/_astro/channels-table-status.DF6ZQwv1_7jTVx.webp) ## How do you find a channel that stopped? 1. Open **Data Center** and stay on the **Channels** tab. 2. Select the **Status** filter, then select **Needs attention**. The filter lists only the statuses that your channels have now. If **Needs attention** is not in the list, no channel has that status. 3. Point at the status badge of a row. The tooltip says who must act and gives the reason. To see each channel again, select **Clear**. For the fix, see [Fix a channel that needs attention](https://docs.prescientai.com/data-center/fix-a-channel-that-needs-attention). ## What does each status mean? A channel has one of seven statuses, from **Connected** to **Not connected**. For each status, see [Connection statuses](https://docs.prescientai.com/reference/data-center/connection-statuses#statuses). ## How do you find a channel with old data? 1. On the **Channels** tab, select the **Most Recent Data** header to sort the table by that date. 2. Read the dates from the oldest. A dash means that Prescient holds no rows for the channel. 3. Look for a badge next to a date. The badge shows on a source that you update by hand when the source has no new data for too long. ## What does the badge on Most Recent Data mean? The badge says how long the source has had no new data. It reads **No data in {N} weeks**, where the number is the count of full weeks with no new data. The badge shows only after 14 days with no new data, or 35 days for a retail channel, so the number is 2 or more. Point at the badge to see who must act. If the line reads **Action needed from you**, add the latest rows or the latest file to the source. For the rule behind the badge, see [Data dates and freshness](https://docs.prescientai.com/data-center/data-dates-and-freshness). > **The table has no last sync time:** Data Center shows the date of the most recent data. Data Center does not show the time of the last sync. To start a sync for a channel that a hosted connect card carries, an Admin can select **Sync now** in the menu of the row. ## How do you check the dates of a shared credential? Open the **Integrations** tab. Each row shows the **Status** of the credential, the earliest **Connection Date** of its channels, and the latest **Most Recent Data** of its channels. # Fix a channel that needs attention Source: https://docs.prescientai.com/data-center/fix-a-channel-that-needs-attention > How to find out who must act on a Needs attention status, how an Admin reconnects a channel, and how to correct a Google Sheets source. A channel with the status **Needs attention** stopped sending data. First find out who must act: point at the status badge and read the first line of the tooltip. If the line reads **Action needed from you**, an Admin can fix the connection with the steps on this page. ## Who must act? The tooltip of a **Needs attention** badge starts with one of two lines. | First line | What it means | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Action needed from you** | You can fix the connection. The line below gives the fix. | | **We're looking into it** | Prescient is checking the cause. The line below gives the detail. For a connection that stopped with no specific reason, the line says that Prescient contacts you if it needs something from you. | The text below the first line gives the reason, and the fix when the fix is yours. ## How do you reconnect a channel? Many fix messages ask you to reconnect, for example when a login expired or a permission was removed. 1. On the **Channels** tab, select the menu at the end of the row, then select **Edit connection**. The dialog shows the alert **This connection needs a fix** with the reason. 2. Use the button of the form. - For a hosted connect card, select **Reconnect**. - For a sign-in with the provider, select the button that starts with **Reauthorize with** or **Reconnect with**. - For a credential form, enter the new values and select **Update credentials**. 3. Sign in and approve access again, with an account that has access to the data. After you reconnect, read the status of the row again. If the status is still **Needs attention**, read the tooltip for the reason. ## What do the fix messages say? The dialog and the tooltip show one of the first six messages when the fix is yours. The last row is the tooltip text when Prescient is checking the cause. | Cause | Message | | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Lost access | We lost access to this account: its login expired or its permissions were removed. Reconnect it in Data Center to restore access. | | Login or setup stopped | This connection needs you: its login or setup stopped working. Reconnect it in Data Center to get data flowing again. | | Action before the next sync | This connection needs an action from you before it can sync again. Reconnect it in Data Center to restore access. | | Lost authorization | This connection lost its authorization. Reconnect it in Data Center to restore access. | | Stopped syncing | This connection stopped syncing. Reconnect it in Data Center to get data flowing again; if that doesn't fix it, contact . | | Formula error in a sheet | Some rows in your sheet show a formula error (like #N/A) where the date should be. Fix those cells and it will sync on the next run. | | Needs attention | This connection stopped syncing and we're looking into why. We'll reach out if we need anything from you. Still here in a few days? Contact . | ## How do you correct a Google Sheets source? For a channel that reads a Google Sheet, the fix message can name a problem in the sheet. - **A formula error in a date cell.** Correct each cell that shows an error where the date must be. The channel syncs on the next run. - **A date that Prescient cannot read.** The message quotes the value. Use dates in the form YYYY-MM-DD. The form YYYY/MM/DD also passes the check. - **A different sheet or named range.** To point the channel at a different sheet or range, open **Edit connection**, paste the address in **Google Sheet URL**, select **Find ranges**, select the range, then select **Connect**. ## What if Prescient must act? When the first line reads **We're looking into it**, Prescient is checking the cause. The setup dialog shows no alert for this case. For a connection that stopped with no specific reason, the tooltip gives the text in the last row of the [table of fix messages](https://docs.prescientai.com/data-center/fix-a-channel-that-needs-attention#what-do-the-fix-messages-say). The text says that Prescient contacts you if it needs something from you. A **Not connected** channel can also show **We're looking into it**, when its setup waits on Prescient. The setup dialog of that channel shows the alert **We're finishing this on our side**. > **If you are a Viewer:** A Viewer can read the tooltip and cannot reconnect a channel. Send the reason to an Admin of your workspace. To give the Admin a direct link, select **Copy setup link** in the menu of the row. # Label campaigns with tactics Source: https://docs.prescientai.com/data-center/label-campaigns-with-tactics > How to give advertising campaigns a tactic on the Tactics tab of Data Center, one campaign or many, and how an Admin adds a custom tactic. To label a campaign, open the **Tactics** tab, select a tactic in the **Tactic** column of the campaign, then select **Save**. Attribution then groups the campaign under that tactic. A campaign with no tactic stays in the **Not set** group. The capture shows the toolbar and the column headings of the **Tactics** tab. ![The Tactics toolbar with the search box, the All, Labeled, and Unlabeled filter, Filters, and Manage tactics.](https://docs.prescientai.com/_astro/tactics-toolbar.a3OpimBh_Z2gk8dr.webp) An Admin and a Viewer can each label campaigns. Only an Admin can add, rename, or delete a tactic. ## How do you label one campaign? 1. Open **Data Center** and select the **Tactics** tab. The table lists your advertising campaigns. The campaigns with the highest spend in the last 30 days are first. When one campaign or more has a tactic, the tab opens on **Labeled**. To see the campaigns with no tactic, select **All** or **Unlabeled**. 2. In the row of the campaign, select the control in the **Tactic** column. 3. Select a tactic. To find one, type in **Search tactics…**. The row shows the badge **Edited**. The change is staged, not saved. 4. Select **Save**. The button shows the count of changed campaigns. Data Center confirms the count of tactics that it saved. ## How do you label many campaigns at one time? 1. Find the campaigns. Type in **Search campaigns…**, or select **Filters** and add a rule for **Campaign Name**, for example **Contains** and a word that the campaign names share. 2. Select the checkbox of each campaign, or select the checkbox in the header. The checkbox in the header selects each campaign that matches the search and the filters, on each page. 3. In the bar that shows, select a tactic in **Choose a tactic**. 4. Select **Apply to selected**. 5. Select **Save**. To find the campaigns that still need a tactic, select **Unlabeled**. ## How do you change or remove a label? - To change a label, select a different tactic in the **Tactic** column, then select **Save**. - To remove a label, select the same tactic again in the picker, then select **Save**. The campaign returns to **Not set**. - To drop each staged change, select **Discard**. > **Save before you leave the tab:** A staged change is lost if you leave the tab and do not save. The browser asks you to confirm before you leave with staged changes. ## How do you add a custom tactic? You must be an Admin. The built-in tactics have the badge **Default**, and you cannot rename or delete them. 1. On the **Tactics** tab, select **Manage tactics**. 2. Type a name in **New tactic name…**, then select **Add**. The name needs 2 characters or more, with a letter or a number. 3. Close the dialog. The tactic is now in the picker. In the same dialog, you can rename a custom tactic, and you can delete a custom tactic while no campaign has it. To delete a tactic that is in use, remove the label from each campaign first. ## Where do the labels show? The labels group your campaigns on the **Tactics** tab of the Attribution **Performance Table**. See [Compare channels, tactics, and campaigns](https://docs.prescientai.com/attribution/compare-channels-tactics-and-campaigns). For the full list of built-in tactics and the rules of the tab, see [Tactics reference](https://docs.prescientai.com/reference/data-center/tactics). # Add a data patch Source: https://docs.prescientai.com/data-center/add-a-data-patch > How an Admin lays a Google Sheet of extra rows over a connected channel in Data Center, tests the sheet, and removes the patch. To add a data patch, open the menu of a connected channel on the **Channels** tab, select **Data patch**, give a Google Sheet and a named range, then select **Save & Test**. Use a data patch to add rows that the connection does not have, for example ad spend from before the account was connected. You must be an Admin. For what a patch is and which channels can take one, see [Data patches](https://docs.prescientai.com/data-center/data-patches). ## How do you prepare the sheet? 1. Make a Google Sheet with the columns of the type of the channel. See [Data requirements](https://docs.prescientai.com/reference/data-center/data-requirements). In a patch, the key columns are required and the main metric columns are optional. A patch sheet always uses the Google Sheets column names, so the expected name of the date column is `created_date`. Data Center also accepts `date`. 2. Make a named range that covers the rows, with the header row. 3. Share the sheet with Prescient. The left side of the **Data patch** dialog shows the sharing instructions. To read them, open the dialog with the first two steps of the next section. ## How do you add the patch? 1. On the **Channels** tab, select the menu at the end of the row of the channel. 2. Select **Data patch**. The item is available only for a channel that can take a patch. 3. Paste the address of the sheet in **Patch sheet URL**. 4. Select **Find ranges**, then select the range in **Named range**. 5. Select **Save & Test**. Data Center runs the same three checks as for a Google Sheets channel. When the checks pass, the dialog shows **Data patch validated** and the row of the channel shows the badge **Patch**. ## How do you read the state of a patch? Open **Data patch** again to see the sheet, the range, and the result of the last test. | State | What it means | | ------------------- | -------------------------------------------------------------------------------------- | | **Patch validated** | The last test passed. The line below gives the count of rows and the date of the test. | | **Patch failing** | The last test failed. Correct the sheet and select **Re-test**. | | **Not tested yet** | The patch is saved and has no test result. | When the last test failed, the row of the channel shows the badge **Patch failing**. Correct the sheet, then select **Re-test**. ## How do you change or remove a patch? - To use a different sheet or range, open **Data patch**, select **Edit**, change the values, then select **Save & Test**. A change drops the last test result. - To remove the patch, open **Data patch**, select **Remove patch**, and confirm. Data Center stops the use of the sheet. The sheet itself is not changed. > **A patch does not replace a connection:** A patch adds to the data of a live connection. If the channel has no connection, connect the channel first. # Remove a channel Source: https://docs.prescientai.com/data-center/remove-a-channel > How an Admin removes a channel from Data Center, what the removal deletes and keeps, and how to change the connection method of a channel. To remove a channel, open the menu at the end of its row on the **Channels** tab, select **Remove**, and confirm. The removal deletes the connection and its sync credentials. Prescient keeps the data that was synced. You must be an Admin to remove a channel. ## How do you remove a channel? 1. Open **Data Center** and stay on the **Channels** tab. 2. Select the menu at the end of the row of the channel. 3. Select **Remove**. A dialog asks you to confirm. The title has the name of the channel. 4. Select **Remove**. Data Center shows a message with the name of the channel and the word removed. The channel is no longer in the table. ## What does the removal delete? The dialog states what the removal deletes and what it keeps. | Action | What the dialog says | | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | | **Remove** | This removes the channel from this organization. Synced warehouse data is kept, but the connection and any sync credentials for it are deleted. | > **New data stops:** After you remove a channel, Prescient gets no new data for the channel. If you add the channel again, you must connect it again. ## How do you change the connection method of a channel? You cannot change the connection method of a channel in place. Remove the channel, then add it again. 1. Remove the channel with the steps above. 2. Select **Add channel** and add the channel again. Prescient selects the method. For the rule, see [How is the connection method selected](https://docs.prescientai.com/data-center/add-a-channel#how-is-the-connection-method-selected). 3. [Connect the channel](https://docs.prescientai.com/data-center/connect-a-channel). To stop the syncs of a channel and keep the channel in your list, use **Pause** or **Disconnect** in the **Manage** menu. See [How do you manage a live connection](https://docs.prescientai.com/data-center/connect-a-channel#how-do-you-manage-a-live-connection). # Channels, integrations, and connection methods Source: https://docs.prescientai.com/data-center/channels-integrations-and-connection-methods > The three terms that Data Center uses for your data sources, how they relate, and why the same channel can arrive in different ways. A channel is what you measure. A connection method is how the data of that channel reaches Prescient. An integration is one kind of connection method: a warehouse or a file location that carries many channels on one credential. Data Center uses more words than these three, so this page gives each word one meaning. 1. **Channel** (You add): A platform, a store, or a media type that you measure. A new channel has the status Not connected. 2. **Connection method** (You connect): How the data arrives: a hosted connect card, a sign-in with the provider, Google Sheets, or a warehouse or file integration. 3. **Status and dates** (Data Center shows): The state of the connection, the date of the most recent data, and the Data QA approval. 4. **Tactics** (You label): A tactic for each advertising campaign, so that Attribution can group campaigns by tactic. How the data of one channel reaches your reports. An Admin does the first two stages. An Admin and a Viewer can each do the last stage. ## What is a channel? A channel is one thing that you measure, for example an ad platform, a store, a retailer, or a web analytics account. Each row of the **Channels** tab is one connection of a channel, and most channels have one row. These docs use the word source for the place where the data of a channel comes from: the platform, the sheet, the table, or the file location. Each channel has a type, and the type decides what Prescient uses the data for. An advertising channel gives spend and campaigns. An e-commerce, retail, or conversion channel gives the outcome that your models explain. A web analytics channel gives sessions. ## What is a connection method? A connection method is the way that the data of one channel arrives. You do not pick it. Prescient selects the method when you add the channel, and the setup dialog shows the form for that method. | Connection method | What you do | | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Hosted connect card | Select **Connect**, sign in to the platform in the hosted card, and return to Data Center. | | Sign in with the provider | Select **Connect with {Provider}** and approve access at the provider. | | Google Sheets | Share the sheet, paste its address in **Google Sheet URL**, select **Find ranges**, select a **Named range**, then select **Connect**. Three checks run. | | BigQuery | An Admin enters one shared credential for the workspace. Each channel then needs its **Dataset ID** and **Table ID**. Select **Save dataset**. Three checks run. | | Snowflake | An Admin enters one shared credential for the workspace. Each channel then needs its **Database**, **Schema**, and **Table**. Select **Save table**. Three checks run. | | SFTP | An Admin enters one shared credential for the workspace. Each channel then needs its **Base path**. Select **Save base path**. Three checks run. | | Azure Blob Storage | An Admin enters one shared credential for the workspace. Each channel then needs its **Base path**. Select **Save base path**. Three checks run. | | Snowflake data share | Fill in **Account identifier**, **Share name**, **Schema**, and **Table**, then select **Connect**. This method has no shared credential. | | API key or other credential | Fill in the fields of the form and select **Connect**. The fields depend on the source. | | No credentials | The dialog says that the source needs no credentials and that your Prescient team will finish the setup. | A word in braces stands for a value from your account or your plan. The methods divide into two groups. - **Prescient reads the platform.** With a hosted connect card, a provider sign-in, or an API key, you give access and Prescient reads the data in the shape that the platform has. You do not prepare columns. - **You supply the data.** With Google Sheets, BigQuery, Snowflake, SFTP, or Azure Blob Storage, you put the data in a table or a file with the columns that the channel type needs. Data Center checks the columns before the channel is connected. ## What is an integration? An integration is the service or the location that carries the data. In the product, the word has two uses. - On the **Channels** tab, the line below the title of the setup dialog names the integration of the channel. - The **Integrations** tab lists only the four integrations that share a credential: BigQuery, Snowflake, SFTP, and Azure Blob Storage. You enter the credential one time, and each channel that arrives through the integration uses it. ## Why does the page say Connector? The first column of the **Channels** tab has the header **Connector**, and some product text uses the word connector for an integration. These docs do not use the word. The table shows how the words on screen map to the terms of these docs. | Word on screen | Where | Term in these docs | | ---------------- | ------------------------------------------------------ | ----------------------------------------------- | | **Connector** | Header of the first column of the **Channels** tab | Channel | | **Channels** | Tab, and the **Add channel** button | Channel | | **Integration** | Header of the first column of the **Integrations** tab | Integration | | Direct connector | Text of the **Add integration** dialog | Warehouse or file integration | | **Powered by** | Column of the two tabs | The service or the method that carries the data | ## What does Powered by tell you? The **Powered by** column names the service or the method that carries the data of the row. For some channels, the value is the name of a sync service that Prescient uses. For other channels, the value is the name of the integration or of the method. On the **Integrations** tab, the value is always **Direct (Prescient)**. The value tells you which form you will see when you connect the channel. > **Two rows of one channel show the same dates:** The dates of a channel belong to the channel, not to the connection. If one channel has two connections, the two rows show the same **Most Recent Data**. See [Data dates and freshness](https://docs.prescientai.com/data-center/data-dates-and-freshness). # Data dates and freshness Source: https://docs.prescientai.com/data-center/data-dates-and-freshness > What Connection Date, Most Recent Data, and Data QA each tell you about a channel, and the rule behind the warning for a source with no recent data. The **Channels** tab shows three dates for each channel, and each date answers a different question. **Connection Date** says when the channel was first connected. **Most Recent Data** says how current the data is. **Data QA** says when a person approved the numbers. The status of the connection is a fourth, separate fact. ## What does each date tell you? | Column | What it tells you | | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | | **Connection Date** | The date when the channel first had a live connection. The date does not change when you reconnect the channel. | | **Most Recent Data** | The latest date that Prescient holds data for the channel. The date is for the channel, so two connections of one channel show the same date. | | **Data QA** | The date when each number of the channel was approved, with the approver. **Flagged** shows while a number is in dispute. | ## Why can a connected channel have old data? The status and the data date measure different things. **Status** is the state of the connection. **Most Recent Data** is the last day that has rows. A source is the place where the data of a channel comes from: a platform, a sheet, a table, or a file location. With a source that you update by hand, such as a Google Sheet or a file location, the status can stay **Connected** after you stop adding rows, while the data gets older. For that reason, Data Center has a second signal for these sources. ## When does the warning show? A badge shows next to **Most Recent Data** when a source of this kind has no new data for longer than its allowance. | Subject | Rule | | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | | Sources that can show the warning | A live connection that is a source that you update by hand (Google Sheets, SFTP, Azure Blob Storage, or a file bucket), or a retail channel. | | Allowance | 14 days without new data. 35 days for a retail channel. | | Color of the warning | The badge is a warning at the allowance and turns to a failure color at two times the allowance. | | New connections | No warning shows in the first 21 days after the first connection of a channel. | | Sources with no data | No warning shows for a source that has no data at all. **Most Recent Data** shows a dash. | The allowance is longer for a retail channel. A new channel shows no warning in the first 21 days after its first connection. ## Who must act on the warning? | Subject | How the warning decides | | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Who must act | The warning says **Action needed from you** for a source that you update by hand and that is not a retail channel. For each other source, the warning says **We're looking into it**. | When the fix is yours, the tooltip gives the date of the last data and asks for the latest file. | Message | What the product says | | ----------------- | ------------------------------------------------------------------------------------------------------------------------------ | | Freshness warning | The most recent data we have for this source is from {date}, {N} days ago. Uploading the latest file will bring it up to date. | A word in braces stands for a value from your account or your plan. The message uses the word upload. Data Center has no upload control for data, so add the latest rows to your sheet or put the latest file in your file location. ## What does Data QA mean? Data QA is the check of the numbers of a channel by a person. The column shows the date of the approval and the approver. **Flagged** means that a number is in dispute. A dash means that the channel is not part of Data QA. During onboarding, an Admin of your workspace does this check. See [How do you verify your data](https://docs.prescientai.com/data-center/complete-onboarding#how-do-you-verify-your-data). > **Data Center does not show a sync schedule:** The product shows the date of the most recent data. The product does not show the time of the last sync or the time of the next sync. # Data patches Source: https://docs.prescientai.com/data-center/data-patches > What a data patch is, when to use one in place of a new connection, which channels can take a patch, and which columns a patch sheet needs. A data patch is a Google Sheet of extra rows that Prescient lays over the data of a connected channel. The connection stays as it is. The patch adds rows that the connection cannot give, or corrects rows that are wrong at the source. | Term | What the product says | | ---------- | ------------------------------------------------------------------- | | Data patch | Overlay a Google Sheet of supplemental rows on this channel's data. | ## When do you use a data patch? Use a patch when the platform connection is correct for most dates and wrong or empty for some. A common case is a gap in historical ad spend. Do not use a patch as the only source of a channel. A patch needs a live connection below it. If you supply the whole data of a channel yourself, connect the channel through Google Sheets, a warehouse, or a file location. ## Which channels can take a patch? | Subject | Rule | | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | | Source of a patch | A data patch is always a named range of a Google Sheet. | | Channels that can take a patch | The channel has a live connection, and you do not supply the data of the channel through Google Sheets, a warehouse, or a file location. | | Categories that can take a patch | Advertising, analytics, e-commerce, and retail channels can take a patch. Conversion channels and other channels cannot. | A channel that you already supply from a sheet, a warehouse, or a file location cannot take a patch. Correct that source directly. ## Which columns does a patch sheet need? | Subject | Requirement | | ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | | Columns of a patch sheet | A patch sheet uses the columns of the category of the channel. The key columns are required. The main metric columns are optional in a patch. | | Column names of a patch sheet | A patch sheet always uses the Google Sheets column names of the category, for each connection method of the channel. The date column is created_date. | | Sharing instructions | The left side of the data patch dialog shows the instructions to share a Google Sheet with Prescient. | | Change of a patch | A change of the sheet or the named range drops the last test result. Test the patch again. | The key columns are the date and the columns that make a row unique, for example the campaign of an advertising row. For the full list of columns for each type, see [Data requirements](https://docs.prescientai.com/reference/data-center/data-requirements). ## How do you know that a patch works? Data Center tests the sheet when you save the patch, and the row of the channel shows the badge **Patch**. If a later test fails, the badge changes to **Patch failing**. See [How do you read the state of a patch](https://docs.prescientai.com/data-center/add-a-data-patch#how-do-you-read-the-state-of-a-patch). # Attribution Source: https://docs.prescientai.com/attribution > What the Attribution page reports, the four sections of the page, and which guide to read for each task. Attribution shows how much of an outcome, for example revenue, your marketing mix models credit to the spend of each channel, tactic, and campaign. The page puts the modeled figures next to the figures that your ad platforms and your sales sources report for the same period. To open Attribution, select **Attribution** in the **Marketing** group of the sidebar. ## What does Attribution answer? Attribution answers three questions about a period that you select. - How much did you spend, and what outcome do your sales sources report? - How much of the outcome do your models attribute to paid media, by channel, tactic, and campaign? - How does the modeled figure of a channel compare with the figure that the ad platform reports for itself? ## Which figures does the page compare? The page shows three kinds of figure. The modeled figure divides into two parts, Base and Halo. - **Reported** (Your sales sources report): The total outcome that your connected sales sources record. The figure is not divided by channel. - **Channel Reported** (Each ad platform reports): The outcome that each ad platform claims for itself. Each platform takes full credit, so the figures overlap. - **Modeled (MMM)** (The marketing mix model estimates): The outcome that the model attributes to the spend of each channel, tactic, or campaign. - **Base**: The outcome that the spend drives directly. - **Halo**: The outcome that the spend drives indirectly, through other channels and sources. The three kinds of figure on the Attribution page. Each kind comes from a different source and answers a different question, so the three totals are different. Read [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures) for the full explanation. ## What are the sections of the page? The page has a filter bar and four sections. The filter bar stays at the top of the page while you scroll. | Section | What it shows | | ------------------------- | ----------------------------------------------------------------------------------------- | | Summary cards | The headline totals for the selected period. The cards have no section title on the page. | | **Attribution Over Time** | A chart of one or two metrics across the selected period. | | **Performance Table** | A table of metrics by channel, tactic, or campaign. | | **Base & Halo Flows** | A chart of how the modeled outcome of each channel divides into Base and Halo. | ### Example: Attribution Over Time Each section is a card with a title, its controls, and its data. The capture shows the **Attribution Over Time** section with the breakdown by channel. ![The Attribution Over Time section, with a stacked chart of MMM Revenue for each channel by day](https://docs.prescientai.com/_astro/attribution-over-time.2IPWuwBy_Gl26K.webp) You can move a section up or down and collapse a section. See [Arrange the page](https://docs.prescientai.com/attribution/choose-what-the-page-shows#how-do-you-arrange-the-page). ## What does the page show during onboarding? During onboarding, Attribution can open before your models are approved. The page then shows only your reported data, with the notice **Your reported data is ready to review**. In this state, the page has no modeled figures. The summary cards show spend, the reported outcome, and for a revenue target a **Channel Reported** card. The chart section has the title **Reported Over Time**. The **Base & Halo Flows** section, the **Model** control, and the **Views** menu do not appear. > **Reported figures are not attributed figures:** A reported figure is the number that a sales source or an ad platform records. A reported figure does not show which spend caused the outcome. The modeled figures appear when your models are approved and onboarding is complete. ## Next steps - [Choose what the page shows](https://docs.prescientai.com/attribution/choose-what-the-page-shows): set the target, the models, the date range, and the filters. - [Compare two periods](https://docs.prescientai.com/attribution/compare-two-periods): see the change from an earlier period. - [Compare channels, tactics, and campaigns](https://docs.prescientai.com/attribution/compare-channels-tactics-and-campaigns): read the **Performance Table**. - [Explore a spend scenario](https://docs.prescientai.com/attribution/explore-a-spend-scenario): read the saturation curve of a row. - [Save and share a view](https://docs.prescientai.com/attribution/save-and-share-a-view): keep a set of columns and filters. - [Export Attribution data](https://docs.prescientai.com/attribution/export-attribution-data): download a CSV from each section. ## Reference The reference pages of Attribution are in the **Reference** tab. Each page lists the exact labels, options, limits, and messages of one screen. - [Page controls](https://docs.prescientai.com/reference/attribution/page-controls): the filter bar, the date range, and the comparison control. - [Filters and views](https://docs.prescientai.com/reference/attribution/filters-and-views): the filters of the page and the saved views. - [Metrics and summary cards](https://docs.prescientai.com/reference/attribution/metrics): the summary cards and each metric of the page. - [Attribution Over Time options](https://docs.prescientai.com/reference/attribution/attribution-over-time): the modes, granularity, types, and controls of the chart. - [Performance Table options](https://docs.prescientai.com/reference/attribution/performance-table): the levels, columns, export options, and row details of the table. - [Base & Halo Flows options](https://docs.prescientai.com/reference/attribution/base-and-halo-flows): the chart types, the flow filter, and the grouping tabs of the section. For the meaning of a term, see the [Glossary](https://docs.prescientai.com/reference/glossary). # Choose what the page shows Source: https://docs.prescientai.com/attribution/choose-what-the-page-shows > How to set the target, models, date range, and filters of the Attribution page, and how to reorder and collapse the page sections. The filter bar at the top of Attribution controls every section of the page. A change in the filter bar updates the summary cards, the chart, the table, and the flows together. ## How do you select the outcome and the models? Use the **Target** and **Model** controls on the left of the filter bar. ![The Attribution filter bar, with the controls Target, Model, Filters, Views, and Compare, and the date range](https://docs.prescientai.com/_astro/filter-bar.xin5NSQJ_Z1TmHIn.webp) 1. Select **Target** and select an outcome. The list shows the targets that your account models. If your account has one target, the filter bar shows the target name with no menu. 2. Select **Model** and select the models to include. **Select All** includes every model. **Deselect All** removes every model. The control then reads **All**, **None**, the name of one model, or a count. 3. If a model has 2 or more configurations, open the submenu next to the model name to select a configuration. Each configuration shows the last day that has modeled data. A configuration other than the default shows its name under the model name. The **Model** control appears only when the target has 2 or more models, or when a model has 2 or more configurations. ## How do you set the date range? Use the date control on the right of the filter bar. The control shows the selected dates. ![The date range picker, with period presets, Start and End fields, and two calendar months](https://docs.prescientai.com/_astro/date-range.BJXoKi6-_1oONa2.webp) 1. Select the date control. 2. Select a preset, or select a start day and an end day on the calendar. You can also type exact dates in the **Start** and **End** fields. 3. To return to the default period, select **Default View**. With daily granularity, **Default View** is 30 days. With weekly granularity, **Default View** is 4 whole weeks. The period ends on the last day that has modeled data. A date range that you set can return to **Default View** after you change the target, a model, or a configuration. This occurs when the granularity changes between daily and weekly, or when your range ends after the last modeled day of the new selection. The label next to the date control reads **Daily** or **Weekly**. The label reads **Weekly** when one or more of the selected models are weekly. A weekly date range contains whole weeks only, and the presets change to week presets. > **Note:** The footer of the date picker shows the last day that has modeled data. Select the footer to open Model Center. See [Find how current a model is](https://docs.prescientai.com/model-center/find-how-current-a-model-is). ## How do you filter by channel, tactic, or campaign? Use **Filters** to narrow the whole page. ![The Filters menu, with the Channels and Tactics sections closed and the Campaign rules section open](https://docs.prescientai.com/_astro/filters-menu.DFQIdMQ0_c023W.webp) 1. Select **Filters**. 2. In **Channels**, clear the channels that you do not want. All channels are selected by default. 3. To filter by tactic, open **Tactics**, select **Include** or **Exclude**, and select the tactics. 4. To filter by campaign, open **Campaign rules** and add a rule. Select a field, a condition, and a value, then add the rule. A rule can match the campaign name, the campaign ID, or the value of a metric. 5. Close the menu. The **Filters** button shows the number of active filters. Each active tactic filter and rule shows as a chip under the filter bar. To remove one filter, select the remove button on its chip. ## How do you arrange the page? You can change the order of the sections and collapse a section. - To move a section, hold the pointer over the section and select **Move up** or **Move down** on the left of the section. The order is saved to your profile. - To collapse a section, select the arrow next to the section title. Select the arrow again to open the section. The collapsed state is saved in your browser for each workspace. The summary cards have no title and cannot be collapsed. # Compare two periods Source: https://docs.prescientai.com/attribution/compare-two-periods > How to turn on Compare on the Attribution page, select the earlier period, and show each change as a percentage or an amount. **Compare** sets the selected period against an earlier period. With **Compare** on, the summary cards, the chart, the table, and the flows show the change between the two periods. **Compare** is off when you open the page. ## How do you turn on a comparison? The **Compare** menu in the filter bar has a switch and a list of earlier periods. ![The Compare menu, with the Compare switch and five comparison periods from Previous period to Custom period](https://docs.prescientai.com/_astro/compare-menu.BMn2hNoG_1DFAlc.webp) 1. Set the date range that you want to study. 2. Select **Compare** in the filter bar. 3. Under **Against**, select a comparison period. The selection turns the comparison on. Each period in the list shows its dates, except **Custom period** before you set its start. The first selection is **Previous period**. 4. Under **Show change as**, select **%** or **Amount**. The first selection is **%**. The button in the filter bar then names the comparison period, for example **vs Previous**. ## Which comparison periods can you select? | Period | Dates that the period covers | | --------------------- | -------------------------------------------------------------------------------------------------- | | **Previous period** | The period of the same length that ends the day before the selected period starts. | | **A month earlier** | The selected period moved back 1 month. With weekly granularity, the period moves back 4 weeks. | | **A quarter earlier** | The selected period moved back 3 months. With weekly granularity, the period moves back 13 weeks. | | **A year earlier** | The selected period moved back 12 months. With weekly granularity, the period moves back 52 weeks. | | **Custom period** | A period of the same length that starts on a day that you select. | The month, quarter, and year options move your selected period back in time. These options do not select a calendar month, quarter, or year. ## How do you set a custom period? 1. Select **Custom period** under **Against**. 2. Select the start day on the calendar. The custom period has the same length as your selected period, so you select only the start. 3. Select **Custom period** at the top of the calendar to return to the list. ## How do you turn off the comparison? Select the button in the filter bar and turn off the **Compare** switch. The changes disappear from each section. **Compare** also returns to off when you load the page again. # Compare channels, tactics, and campaigns Source: https://docs.prescientai.com/attribution/compare-channels-tactics-and-campaigns > How to use the Performance Table to rank channels, tactics, and campaigns, change the columns, and open the details of one row. The **Performance Table** lists spend, modeled results, and reported results for each channel, tactic, or campaign in the selected period. Use the table to find which rows return the most and which rows the ad platforms rate differently from your models. ## How do you rank channels, tactics, or campaigns? Each row of the table is one channel, tactic, or campaign. The capture shows the **Channels** tab with the spend column and the modeled columns. ![The Performance Table on the Channels tab, with Spend and the modeled columns MMM Revenue, MMM ROAS, and Marginal ROAS for nine channels](https://docs.prescientai.com/_astro/performance-table.DUnq07OT_Z9cyei.webp) 1. Go to the **Performance Table** section of Attribution. 2. Select a tab: **Channels**, **Tactics**, or **Campaigns**. 3. Select a column heading to sort by the column. The table opens sorted by **Spend**, from high to low. Select the heading again to reverse the order. With **Compare** on, a metric column then sorts by the change, from high to low and from low to high, before it returns to the value. 4. To find one row, select the search button and type a name. 5. To see more rows on one page, change **Rows per page** under the table. The **Total** row shows the total of each metric across the rows of the table. The **Marginal** column and **Campaign ID** are blank in this row. The table opens with **Spend**, the modeled outcome and efficiency, the **Marginal** column, and the channel-reported outcome and efficiency. The names of the columns depend on the target of your account. For a revenue target, the columns can read **MMM Revenue**, **MMM ROAS**, **Marginal ROAS**, **Channel Revenue**, and **Channel ROAS**. ## How do you see the campaigns of one channel or tactic? Select the name of a row on the **Channels** tab or the **Tactics** tab. The table opens the **Campaigns** tab with only the campaigns of that row. A banner above the table names the row. ![The Campaigns tab with the banner Viewing: Meta Ads campaigns and the Clear filter button](https://docs.prescientai.com/_astro/campaigns-drill.WTrtthcM_ZVSSC5.webp) To see all campaigns again, select **Clear filter** in the banner. The tactic of a campaign is the label that you give the campaign in Data Center. See [Label campaigns with tactics](https://docs.prescientai.com/data-center/label-campaigns-with-tactics). ## How do you change the columns? The **Columns** menu lists each metric of the table in a group. In the capture, two groups are open and four groups are closed. ![The Columns menu, with the Data input and Modeled (MMM) groups open, four closed groups, and Reset to defaults](https://docs.prescientai.com/_astro/columns-menu.DDzDYCjd_ZmKbG8.webp) 1. Select **Columns** above the table. 2. Expand a group, then turn a metric on or off. 3. Drag a metric to change its position in the group. 4. To restore the default columns, select **Reset to defaults**. Every column that is not in the default set is off until you turn it on. To change the width of a column, drag the edge of its heading. To move a whole group of columns, drag the band above the group to a new place. To keep a set of columns, see [Save and share a view](https://docs.prescientai.com/attribution/save-and-share-a-view). ## How do you compare a modeled figure with a channel-reported figure? The table groups its columns by the source of the figure. Read the two groups side by side for the same row. - **Modeled (MMM)** holds the figures from your marketing mix models: the total, **Base**, and **Halo**. - **Channel Reported** holds the figures that the ad platform reports for itself. Ad platforms each take full credit for an outcome, so the channel-reported figures of all channels overlap. The total of these figures is typically more than the modeled total. See [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures). ## How do you open the details of one row? Select the arrow before the name of a row. A panel opens under the row. Select the arrow again to close the panel. The name of the row does a different job. On the **Channels** tab and the **Tactics** tab, the name opens the campaigns of the row. The panel has up to three views. - **Saturation** shows the modeled response curve of the row and a spend scenario. The panel opens on this view when the row has a curve. See [Explore a spend scenario](https://docs.prescientai.com/attribution/explore-a-spend-scenario). - **Compare** shows two metrics over time for the row. - **Attribution** shows the Base and Halo flows of the row. > **Note:** A row with no curve opens on **Compare**. Which rows have a curve depends on the models of your account. ## What does the Marginal column show? The **Marginal** column shows the modeled efficiency of the next unit of spend on the row. The column name ends with the efficiency metric of your target. On the **Campaigns** tab, an arrow next to the value compares the value with the average modeled efficiency of the same row. Hold the pointer over the arrow to read the comparison. An arrow that points right means that the two values are within 5% of each other. # Explore a spend scenario Source: https://docs.prescientai.com/attribution/explore-a-spend-scenario > How to read the saturation curve of a Performance Table row and estimate the modeled outcome of a different spend level. The **Saturation** view of a row shows how the modeled outcome changes as spend changes. Use the view to estimate the outcome of a higher or a lower spend on one channel, tactic, or campaign. ## How do you open the saturation curve? 1. In the **Performance Table**, select the tab for the level that you want: **Channels**, **Tactics**, or **Campaigns**. 2. Select the arrow before the name of a row. A panel opens under the row. If the row has a curve, the panel opens on **Saturation**. Do not select the name of the row. On the **Channels** tab and the **Tactics** tab, the name opens the campaigns of the row. 3. If the panel opens on a different view, select **Saturation**. If the row has no curve, the panel opens on **Compare**. On a campaign row, the **Saturation** view then shows a message in place of the chart. ## How do you read the chart? The chart plots the modeled outcome against the spend for one period. The period is a day or a week, as the granularity of your models sets. The capture shows the details of one channel, with a scenario at 20% more spend than the current spend. ![The details of the Meta Ads row: the saturation curve with a scenario at 20% more spend, and the Explore Spend Scenario controls](https://docs.prescientai.com/_astro/row-details-saturation.DN6OGFie_Zu2blY.webp) - **Historical Model** is the response curve from the history of the row. - **Seasonal Forecast** is a projection of the curve for the days ahead, with expected seasonal demand. The tooltip of the switch gives the number of days that the projection covers. Turn the **Seasonal Forecast** switch on or off to show or hide the curve. - The shaded band is the confidence range. A narrow band means a more certain estimate. - **Current spend** marks the average spend of the row over the selected period. - **Scenario spend** marks the spend level that you set. The second switch has the name of the efficiency metric of your target. The switch is on when the panel opens and shows the efficiency at each spend level on a second axis. Turn the switch off to hide the axis. Hold the pointer over the curve to read one point. The tooltip reads **Observed** for a spend inside the history of the row and **Extrapolated** for a spend beyond the history. ## How do you test a different spend level? The **Explore Spend Scenario** controls are under the chart. The capture above shows the controls and the results of one scenario. 1. Go to **Explore Spend Scenario** under the chart. 2. Move the slider, or type a spend for one period, or type a value in **Change from current**. 3. Read the results under the controls. The results show the current and the scenario efficiency, the scenario outcome, and the estimated incremental outcome. 4. Read **Model confidence** before you act on the estimate. 5. To return to the current spend, select **Reset**. ## What do the confidence values mean? **Model confidence** rates how much to trust the curve at the selected spend. | Value | Meaning | | --------------- | -------------------------------------------------------------------- | | **Strong** | The range is tight and the actual results agree with the curve. | | **Moderate** | The range is usable, or the history is too short to check the curve. | | **Directional** | The range is wide, or the spend is beyond any spend in the history. | > **Caution:** A scenario above the highest spend in the history of the row is an extrapolation, and its **Model confidence** is **Directional**. Treat such a result as a direction, not as a forecast. The scenario spend stops at 1.5 times the highest spend in the history, or at the end of the curve when that is lower. To plan a budget across many rows at one time, use Media Forecaster. See [Create and run a plan](https://docs.prescientai.com/media-forecaster/create-a-plan). # Save and share a view Source: https://docs.prescientai.com/attribution/save-and-share-a-view > How to save Attribution table columns and filters as a view, apply a view, share a view with your workspace, and delete a view. A view saves the columns of the **Performance Table**, the order of the columns, and the active filters. Apply a view to return to the same setup later, or share a view so that your workspace sees the same setup. ## How do you save a view? 1. Set the columns of the **Performance Table** and the filters that you want. 2. Select **Views** in the filter bar. 3. Select **Save as new view…**. 4. Type a name in **View name**. 5. To share the view with your workspace, turn off **Only visible to me**. A new view is private unless you turn the switch off. 6. Select **Save view**. The **Views** button then shows the name of the view. ## How do you apply a view? Select **Views** and select a view. **My Views** lists the views that you saved. **Shared Views** lists the views that other people in your workspace shared. The menu lists only the views of the selected target. If you change the target, the page exits the applied view. ## How do you change a view? 1. Apply the view. 2. Change the columns or the filters. The **Views** button adds **(edited)** to the name of the view after a change to the columns, the models, the channels, or a metric rule. 3. Select **Views**, then select **Save view**. **Save view** is available only while the button shows **(edited)**. A change to only a tactic filter or a campaign name or ID rule does not add **(edited)**. To keep such a change, select **Save as new view…**. **Save view** is available only for a view that you own. To keep your changes to a view of a different person, select **Save as new view…**. To stop the use of a view, select **Views**, then **Exit view**. The page returns to the columns and filters that it had before you applied the view. ## How do you share or delete a view? In the **Views** menu, each view that you own has a control for its visibility and a delete button. - Select the visibility control to share the view with your workspace or to make the view private. - Select the delete button, then select **Delete view**. > **Caution:** If you delete a shared view, the view is removed for everyone in your workspace. You cannot undo a delete. ## What does a view save? | Rule | Value | | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Saved content | A view saves the table columns, the column order, the column widths, and the active filters: target, models, channels, tactics, campaign rules, and metric rules. | | Not saved | A view does not save the date range, the comparison period, or the configuration that is selected for a model. | | Target | A view belongs to one target. The **Views** menu lists only the views of the selected target. A change of target exits the applied view. | | Default visibility | A new view is private. | | Who can change a view | Only the owner of a view can save changes to the view, change its visibility, or delete the view. | # Export Attribution data Source: https://docs.prescientai.com/attribution/export-attribution-data > How to download CSV files from the Performance Table, the Attribution Over Time chart, and the Base and Halo Flows section. Three sections of Attribution have an **Export** button. Each export downloads a CSV file for the selected period and the active filters. ## How do you export the Performance Table? The **Export** menu of the **Performance Table** has four options. ![The Export menu of the Performance Table, with four export options](https://docs.prescientai.com/_astro/export-menu.BhMXmHVm_Z1DbFJm.webp) 1. Set the tab, the columns, and the filters of the **Performance Table**. 2. Select **Export** above the table. 3. Select one of the four export options. 4. For **Export periodic data** or **Export channel spend breakdown**, select **Daily**, **Weekly**, or **Monthly**, then select **Export**. The menu has four options. Two options export the table as it is. Two options export a breakdown by period. | Option | What the file contains | | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- | | **Export with visible columns only** | A CSV of the table with the columns that are on screen, except **Marginal {efficiency}**. No export contains that column. | | **Export with all columns** | A CSV of the table with every available column. | | **Export periodic data** | A CSV with the full periodic breakdown for the current view. You select the period first. | | **Export channel spend breakdown** | A CSV with the full periodic spend breakdown for each channel. You select the period first. | A word in braces stands for a value from your account or your plan. The two table exports contain each row that matches the filters, on every page of the table, with the **Total** row first. With **Compare** on, each metric also has the figure of the comparison period and the change. ## How do you export the chart data? The **Attribution Over Time** export contains only the metric that is selected on screen. 1. In **Attribution Over Time**, select **Breakdown**. 2. Select the metric that you want to export. 3. Select **Export**, then select **Export by Channel**, **Export by Tactic**, or **Export by Revenue Source**. The menu shows only the options that the metric supports. > **Note:** The **Export** button is not available when the chart is in its **Compare** mode, or for a metric that does not divide by channel, tactic, or revenue source. Hold the pointer over the button to read the reason. ## How do you export the Base and Halo flows? 1. In **Base & Halo Flows**, select **All Flows**, **Base Only**, or **Halo Only**. 2. Select **Export**. The file follows the flow filter. The file has a **Total** row and one row for each channel, with the spend, the Base and Halo amounts, the total modeled outcome, and the modeled efficiency. The file is the same for each grouping tab. # Modeled and reported figures Source: https://docs.prescientai.com/attribution/modeled-and-reported-figures > Why Attribution shows three figures for one outcome, how the modeled figure divides into Base and Halo, and how date granularity follows your models. Attribution shows three figures for the same outcome because each figure comes from a different source. The sources count different things, so the three figures do not agree. Read each figure for the question that the figure can answer. - **Reported** (Your sales sources report): The total outcome that your connected sales sources record. The figure is not divided by channel. - **Channel Reported** (Each ad platform reports): The outcome that each ad platform claims for itself. Each platform takes full credit, so the figures overlap. - **Modeled (MMM)** (The marketing mix model estimates): The outcome that the model attributes to the spend of each channel, tactic, or campaign. - **Base**: The outcome that the spend drives directly. - **Halo**: The outcome that the spend drives indirectly, through other channels and sources. The three kinds of figure on the Attribution page. Each kind comes from a different source and answers a different question, so the three totals are different. ## What does each figure tell you? | Figure | Source | Divided by channel | Question the figure answers | | -------------------- | ---------------------------- | ------------------ | ------------------------------------------------------- | | **Reported** | Your connected sales sources | No | How much outcome did the business record in the period? | | **Channel Reported** | Each ad platform | Yes | How much outcome does each platform claim for itself? | | **Modeled (MMM)** | Your marketing mix models | Yes | How much outcome do the models attribute to each spend? | The reported figure is a total for the whole workspace. The sales sources do not divide the outcome by channel, so the **Performance Table** has no reported column. The **Reported** summary card and the reported metrics of **Attribution Over Time** show the figure. ## Why do the channel-reported figures add up to more than the modeled figure? Each ad platform takes full credit for the outcome that it reports. The channel-reported figures of the channels therefore overlap, and their total is typically more than the modeled total. ## What are Base and Halo? The modeled outcome of a row has two parts. - **Base** is the outcome that the spend of the row drives directly. The product calls this the first-order effect. - **Halo** is the outcome that the spend drives indirectly, by lifting other channels and sources. The product calls this the second-order effect. The total modeled outcome of a row is Base plus Halo. The **MMM** summary cards and the modeled columns show the total and each part. The **Base & Halo Flows** section shows the two parts for each channel. Use **Base Only** or **Halo Only** to see one part. > **Efficiency for one part:** Spend does not divide into Base and Halo. When you see an efficiency figure for Base only or for Halo only, the product measures that part of the outcome against the full spend of the row. ## How do you read an efficiency figure? An efficiency figure compares an outcome with spend. The direction depends on the metric of your target. - For a ratio such as ROAS, the figure is the outcome for each $1 of spend. A higher value is better. - For a cost such as CAC, the figure is the spend for each unit of outcome. A lower value is better. The efficiency metric of the page comes from the target that you select. ## Why does reported revenue leave out some revenue? For a revenue target, the **Reported** card counts transactional revenue only. Subscription revenue and wholesale revenue are not in the figure. When your data has revenue of these types, the tooltip of the card states the excluded amount. In **Attribution Over Time**, turn on **Include subscription & wholesale** to add the two types to the reported revenue series. The card does not change. ## Why is the page daily or weekly? The date granularity of the page follows the selected models. If every selected model is daily, the page is daily. If one or more selected models are weekly, the page is weekly and a date range contains whole weeks only. The charts can combine the periods into larger ones. A daily page offers day, week, month, quarter, and year in the chart. A weekly page starts at week. ## Why does the default period end before today? The default period ends on the last day that has modeled data. The models do not have results for the days after that day. With 2 or more models selected, the day is the earliest of the last modeled days of the models. The date picker and the **Performance Table** both show this day as a link that reads **Modeled through** and a date. The link opens Model Center. See [Find how current a model is](https://docs.prescientai.com/model-center/find-how-current-a-model-is). # Media Forecaster Source: https://docs.prescientai.com/media-forecaster > What Media Forecaster does, what a plan contains, and which guide to read for each task. Media Forecaster recommends how to split a marketing budget across your channels, tactics, and campaigns for a period that you choose. You set one goal, a budget, and the media that the plan can use. Media Forecaster then forecasts the period with your marketing mix models and returns a plan that you can compare with your current spend mix. To open Media Forecaster, select **Media Forecaster** in the **Marketing** group of the sidebar. ## What can you do with Media Forecaster? Media Forecaster answers three kinds of budget question. Each kind is a goal family in the product. | Goal family | What the plan does | | -------------------------- | ------------------------------------------------------------------------------------------------ | | **Grow on a fixed budget** | The plan spends the whole budget and maximizes the outcome. | | **Hit a target** | The plan reaches the target that you set for the least spend. | | **Hold efficiency** | The plan spends as much as possible while the efficiency ratio stays at the target that you set. | The goals that you see depend on the active models of your account. Each goal carries the name of a modeled metric. > **Modeled numbers, not reported numbers:** The forecasts and the outcomes in a plan come from your marketing mix models. A plan does not use the outcome that an ad platform reports. The spend in **Actual to date** is your recorded spend. ## What does the Media Forecaster page show? The Media Forecaster page shows a daily recommendation and the list of plans that people on your team created. The recommendation card shows the estimated lift and the channels with the largest lift. ![The Estimated lift box and the Top channels to grow box of the Default Plan Recommendations card](https://docs.prescientai.com/_astro/default-plan-recommendation.DLMdmR6C_23DxuD.webp) - **Default Plan Recommendations** is a card at the top of the page. Media Forecaster generates the recommendation automatically each day from your default settings. Select **Create plan** to open the New plan wizard with the same default settings. - The plans list shows the name, status, mode, goal, date range, owner, and last update of each plan. You can search, filter, and sort the list. - **New plan** starts a plan from the beginning. ## How does a plan get its numbers? A plan compares three sets of numbers over the same planning period: the baseline, the optimized plan, and your actual results to date. 1. **Reference period** (You select): Past dates that set which media is eligible and the current spend of each row. 2. **Baseline** (Media Forecaster builds): The reference spend mix, scaled to your budget and forecast over the planning period. 3. **Optimized** (Media Forecaster recommends): The budget moved between rows, inside your spend flexibility and limits, to reach your goal. 4. **Actual to date** (So far): Reported spend and modeled outcome so far in the planning period, paced against Optimized or Baseline. How Media Forecaster builds the numbers in a plan. Baseline, Optimized, and Actual to date use the same models and the same planning period. Read [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built) for the full explanation. ## What are the plan statuses? A plan has one of four statuses. A plan runs in the background, so you can leave the page while the plan runs. | Status | Meaning | | -------------- | ---------------------------------------------------------------------------------- | | **Queued** | The plan is waiting to start. | | **Processing** | The plan is running in the background. | | **Ready** | The plan finished and the results are available. | | **Failed** | The plan did not finish. The plan page says what happened and how to fix the plan. | ## Next steps [Build your first plan](https://docs.prescientai.com/media-forecaster/your-first-plan): A lesson with one fixed path, from New plan to a plan that runs. [Create and run a plan](https://docs.prescientai.com/media-forecaster/create-a-plan): Follow the five steps of the New plan wizard. [Read plan results](https://docs.prescientai.com/media-forecaster/read-plan-results): Check the goal, the budget moves, and the pacing of a plan. [Manage plans](https://docs.prescientai.com/media-forecaster/manage-plans): Find, duplicate, rename, share, and delete plans. [Fix a failed plan](https://docs.prescientai.com/media-forecaster/fix-a-failed-plan): Find the cause of a failed plan and run the plan again. [Plan settings](https://docs.prescientai.com/reference/media-forecaster/plan-settings): The options and limits of the Timeline, Goal, and Budget steps. [Media and run settings](https://docs.prescientai.com/reference/media-forecaster/media-and-run-settings): The options and limits of the Media step and the Review & run step. [Plans list and plan results](https://docs.prescientai.com/reference/media-forecaster/results): Every status, card, column, and menu of the plans list and the plan page. # Create and run a plan Source: https://docs.prescientai.com/media-forecaster/create-a-plan > Use the New plan wizard to build a Media Forecaster plan, check the plan for problems, and run the plan. To create a plan, select **New plan** on the Media Forecaster page and complete the five steps of the wizard: **Timeline**, **Goal**, **Budget**, **Media**, and **Review & run**. The plan then runs in the background and appears in your plans list. ## Before you begin Check these two conditions before you start a plan. - Your account has one or more active models. Without an active model, the **Goal** step has no goals to select. - The campaigns that you want to plan had spend in the reference period. A campaign needs spend of 100 or more, in the display currency of your workspace, to appear in the plan. ## Start a plan 1. Select **Media Forecaster** in the **Marketing** group of the sidebar. 2. Select **New plan**. The wizard opens on the **Timeline** step. The rail shows the five steps and a summary of each completed step. > **Tip:** **Create plan** on the **Default Plan Recommendations** card also opens the New plan wizard. The wizard opens with its default settings. The daily recommendation uses the same default settings, so the wizard does not copy the recommended plan. You can change each setting before you run the plan. ## Step 1: Set the timeline The **Timeline** step sets the models, the reference period, and the planning period. The capture shows the step with the **Models** menu open. ![The Timeline step with the Models menu open. The menu lists two models and the last modeled day of each model](https://docs.prescientai.com/_astro/new-plan-timeline.APaXfBqP_2dCr8h.webp) 1. In **Models**, keep the selected models or choose different models. Media Forecaster selects the default model for each channel. A plan needs one or more models. 2. In **Reference period**, select **Most recent**, **Same time last year**, or **Custom**. The reference period sets which media is eligible and the current spend of each row. 3. In **Planning period**, select a length or a quarter. To choose exact dates, select **Custom…**, set **Start** and **End**, and select **Apply**. The planning period is the period that the plan allocates budget across. The start date can be as many as 14 days before today, and the end date must be today or later. The length options start today. On a plan in weeks, they start at the next week boundary. 4. Select **Continue**. On the **Timeline**, **Goal**, and **Budget** steps, you can select **Skip to review** to go to **Review & run** without the steps between. The steps that you skip keep their default settings. > **A start date before today:** If the planning period starts before today, a note below the period gives the days that are past. For those days, the plan uses your recorded spend, and the optimizer plans the days that remain. The **Goal** and **Budget** steps show what the past days delivered and how much budget is left. See [Plan settings](https://docs.prescientai.com/reference/media-forecaster/plan-settings#planning-period-that-starts-before-today). > **Days or weeks:** The models set the cadence of the plan. If every selected model is daily, the plan uses days. If one or more selected models are weekly, the plan uses weeks and the dates move to week boundaries. ## Step 2: Choose the goal The **Goal** step sets the one goal of the plan and the plan type. ![The Goal step, with three goal families, their goal options, and the Plan type control set to Optimization](https://docs.prescientai.com/_astro/new-plan-goal.Cx97ETs5_1rM7z8.webp) 1. Select a goal card. The goal cards are grouped into families: **Grow on a fixed budget**, **Hit a target**, and **Hold efficiency**. The goals in each family depend on the active models of your account. 2. If the goal needs a target, enter the target. Media Forecaster suggests a target that is 10% better than the forecast with no changes. The target is the total modeled figure for the planning period. The target is not growth on top of the current figure. 3. In **Plan type**, select **Optimization** or **Forecast**. Until you open the **Goal** step, Media Forecaster sets the plan type from the length of the planning period: **Forecast** for 42 days or more, and **Optimization** for a shorter period. 4. Select **Continue**. | Plan type | When to use it | | ---------------- | --------------------------------------------------------------------------- | | **Optimization** | Reallocates budget across your live campaigns. Best for the next few weeks. | | **Forecast** | Plans on your channels and tactics. Best for longer horizons. | If the planning period is short or long for the plan type, Media Forecaster shows a message with a **Switch** button. Select **Switch** to change the plan type, or keep your selection. After **Switch**, a confirmation shows with **Undo**. **Undo** restores the earlier plan type and the settings that the switch changed. **Undo** goes away when you change a setting. ## Step 3: Set the budget The **Budget** step sets how much the plan can spend and how far the optimizer can move each row. ![The Budget step, with the Marketing budget field, the Adjust control at 0%, and Spend flexibility set to Medium](https://docs.prescientai.com/_astro/new-plan-budget.BAS9dx-V_tcN2U.webp) 1. Check the budget amount. The budget starts at your reference-period spend, scaled to the length of the planning period. 2. To change the budget, type an amount, or use **Adjust** to move the budget up or down by a percentage. Select **Reset** to return to the baseline amount. 3. If the goal is in the **Hit a target** family, select **Set a ceiling** or **Solve for it**. With **Set a ceiling**, you enter the maximum budget. With **Solve for it**, your models find the spend that the target needs. A goal in the **Hold efficiency** family has a target and does not have this choice. **Solve for it** is available on the two plan types. On a **Forecast** plan, the models solve for the spend over the dates that you select. 4. In **Spend flexibility**, select how far the optimizer can move each row from its baseline. 5. Select **Continue**. | Spend flexibility | Band | Effect | | ----------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------- | | **Fixed** | 1× to 1× | Each row keeps its share of the current mix. Only the total changes with the budget. | | **Low** | 0.8× to 1.2× | Each row stays within 20% of its baseline. | | **Medium** | 0.5× to 1.5× | Each row can go from half of its baseline to one and a half times its baseline. This option is the default. | | **High** | 0× to 2× | Each row can be cut to zero or doubled. | | **Unconstrained** | 0× to 5× | Each row can go from zero to five times its baseline. Above 2×, the plan relies on extrapolated curves. | | **Custom** | You set the minimum and the maximum | You set the band. The scale runs from 0× to 5×. | A band is a multiple of the baseline of each row. For example, 0.5× to 1.5× lets a row go from half of its baseline to one and a half times its baseline. Spend flexibility does not change the total budget. ## Step 4: Select the media The **Media** step sets which channels, tactics, and campaigns the plan can use. On an **Optimization** plan, the table nests rows as channel, then tactic, then campaign. On a **Forecast** plan, the table has no campaign rows. The table lists channels, with their tactics when your account has tactics for the channel. ![The Media step, with the Exclude inactive switch, a table of seven channels, and the Review button](https://docs.prescientai.com/_astro/new-plan-media.B9Jp2_dJ_Z1E29YT.webp) 1. Select the rows to include in the plan. Clear a row to leave the row out of the plan. A plan needs one or more rows. 2. Optional: in the **Allocation** column, set an allocation type for a row. Enter the limit as a currency amount or as a percentage of the baseline of the row. 3. Optional: turn on **Exclude inactive** to leave out each campaign that had no spend in the last 7 days of the reference period. **Exclude inactive** is off by default. The switch appears only when activity data exists. 4. Select **Review**. The **Allocation** menu of a row has four allocation types. ![The Allocation menu open on the Google Ads row, with the options Optimize, Max spend, Min spend, and Fixed](https://docs.prescientai.com/_astro/allocation-control.D9rLBTDJ_1ovrph.webp) | Allocation type | Effect | | --------------- | ------------------------------------------------------------------------------------ | | **Optimize** | The optimizer allocates the row freely. | | **Max spend** | The optimizer allocates the row but stays at or below the ceiling that you set. | | **Min spend** | The optimizer allocates the row but stays at or above the floor that you set. | | **Fixed** | The row gets exactly the amount that you set. The optimizer does not change the row. | > **The Media table shows reference numbers:** The **Spend** column and the two **MMM** columns show your reference period, prorated to the length of the plan. These columns are not the baseline plan and not the optimized plan. > **Limits that do not fit the budget:** If the limits on your rows do not fit the budget, the step lists each limit that blocks the run. Select **Show** next to a limit to go to the row. Then change the limit or the budget. ## Step 5: Review and run the plan The **Review & run** step shows what the plan will do and lets you name and share the plan. The status of the plan is at the top of the step. Below the status, the step lists the three stages of a run and has the fields for the name and the visibility. The **Run plan** button is at the bottom of the step. ![The Review & run step, with the status at the top, the three stages of a run, the plan name, Visibility, and the Run plan button](https://docs.prescientai.com/_astro/new-plan-review.Zb63EOd2_Z2qIASe.webp) 1. Check the status at the top of the step. **Ready to forecast** means that the plan can run. If the status shows steps to finish, select **Fix** next to the step that has an issue. 2. Check the three stages under **What happens when you run**. To change a setting, select the link next to the stage, for example **Edit budget** or **Edit media**. The first stage counts the campaigns in the plan, on a **Forecast** plan also. 3. In **Name your plan**, keep the automatic name or type a name. Media Forecaster names the plan from the goal and the dates until you type a name. 4. Optional: add a description. 5. In **Visibility**, select **Only me** or **My team**. **Only me** is the default. With **My team**, everyone on your team can see the plan. 6. Select **Run plan**. The plan is queued and runs in the background. The plan page shows the elapsed time and an estimate of the duration. You can leave the page. The plan appears in your plans list with the status **Ready** when the plan finishes. ## How long does a plan take? The **Review & run** step and the plan page show an estimate of the duration. On the **Review & run** step, the estimate for a **Forecast** plan with the default estimate reads **Usually takes about 1–2 min**. When your account has three or more similar past plans, the estimate comes from the durations of those plans. A similar plan has the same plan type and from half to double the number of campaigns. With fewer similar plans, Media Forecaster shows a default estimate. The default estimate for an **Optimization** plan grows with the number of campaigns. | Plan | Estimated duration | What it does | | ------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------ | | Optimization, up to 50 campaigns | about 1–3 min | | | Optimization, 51 to 150 campaigns | about 2–8 min | | | Optimization, 151 to 300 campaigns | about 5–15 min | | | Optimization, more than 300 campaigns | about 10–30 min | | | Forecast, any size | about 1–2 min | The default range is 30 seconds to 2 minutes. The product rounds the range to whole minutes, with a minimum of 1 minute. | ## Next steps - [Read plan results](https://docs.prescientai.com/media-forecaster/read-plan-results) when the status of the plan is **Ready**. - [Fix a failed plan](https://docs.prescientai.com/media-forecaster/fix-a-failed-plan) if the status of the plan is **Failed**. - See [Plan settings](https://docs.prescientai.com/reference/media-forecaster/plan-settings) and [Media and run settings](https://docs.prescientai.com/reference/media-forecaster/media-and-run-settings) for every option and limit. # Read plan results Source: https://docs.prescientai.com/media-forecaster/read-plan-results > How to check the goal of a finished Media Forecaster plan, see where the budget moves, track actual results, and export the numbers. To read a plan, open a plan with the status **Ready** from the plans list. The plan page shows the settings of the plan, a row of summary cards, the **Performance Over Time** section, and the **Media Breakdown** table. ## How do you check whether the plan reaches the goal? The summary cards at the top of the plan page compare the optimized plan with the baseline. The two cards with titles that end in **Optimized** show the modeled result of the plan. ![The Media Revenue card and the Media ROAS card of a plan, each with the optimized value, the baseline, and the actual value to date](https://docs.prescientai.com/_astro/plan-optimized-cards.BzaLZOc9_16ARRQ.webp) 1. Open the plan from the plans list. 2. If the goal has a target, read the target card. The card reads **Target Hit**, **Target Missed**, or **Target · Directional**. The card shows the achieved value, **Recommended spend**, and **Max budget**. A card that reads **Target Missed** can also show **Gap**. **Target · Directional** means that the estimate reaches the target at a spend that is more than your models have seen. Read the result as a direction, not as a firm forecast. 3. Read the **Spend** card. **Plan Budget** is the total spend that the optimized plan recommends for the whole period. 4. Read the two cards with titles that end in **Optimized**. The first card shows the modeled outcome of the optimized plan and the lift over the baseline. The second card shows the efficiency ratio that the outcome and the spend imply. Each of the three comparison cards also shows **Actual to date**. The two optimized cards show the **Baseline** value below the optimized figure. The **Spend** card shows **Plan Budget** there, not a baseline value. The **Period** card shows the planning period and how far the period has progressed. > **Note:** The target card can read "Target is not achievable within the modeled spend range". The settings of a finished plan are locked, so to try a different target, budget, or media, duplicate the plan. > **A plan that started before the day of its run:** If the planning period started before the day that the plan ran and one or more past days were locked, a note below the summary cards gives the dates that were past and the spend that was recorded on them. The baseline and the optimized plan are the same for those dates, and the **Performance Over Time** chart shades them with the label **Actual spend**. ## How do you see where the budget moves? The **Media Breakdown** table shows the baseline and the optimized values for each row, so the difference is the budget move that the plan recommends. The controls above the table set the rows and the format of the table. ![The controls above the Media Breakdown table: the channel filter, three tabs, the % and $ toggle, Pacing, and CSV](https://docs.prescientai.com/_astro/plan-media-breakdown-controls.2d6qgHgB_Z1YhiaS.webp) The next capture shows the **Channel** tab. The channel filter in the capture shows six of the seven channels of the plan, so the **Total** row reads **6 of 7 channels**. ![The Media Breakdown table on the Channel tab, with Baseline and Optimized columns for six of the seven channels of the plan](https://docs.prescientai.com/_astro/plan-media-breakdown-channel.CHKgxW6j_1KQVsi.webp) 1. Go to **Media Breakdown**. 2. Select the **Channel**, **Tactic**, or **Campaign** tab. The **Campaign** tab is available on an **Optimization** plan only. 3. Compare the **Baseline** columns with the **Optimized** columns for each row. Use the **%** and **$** toggle to show each change as a percentage or as a currency amount. 4. Read the **Allocation** column to see the limits that you set. A row with no limit reads **Optimized**. A row with a limit shows the amount. An underlined amount means that the optimizer reached the limit. 5. Expand a row to see the rows under it and the saturation curve of a tactic or campaign. On an **Optimization** plan, the **Campaign** tab also has a marginal column, for example **Marginal ROAS**. The marginal column shows the modeled return from the next unit of spend at the recommended spend. The name of the column depends on the goal of the plan. ## How do you see the plan for each day or week? The **Performance Over Time** section shows the plan for each day or week of the planning period. ![The Performance Over Time chart in the Compare view, with Baseline, Optimized, and Actual lines for Media Revenue](https://docs.prescientai.com/_astro/plan-performance-over-time.CA-krWxM_Zs5SdR.webp) 1. Go to **Performance Over Time**. 2. Select a view: **Compare**, **Breakdown**, or **Table**. **Compare** charts the **Optimized**, **Baseline**, and **Actual** series. **Breakdown** splits the chart by channel, tactic, or model. **Table** shows one row for each period. 3. Select the metric to show: the outcome, **Media Spend**, or the efficiency ratio. ## How do you track actual results against the plan? Use the **Pacing** menu in **Media Breakdown** to compare your actual results with the plan while the planning period runs. 1. In **Media Breakdown**, select **Pacing**. 2. Turn on **Show actual-to-date columns**. 3. In **Compare actual against**, select **Optimized plan** or **Baseline plan**. 4. In **Over**, select **Expected to date** or **Full plan period**. **Expected to date** adds up the values of the plan for each period through today. A plan that spends more in later periods is therefore not compared with an even daily split. > **A dash in an actual column:** A row shows a dash when none of its campaigns recorded spend after the plan started. In most cases, the campaigns were paused or replaced after the reference period. ## How do you view the results for one model? On a plan with more than one model, select a model chip in the plan header to exclude or include the model. The page then shows **Viewing a slice**. Select **Reset** to return to the full plan. In a filtered view, the modeled results count the selected models only. Spend stays the full spend of the plan. The filter is part of the page address, so you can share the filtered view as a link. ## How do you export plan results? Both results sections have a **CSV** menu. - In **Media Breakdown**, select **CSV**. The menu has two headings. Below **Plan totals**, select an item to export the rows on screen. Below the daily or weekly schedule heading, select an item to export the plan for each period. The file name starts with `media_breakdown_` and has the plan name and the date. - In **Performance Over Time**, select **CSV** to export the daily or weekly schedule. The menu has **Plan total** and one item for each breakdown that the plan has: **By channel**, **By tactic**, **By campaign**, and **By model**. **By campaign** shows when the plan has campaign rows, which is the case for an **Optimization** plan. **Plan total** and the **By** items are below a heading that reads **Daily schedule** or **Weekly schedule**. Each item downloads one file. The file name starts with `daily_schedule_` or `weekly_schedule_` and has the plan name, the breakdown, and the date. A filtered view adds `_filtered_models` or `_filtered_channels` to the name. ## Related pages - [Plans list and plan results](https://docs.prescientai.com/reference/media-forecaster/results) lists every card, column, and menu on the plan page. - [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built) explains baseline, optimized, and actual to date. # Manage plans Source: https://docs.prescientai.com/media-forecaster/manage-plans > Find, duplicate, rename, share, and delete Media Forecaster plans, and view the settings that a finished plan ran with. You manage plans from the plans list on the Media Forecaster page and from the header of each plan page. The settings of a finished plan are locked, so you duplicate a plan to change its settings. ## How do you find a plan? Use the search box and the filters above the plans list. - Type in **Search plans…** to search the list. - Use the owner filter to show **All owners**, **My plans**, or the plans of one person. - Use the status filter to show plans that are **Queued**, **Processing**, **Ready**, or **Failed**. - Use the mode filter to show **Optimization** or **Forecast** plans. - Use **Public** and **Private** to filter by visibility. - Select a column heading to sort the list. Select **Clear** to remove the filters. The list shows 15 plans on each page. A lock icon next to a plan name marks a private plan. ## How do you change the settings of a finished plan? You cannot change the settings of a finished plan, because the results depend on the settings. Duplicate the plan, change the settings in the copy, and run the copy. 1. In the plans list, open the menu of the plan and select **Duplicate**. You can also select **Duplicate** in the menu of the plan page header. 2. Change the settings in the wizard. The copy has the name of the original with the prefix "Copy of". If the planning period of the original started before today, the copy keeps the length of the period and starts today. A weekly plan starts at the next week boundary. If the campaigns of your account changed after the original plan, the wizard tells you how many campaigns from the original "aren't available here" and how many campaigns were not in the original. The new campaigns are not selected. 3. Select **Run plan**. To see the settings that a plan ran with, open the plan, open the header menu, and select **View configuration**. The settings that the results depend on are locked on the configuration page. Under **Name & sharing**, you can change the name, the description, and **Visibility**, then select **Save**. The page shows **Plan updated.** and returns to the plan. The plan creator can save these changes. An Admin can also save them for a plan that is not private. The page states the rule: "Only name, description and visibility can change here. Duplicate the plan to edit anything else." Select **Duplicate to edit** on that page to start a copy. ## How do you share a plan with your team? Open the plan and select **Make public**. Everyone on your team can then see the plan. Select **Make private** to return the plan to private. The button shows to each person who can see the plan. The change is saved only for the plan creator, and for an Admin on a plan that is not private. For any other person, the product shows "You don't have permission to edit this plan." You can also set **Visibility** to **My team** on the **Review & run** step when you create a plan. A new plan is private by default. ## How do you rename or delete a plan? 1. In the plans list, open the menu of the plan. 2. Select **Rename**, type the new name in **Plan name**, and select **Save**. To delete the plan, select **Delete**, then select **Delete** in the confirmation. > **Caution:** Deleting a plan is permanent. You cannot restore a deleted plan. **Rename** and **Delete** appear for the owner of the plan. A company admin can also rename or delete a plan that is not private. **Open** and **Duplicate** appear for every person who can see the plan. # Fix a failed plan Source: https://docs.prescientai.com/media-forecaster/fix-a-failed-plan > What to do when a Media Forecaster plan has the status Failed, and how Media Forecaster stops a plan that would fail. To fix a failed plan, open the plan and read the badge next to the failure. The badge tells you whether the plan needs a settings change or whether the cause is on the Prescient side. The plan page then offers the actions that apply. ## How do you find the cause of a failed plan? 1. On the Media Forecaster page, set the status filter to **Failed**. 2. Open the plan. 3. Read the badge. 4. Read **What happened** and **How to fix it**. | Badge | Meaning | | ---------------------------------- | -------------------------------------------------------------------- | | **On our side, not your settings** | The cause is on the Prescient side. Your settings are not the cause. | | **Needs a settings change** | The plan can run after you change one or more settings. | ## How do you run a failed plan again? Select the action on the plan page that matches the fix. The actions that you see depend on who you are and on the dates of the plan. Only the person who created the plan sees **Edit settings and re-run** and the action that runs the plan without a campaign. The retry action does not show after the end date of the plan has passed. Each person who can see the plan can duplicate it. | Action | What it does | | ---------------------------------------- | ----------------------------------------------------------------------------------- | | **Retry optimization or Retry forecast** | Runs the plan again with the same settings. | | **Edit settings and re-run** | Opens the plan settings so that you can change the settings and run the plan again. | | **Duplicate instead** | Makes a copy of the plan that you can change and run. | | **Duplicate to edit** | Makes a copy of the plan that you can change and run. | | **Run without this campaign** | Removes the campaign that blocks the plan and runs the plan again. | The name of the retry button depends on the plan type. ### Change the settings and run the plan again 1. Select **Edit settings and re-run**. The wizard opens with the settings of the failed plan. If the planning period started more than 14 days ago, or is over, the wizard moves the dates forward and keeps the length of the period. 2. Change the setting that **How to fix it** names. 3. Select **Re-run plan**. ### Run the plan without a campaign If one or more campaigns of the plan have no modeled curve, the plan page offers **Run without this campaign** to the person who created the plan. For more than one campaign, the button gives the number of campaigns. 1. Select **Run without this campaign**. 2. In the confirmation, select **Remove and run**. > **When the cause is on the Prescient side:** If the badge reads **On our side, not your settings**, your settings are not the cause. The plan page lists what to do. The steps are "Retry the plan." and then "If it fails again, contact your Customer Success Manager." or "If it times out again, contact your Customer Success Manager." ## How does Media Forecaster prevent failed plans? Media Forecaster checks each plan before the run. If a check finds a problem, the wizard shows the problem next to the step that causes it, and the plan cannot run until you fix the problem. Many problems have a button that applies the fix, for example a button that sets the budget to an amount that fits. These are the problems that the checks find: - The budget is below the amount that the selected media must spend. - The budget is more than the selected media can absorb. - The spend flexibility band cannot run with a fixed budget. - One or more rows with a **Fixed**, **Min spend**, or **Max spend** limit do not fit the spend flexibility band. - A selected model is not ready for planning. - One or more selected campaigns are not in your latest model, or have no modeled curve. - One or more selected campaigns are not published for planning yet, are not available for planning yet, or have conflicting models. - On a plan that starts before today, the recorded spend of the past days uses the full budget, or the past days already delivered the target. A budget that is more than 2 times the reference spend, or less than half of it, produces a warning. The warning does not stop the plan. # How Media Forecaster builds a plan Source: https://docs.prescientai.com/media-forecaster/how-plans-are-built > How the reference period, baseline, optimized plan, actual to date, spend flexibility, and marginal return fit together in a Media Forecaster plan. The numbers in a Media Forecaster plan come from four stages. You select a reference period. Media Forecaster builds the baseline from that period, recommends the optimized plan, and then shows your actual results to date. The baseline and the optimized plan are two forecasts of the same planning period. You compare the two forecasts with each other and with your actual results. 1. **Reference period** (You select): Past dates that set which media is eligible and the current spend of each row. 2. **Baseline** (Media Forecaster builds): The reference spend mix, scaled to your budget and forecast over the planning period. 3. **Optimized** (Media Forecaster recommends): The budget moved between rows, inside your spend flexibility and limits, to reach your goal. 4. **Actual to date** (So far): Reported spend and modeled outcome so far in the planning period, paced against Optimized or Baseline. How Media Forecaster builds the numbers in a plan. Baseline, Optimized, and Actual to date use the same models and the same planning period. ## Why does a plan have two periods? A plan has two periods because the two periods answer different questions. The reference period answers "what does current spend look like?". The planning period answers "what dates is the plan for?". | Detail | Reference period | Planning period | | ---------------------- | ----------------------------------------------------------- | ------------------------------------------------- | | Dates | In the past | From 14 days before today, or later | | Sets | Which media is eligible, and the starting spend of each row | The dates that the plan allocates budget across | | Effect on the forecast | Gives each row its share of the budget | Gives the forecast the seasonality of those dates | The reference period does not limit what your models know. The models train on your full history. Which campaigns your models include is a different rule from which media a plan can use, and this page describes only the rule of the plan. The reference period only decides which media the plan can use and how much each row spends at the start. To be eligible, a campaign must have spent 100 or more, in your display currency, in the reference period. The campaign must also have a modeled metric for the goal of the plan. Media Forecaster scales the reference spend to the length of the planning period. If the reference period is 30 days and the planning period is 90 days, the starting budget is the daily reference spend multiplied by 90. A planning period can start as many as 14 days before today. The past days that have recorded spend cannot be planned, so the baseline and the optimized plan use the spend that was recorded on those days. The optimizer plans only the days that remain, with the budget that is left. For the rules, see [Plan settings](https://docs.prescientai.com/reference/media-forecaster/plan-settings#planning-period-that-starts-before-today). ## What is the baseline? The baseline is your reference-period spend mix, scaled to the budget of the plan. Each row keeps its share of reference spend. Media Forecaster forecasts the baseline with the same models, over the same planning period, as the optimized plan. The baseline is the starting point of the plan, before the optimizer moves any budget. The optimized plan is measured against the baseline, so the lift in a plan is the difference between two forecasts of the same period. > **Note:** A limit on a row can shift the baseline. If you hold a row above its share of the budget, the other rows share a smaller remainder. ## What is the optimized plan? The optimized plan is the budget split that Media Forecaster recommends, and what the models forecast that split to deliver over the planning period. The optimizer moves budget between rows to reach your goal. What the optimizer does with the budget depends on the goal. - **Grow on a fixed budget**: the plan spends the whole budget, so the optimizer only changes how the budget is split. - **Hit a target**: with **Set a ceiling**, the optimizer spends up to your maximum budget, and less if the target is reachable for less. With **Solve for it**, your models find the spend that the target needs. - **Hold efficiency**: the optimizer spends as much of your maximum budget as it can while the efficiency ratio stays at your target. The optimizer works inside two kinds of constraint that you set. - **Spend flexibility** applies to every row. It sets how far each row can move from its baseline, as a band such as 0.5× to 1.5×. - An allocation type applies to one row. **Max spend** sets a ceiling, **Min spend** sets a floor, and **Fixed** takes the row out of the optimization. A wider band gives the optimizer more room to improve the plan. A wider band also makes the plan depend more on the response curves of your models. Above 2× of the baseline, the plan relies on extrapolated curves, so the results are less certain. Spend flexibility changes how the budget is split. Spend flexibility does not change the total budget. ## What does the marginal column measure? The marginal column measures the modeled return from the next unit of spend at the recommended spend. A row-level average tells you how the whole budget of a row performs. The marginal value tells you how the next dollar performs. - For a return metric such as ROAS, the marginal value is the modeled return from the next $1. - For a cost metric such as CAC, the marginal value is the modeled cost of one more result. The name of the column depends on the goal of the plan. Whether your account sees a return metric or a cost metric depends on your models. ## What is actual to date? Actual to date is what happened so far in the planning period: the spend that your reporting recorded, and the outcome that your models attribute to that spend. Baseline and optimized are forecasts. Actual to date is not a forecast, but its outcome is a modeled value, so it can differ from the number in your store or ad platform. When you compare actual results with a plan, you choose what to compare against. - **Optimized plan** or **Baseline plan** selects the forecast. - **Expected to date** or **Full plan period** selects the span. **Expected to date** adds up the values of the plan for each period through today. This follows the shape of the plan. A plan that spends more in later periods is not compared with an even daily split. ## How do Optimization and Forecast plans differ? The plan type sets the level of detail that the plan works at. | Detail | Optimization | Forecast | | ----------------------------------------------------------- | ------------------------------- | ------------------------- | | Works on | Your live campaigns | Your channels and tactics | | Best for | The next few weeks | Longer horizons | | Spend flexibility applies to | Each campaign | Each tactic or channel | | **Campaign** tab in results | Yes | No | | **Solve for it**, for a goal in the **Hit a target** family | Available | Available | | **Shortest feasible** | Available with **Solve for it** | Not available | Media Forecaster suggests **Forecast** for a planning period of 42 days or more. ## Why are the settings of a finished plan locked? The settings of a finished plan are locked because the results depend on the settings. A change to the budget, the dates, or the media produces a different plan. To change a setting, duplicate the plan and run the copy. The original plan and its results stay as a record. # Account and settings Source: https://docs.prescientai.com/account > Where to find the settings of your workspace and of your own account, what each page holds, and which guide to read for each task. Two pages hold the things that you can set in Prescient AI. **Settings** holds the settings of your workspace: the display currency, the members, the API keys, and the billing. **Account** shows your own profile and your cookie settings. The capture shows the **Settings** page on the **Workspace** tab. ![The Settings page on the Workspace tab with the Display currency selector set to USD.](https://docs.prescientai.com/_astro/settings-workspace.CyD-f9-u_Z2ePtbQ.webp) A workspace holds the data, the models, and the members of one organization in Prescient AI. ## Where are the settings of the workspace? Select the gear icon in the top bar. The **Settings** page opens. The page has up to four tabs. Your role sets which tabs you see. | Tab | Who sees it | What it holds | | ------------- | ----------- | ------------------------------------------------------------------------------------------------------------------ | | **Workspace** | Everyone | The display currency of the workspace. Only an Admin can change it. | | **Members** | Everyone | The people who have access to the workspace. Only an Admin can invite a person, change a role, or remove a person. | | **API keys** | Admin | The keys that authenticate requests to the Prescient GraphQL API. | | **Billing** | Admin | The status of the subscription and the button that opens the billing portal. | For the full list of what each role can do, see [Roles and members](https://docs.prescientai.com/reference/account/roles-and-members). ## Where is your own account? Select your avatar in the top bar. The menu shows your name and your email, with two items. | Menu item | What it does | | ----------- | ------------------------------ | | **Account** | Opens the **Account** page. | | **Log out** | Signs you out of Prescient AI. | The **Account** page has two cards. **Profile** shows your name and your email. **Cookie settings** shows whether analytics cookies are on in this browser. ## What can you not change in the product? Some settings that you could expect are not in **Settings** or **Account**. - **Your name and your email.** The **Account** page shows them, and you cannot edit them there. The page says: _To change your name or email, contact your workspace admin._ The **Settings** page has no control with which an Admin can change the name or the email of a member. - **Your password.** You set and reset a password from the sign-in page. See [Sign in to Prescient AI](https://docs.prescientai.com/account/sign-in). - **A time zone or a week start day.** The product has no setting for them. - **Which emails you get.** The product has no setting that turns an email on or off. See [Emails from Prescient AI](https://docs.prescientai.com/reference/account/emails). The product currently tells you about changes that need your attention by email. ## Which guide do you need? - [Sign in to Prescient AI](https://docs.prescientai.com/account/sign-in): use a sign-in code or a password, and set or reset a password. - [Invite and manage members](https://docs.prescientai.com/account/manage-members): invite a teammate, choose a role, change a role, send an invitation again, and remove a person. - [Change the display currency](https://docs.prescientai.com/account/change-display-currency): choose the currency that labels the money figures of the workspace. - [Create and revoke an API key](https://docs.prescientai.com/account/manage-api-keys): make a key, copy it, and stop a key. - [Manage billing](https://docs.prescientai.com/account/manage-billing): open the billing portal and read the subscription status. - [Change your cookie settings](https://docs.prescientai.com/account/change-cookie-settings): allow or block analytics cookies in a browser. - [Switch to a different workspace](https://docs.prescientai.com/account/switch-workspaces): move between the workspaces that you are a member of. For exact values, see [Roles and members](https://docs.prescientai.com/reference/account/roles-and-members), [Sign-in and password rules](https://docs.prescientai.com/reference/account/sign-in-and-password-rules), [Settings and Account reference](https://docs.prescientai.com/reference/account/settings), and [Emails from Prescient AI](https://docs.prescientai.com/reference/account/emails). For the ideas behind access, see [Workspaces and organizations](https://docs.prescientai.com/account/workspaces), [Subscriptions and access](https://docs.prescientai.com/account/subscription-and-access), and [Single sign-on](https://docs.prescientai.com/account/single-sign-on). The settings in this area apply to each product area. For the first screen of the product, see [Prescient AI](https://docs.prescientai.com/prescient-ai). For saved conversations and who can read them, see [Library](https://docs.prescientai.com/library). ## Reference The reference pages of the settings and the account are in the **Reference** tab. Each page lists the exact labels, options, limits, and messages of one screen. - [Settings and Account reference](https://docs.prescientai.com/reference/account/settings): the **Settings** page, its tabs, the **Account** page, and the cookie settings. - [Roles and members](https://docs.prescientai.com/reference/account/roles-and-members): the two roles, the actions of each role, and the **Members** table. - [Sign-in and password rules](https://docs.prescientai.com/reference/account/sign-in-and-password-rules): codes, links, password requirements, and the messages of the sign-in page. - [Emails from Prescient AI](https://docs.prescientai.com/reference/account/emails): each email that the product sends, with its subject line and its expiry. For the meaning of a term, see the [Glossary](https://docs.prescientai.com/reference/glossary). # Sign in to Prescient AI Source: https://docs.prescientai.com/account/sign-in > Steps to get into the product, choose a first password, reset a forgotten one, and sign out. You can sign in two ways: with a sign-in code, or with your email and a password. A sign-in code is a one-time code of 6 digits that the product emails to you. You do not need a password. ## How do you sign in with a sign-in code? 1. Open the sign-in page and type your email. 2. Select **Send code**. The product emails you the sign-in code. The subject of the email is **Your Prescient AI sign-in code**. 3. Type the code in **Sign-in code** and select **Sign in**. The sign-in code expires 1 hour after the product sends it. The email also has a button that signs you in, and the button expires at the same time. If you typed the wrong email, select **Use a different email**. The page has no control that sends the code again. To get a new code, select **Use a different email** and start again with the same email. The page where you type the code shows for each email that you type. The product sends a code only to an email that has an account. If no email arrives, check the address. ## How do you sign in with a password? 1. On the sign-in page, select **Sign in with a password instead**. 2. Type your email and your password. 3. Select **Sign in**. To return to the sign-in code, select **Sign in with a one-time code instead**. ## How do you set a password or reset one? The steps are the same for a first password and for a password that you forgot. 1. On the sign-in page, select **Sign in with a password instead**. 2. Select **Set or reset password**. 3. Type your email and select **Email me a link**. The page shows **Check your email**. If an account exists for the email, the product sends a link. The subject of the email is **Set your Prescient AI password**. 4. Open the link in the email. The **Choose a password** page opens. 5. Type the password in **New password** and again in **Confirm password**. 6. Select **Save password**. The link expires about 1 hour after the product sends it. If the link expired, the page tells you to request a new one. Start again at step 1. A password must have 12 characters or more, with an uppercase letter, a lowercase letter, and a number. See [Sign-in and password rules](https://docs.prescientai.com/reference/account/sign-in-and-password-rules). > **Note:** A password does not replace the sign-in code. After you set a password, you can still sign in with a sign-in code. ## What if your organization uses single sign-on? The sign-in page tells you to sign in through your identity provider. You do not use a sign-in code or a password. See [Single sign-on](https://docs.prescientai.com/account/single-sign-on). ## What do you do with each email from Prescient AI? Each email has one action. For the subject line and the expiry of each email, see [Emails from Prescient AI](https://docs.prescientai.com/reference/account/emails). - **Sign-in code**: type the code on the sign-in page, or select the button in the email. - **Invitation**: select **Accept the invite & sign in**. See [Invite and manage members](https://docs.prescientai.com/account/manage-members). If you have a Prescient AI account and an Admin adds you to one more workspace, you get the sign-in code email, not this email. - **Password**: select **Set password**, then choose a password. - **Interrupted connection**: select **Re-connect Channel**. Data Center opens, where you connect the channel again. See [Fix a channel that needs attention](https://docs.prescientai.com/data-center/fix-a-channel-that-needs-attention). - **Failed payment**: open the **Billing** tab and update the card. See [Manage billing](https://docs.prescientai.com/account/manage-billing). If you did not ask for a sign-in code and no Admin invited you to a workspace, ignore the email. ## How do you sign out? Select your avatar in the top bar, then select **Log out**. # Invite and manage members Source: https://docs.prescientai.com/account/manage-members > Steps for an Admin to add a teammate to a workspace, pick Admin or Viewer, resend an invitation, edit a role, and take a person out of the workspace. The **Members** tab of the **Settings** page lists each person who has access to your workspace. An Admin can invite a person, change a role, and remove a person. A Viewer sees the list and cannot change it. The capture shows the top of the **Members** tab, with the **Invite member** button. ![The Members tab with the Invite member button, a search box, and the columns Name, Email, Role, Status, and Actions.](https://docs.prescientai.com/_astro/members-header.BoL0YYq9_ZStVKS.webp) To open the tab, select the gear icon in the top bar, then select **Members**. > **Note:** If the tab shows **Managed by single sign-on.**, these controls are not available. Your identity provider sets the members and the roles. See [Single sign-on](https://docs.prescientai.com/account/single-sign-on). ## How do you invite a teammate? 1. Select **Invite member**. 2. Type the **First name**, the **Last name**, and the **Email** of the person. Each of the four fields of the dialog is required. 3. Select a **Role**: **Admin** or **Viewer**. An Admin can manage the workspace. A Viewer cannot. See [Roles and members](https://docs.prescientai.com/reference/account/roles-and-members). 4. Select **Send invite**. The product shows **Invitation sent.** and emails the person. The person has access to the workspace from this moment and appears in the list with the status **Invited** until the first sign-in. A person without a Prescient AI account gets the email **You've been invited to Prescient AI**. A person who has a Prescient AI account gets the email **Your Prescient AI sign-in code**, not the invitation email. Tell the person to expect it. See [Emails from Prescient AI](https://docs.prescientai.com/reference/account/emails). The invited person does not need a password. The person signs in with a sign-in code, or sets a password from the sign-in page. See [Sign in to Prescient AI](https://docs.prescientai.com/account/sign-in). If the person is already a member of the workspace, the product does not send an invitation and tells you so. ## How do you send an invitation again? 1. Find the row of the person. The **Status** is **Invited** or **Pending**. 2. Open the actions menu at the end of the row. 3. Select **Resend invite**. The product shows **Invite re-sent.** ## How do you change a role? 1. Open the actions menu at the end of the row of an **Active** member. 2. Select **Edit role**. 3. Select **Admin** or **Viewer**. 4. Select **Save changes**. The product shows **Role updated**. ## How do you remove a person? 1. Open the actions menu at the end of the row of an **Active** member. 2. Select **Remove**. 3. Read the confirmation, then select **Remove**. The confirmation says that the person loses access to the workspace at the next sign-in, and that the account and the other workspaces of the person do not change. ## Why can you not change or remove a member? - **The row is your own.** You cannot change your own role or remove yourself. A different Admin must do it. - **The person is the last Admin.** A workspace must keep one Admin or more. Make a different person an Admin first. - **The person has not signed in yet.** A row with the status **Invited** or **Pending** has only **Resend invite**. **Edit role** and **Remove** appear after the person is **Active**. - **You are a Viewer.** Only an Admin sees **Invite member** and the actions menu. - **Single sign-on manages the workspace.** Make the change at your identity provider. ## How do you find a member in a long list? Type a name or an email in the search field above the table. The table shows 15 members on a page. For each message of the **Members** tab, see [Roles and members](https://docs.prescientai.com/reference/account/roles-and-members#messages). # Change the display currency Source: https://docs.prescientai.com/account/change-display-currency > Steps for an Admin to pick the currency of a workspace, and what the choice does and does not do to the amounts that you see. The display currency is the currency that labels each money figure in your workspace: spend, revenue, and cost-per metrics. A workspace has one display currency. Only an Admin can change it. The capture shows the **Display currency** selector on the **Workspace** tab. ![The Settings page on the Workspace tab with the Display currency selector set to USD.](https://docs.prescientai.com/_astro/settings-workspace.CyD-f9-u_Z2ePtbQ.webp) > **Caution:** The display currency labels amounts. It does not convert them. If you change USD to EUR, an amount of 1,000 stays 1,000 and gets the euro label. ## How do you change the display currency? 1. Select the gear icon in the top bar. The **Settings** page opens on the **Workspace** tab. 2. Select a currency in **Display currency**. 3. Select **Save**. The product shows **Display currency updated**. ## Which currencies can you choose? The list has 10 currencies. A new workspace starts with USD. For the list, see [Settings and Account reference](https://docs.prescientai.com/reference/account/settings#display-currency). ## Why is the field disabled? You are a Viewer. A Viewer sees the display currency and has no **Save** button. Ask an Admin of your workspace to change it. # Create and revoke an API key Source: https://docs.prescientai.com/account/manage-api-keys > Steps for an Admin to make an API key with an optional end date and channel scope, copy the key the one time it shows, and stop a key. An API key authenticates requests to the Prescient GraphQL API. You create and revoke keys on the **API keys** tab of the **Settings** page. Only an Admin sees this tab. For the API itself, see [API overview](https://docs.prescientai.com/api). The capture shows the **API keys** tab before a key is created. ![The API keys tab with the message No API keys yet and the Create API key button.](https://docs.prescientai.com/_astro/api-keys-empty.BweBbx0w_ZGmDpy.webp) ## How do you create an API key? The capture shows the **Create API key** dialog. ![The Create API key dialog with the fields Name and Expires at and a list of channels for the scope.](https://docs.prescientai.com/_astro/create-api-key-dialog.Ck58JnX9_ZdHE1V.webp) 1. Select the gear icon in the top bar, then select **API keys**. 2. Select **Create API key**. 3. Type a **Name** that tells you what the key is for. 4. Optional: set a date in **Expires at**. If you leave the field empty, the key never expires. 5. Optional: select channels in **Channel scope**. If you select no channel, the key has access to each channel. 6. Select **Create key**. The **Copy your API key now** dialog opens with the full key. 7. Copy the key and store it in a safe place. If the browser refuses the copy, the product tells you to select the key and copy it by hand. 8. Select **I've saved it**. > **Caution:** The product shows the full key one time only. After you close the dialog, you cannot get the key again. If you lose the key, revoke it and create a new one. The new key appears in the table. The **Key** column shows only the first 8 characters. ## How do you revoke an API key? 1. Find the key in the table and select **Revoke**. 2. Read the confirmation, then select **Revoke key**. The product shows **API key revoked.** The key stops working immediately, and each integration that uses the key loses access. You cannot undo a revoke. ## How do you know if a key is in use? Read the **Last used** column. The column shows the time since the last request with the key, or **Never**. The **Expires** column shows the end date of a key, **Never**, or the **Expired** badge. # Manage billing Source: https://docs.prescientai.com/account/manage-billing > Steps for an Admin to check the subscription status, open the billing portal to update a card, and get back in after a payment problem. You manage the payment information and the subscription of your workspace in a billing portal. The **Billing** tab of the **Settings** page shows the status of the subscription and opens the portal. Only an Admin sees this tab. ## How do you open the billing portal? 1. Select the gear icon in the top bar, then select **Billing**. 2. Read the status badge. If the subscription has an amount, the tab also shows the amount for each month. 3. Select **Manage Stripe Billing**. The billing portal opens. 4. Make your changes in the portal. ## What do you do when a payment fails? The product emails each Admin of the workspace. The subject is **Action needed: your Prescient AI payment failed**. While the subscription is past due and the workspace still has access, each Admin also sees the banner **Your subscription is past due** at the top of the product. 1. Select **Go to billing settings** in the banner, or open the **Billing** tab. 2. Select **Manage Stripe Billing**. 3. Update the card in the portal. ## What do you do when the product areas are closed? If the subscription no longer gives access, the product areas close and a page tells you why: **Your subscription has expired** or **Your free trial has ended**. **Settings** and **Account** stay open. 1. Select **Go to billing settings** on the page. 2. Select **Manage Stripe Billing** and add or update the payment information. Both pages also tell you to reach out to your customer success manager. For the rules, see [Subscriptions and access](https://docs.prescientai.com/account/subscription-and-access). > **Note:** If you are a Viewer, you do not see the **Billing** tab. Ask an Admin of your workspace to update the billing. # Change your cookie settings Source: https://docs.prescientai.com/account/change-cookie-settings > Steps to allow or block analytics cookies for the browser that you use, from the Account page or from the cookie banner. Prescient AI uses two categories of cookies. You control one of them: analytics cookies. Your choice applies to the browser in which you make it, and you can change it at any time. ## How do you change the setting? 1. Select your avatar in the top bar, then select **Account**. 2. In the **Cookie settings** card, read the badge next to **Analytics cookies**: **Allowed** or **Blocked**. 3. Select **Change**. The **Cookie settings** dialog opens. 4. Turn the **Performance and analytics** switch on or off, then select **Save settings**. You can also select **Accept all** or **Reject all**. ## What are the two categories? | Category | State | What it covers | | ----------------------------- | ---------- | ----------------------------------------------------------------------------------- | | **Strictly necessary** | Always on | Cookies for sign-in, security, and your preferences. You cannot turn them off. | | **Performance and analytics** | You choose | Cookies that record the pages you open and the controls you select in this browser. | The dialog names the tool that uses the analytics cookies: _Used by: PostHog (browser)._ The dialog also states that account activity, for example a sign-in, is always recorded on the servers of the product. The switch does not change this. ## What does the cookie banner do? The banner **We use cookies** asks for the same choice. Select **Accept all**, **Reject all**, or **Manage**. **Manage** opens the **Cookie settings** dialog. > **Note:** The product stores your choice in a cookie for 1 year. Make the choice again in each browser and on each device that you use. # Switch to a different workspace Source: https://docs.prescientai.com/account/switch-workspaces > How to open a second workspace from the sidebar, and why some people do not have the control. If you are a member of two or more workspaces, the name of the workspace at the top of the sidebar is a menu. Use the menu to move between them. ## How do you switch? 1. Select the name of the workspace at the top of the sidebar. A menu opens with the heading **Switch organization**. 2. Select a workspace. The product opens the workspace that you selected. Each workspace has its own data, members, and settings. Your role can be different in each one. ## Why is there no menu? You are a member of one workspace. The name at the top of the sidebar is then a link to the home page of the workspace. To get access to a second workspace, ask an Admin of that workspace to invite you. See [Invite and manage members](https://docs.prescientai.com/account/manage-members). # Workspaces and organizations Source: https://docs.prescientai.com/account/workspaces > Why the product uses more than one word for the same thing, what belongs to a workspace, and what belongs to you as a person. A workspace is the unit that holds the data, the models, the plans, the members, and the subscription of one organization in Prescient AI. Each thing that you see in the product belongs to the workspace that is open. ## Which words does the product use? These docs use one word, workspace. The product uses more than one word for the same thing. - **Workspace** is on the **Settings** page, for example in the **Workspace** tab and in the text of the **Members** tab. - **Organization** is in the menu **Switch organization**, in the page **No organization access**, and in some messages. - **Company** is in some messages of the **API keys** tab. All three words mean the same thing. ## What belongs to the workspace? - **The display currency.** One currency labels the money figures for each member. - **The members and their roles.** Your role is a property of your membership, not of you. You can be an Admin in one workspace and a Viewer in a different one. - **The API keys.** A key gives access to the data of one workspace. - **The subscription.** Billing and access apply to the workspace as a unit. See [Subscriptions and access](https://docs.prescientai.com/account/subscription-and-access). ## What belongs to you? - **Your name and your email.** They are the same in each workspace. - **Your sign-in.** One email signs you in to each workspace that you are a member of. A password, if you set one, belongs to your account. - **Your cookie settings.** They belong to the browser, not to the workspace and not to your account. ## What happens when you leave a workspace? When an Admin removes you, the confirmation that the Admin sees says that you lose access to that workspace at your next sign-in. It also says that your account and your other workspaces do not change. If you are then a member of no workspace, the product shows the page **No organization access** after you sign in. # Subscriptions and access Source: https://docs.prescientai.com/account/subscription-and-access > What stays open and what closes when a trial ends or a payment is late, who gets told, and how an Admin restores the product areas. The subscription of a workspace controls access to the product areas. While the subscription is **Active**, each member has full access. When a trial ends or a payment stays late, the product areas close for each member, and the pages that let an Admin fix the billing stay open. ## What happens when a trial ends? A trial gives access until 5 days after the end date of the trial. After that, the product shows the page **Your free trial has ended**, which gives the end date of the trial. The page tells you to add your payment information on the billing settings page and to reach out to your customer success manager. ## What happens when a payment is late? The product acts in three stages. 1. **A payment fails.** The product emails each Admin with the subject **Action needed: your Prescient AI payment failed**. 2. **The subscription is past due.** The workspace keeps access for a limited time. During this time, each Admin sees the banner **Your subscription is past due** at the top of the product, with the text _Please update your billing information to avoid losing access._ A Viewer does not see the banner. 3. **Access ends.** The product shows the page **Your subscription has expired**. These docs do not give a number of days for stage 2. The time depends on the billing period and the payment terms of your subscription. ## Which product areas close? | Product area | | ---------------------------------------------- | | **Prescient AI** | | **Library** | | **Model Center** | | **Data Center** | | **Attribution** | | **Media Forecaster** | | Any other product area that your workspace has | The items stay in the sidebar and you cannot open them. For each area, see [Prescient AI](https://docs.prescientai.com/prescient-ai), [Library](https://docs.prescientai.com/library), [Model Center](https://docs.prescientai.com/model-center), [Data Center](https://docs.prescientai.com/data-center), [Attribution](https://docs.prescientai.com/attribution), and [Media Forecaster](https://docs.prescientai.com/media-forecaster). ## What stays open? **Settings** and **Account** stay open. An Admin can open the **Billing** tab, select **Manage Stripe Billing**, and update the payment information. See [Manage billing](https://docs.prescientai.com/account/manage-billing). A Viewer cannot open the **Billing** tab. If you are a Viewer and the product areas are closed, ask an Admin of your workspace. # Single sign-on Source: https://docs.prescientai.com/account/single-sign-on > How sign-in and membership work when your organization connects its identity provider, and why the invite, role, and remove controls go away. With single sign-on, your organization controls access to Prescient AI from its own identity provider. People sign in there. The **Members** tab then says that membership and roles come from the identity provider. ## How do you sign in? You sign in through your identity provider. If you ask for a code or type a password on the sign-in page of Prescient AI, the page tells you that your organization uses single sign-on and that you must sign in through your identity provider. If you cannot sign in there, the page tells you to contact your IT administrator. Access is given at the identity provider, not in Prescient AI. ## What changes on the Members tab? The **Members** tab still lists each person who has access. The description of the tab says that the people are provisioned by your identity provider, and the tab shows this notice: > **Managed by single sign-on.** Membership and roles for this workspace come from your identity provider and refresh each time someone signs in. To add, remove, or change someone's access, update their assignment or group there. The **Invite member** button and the actions menu of each row are not there, for an Admin too. ## Why are invitations and role changes disabled? The notice on the tab says that membership and roles come from your identity provider and refresh each time a person signs in. The tab has no controls to change them, so the identity provider is the one place where you set access. The product also refuses an invitation to an email on a domain that uses single sign-on. The **Invite member** dialog then says that access is granted through the identity provider, not by invitation. ## What does not change? - The two roles, **Admin** and **Viewer**, and what each one can do. See [Roles and members](https://docs.prescientai.com/reference/account/roles-and-members). - The other tabs of the **Settings** page. - The **Account** page. # API overview Source: https://docs.prescientai.com/api > What the Prescient GraphQL API returns, where to send a request, and which page to read for each task. The Prescient GraphQL API gives your own tools read access to the modeled metrics and the reported spend of your workspace. The API has four queries and no mutations, so a request cannot change data in Prescient. ## What can you read? Each query has a reference page with its arguments, its return type, and an example. - [`modeledMetrics`](https://docs.prescientai.com/api/queries/modeled-metrics) returns the modeled revenue, customers, leads, and subscriptions for each campaign and day. - [`reportedMetrics`](https://docs.prescientai.com/api/queries/reported-metrics) returns the reported spend for each campaign and day. - [`models`](https://docs.prescientai.com/api/queries/models) returns the models of your workspace and the unit of each one. - [`channelNames`](https://docs.prescientai.com/api/queries/channel-names) returns the source names of the channels that you have in use. The [Types](https://docs.prescientai.com/api/types) page lists each object, enum, and scalar that the queries use. ## Where do you send a request? Send each request as an HTTP `POST` with a JSON body to one endpoint. ```http POST https://api.prescient-ai.io/graphql Authorization: apikey YOUR_API_KEY Content-Type: application/json ``` The API has no version number in the URL. The [Changelog](https://docs.prescientai.com/api/changelog) lists each change to the schema and to the behavior. ## What do you need before you start? You need an API key. An Admin creates the key on the **API keys** tab of the **Settings** page. See [Create and revoke an API key](https://docs.prescientai.com/account/manage-api-keys). A key reads the data of one workspace. If the key has a channel scope, the key reads only the channels in that scope. See [Authentication](https://docs.prescientai.com/api/authentication). ## Where do you go next? - To send a request in a few minutes, follow [Make your first request](https://docs.prescientai.com/api/make-your-first-request). - To copy all the rows of a date range, see [Pull modeled metrics for a date range](https://docs.prescientai.com/api/pull-modeled-metrics) and [Pull reported spend for a date range](https://docs.prescientai.com/api/pull-reported-spend). - To keep a copy of the data current, see [Sync only the rows that changed](https://docs.prescientai.com/api/sync-only-changed-rows). - To handle a failed request, see [Errors](https://docs.prescientai.com/api/errors) and [Limits](https://docs.prescientai.com/api/limits). ## Can a tool read the schema? Yes. The endpoint answers a GraphQL introspection query, so a GraphQL client can load the schema from the endpoint. This site also has the schema as one file at [`/api/schema.graphql`](https://docs.prescientai.com/api/schema.graphql). # Make your first request Source: https://docs.prescientai.com/api/make-your-first-request > A short tutorial that sends one query to the Prescient GraphQL API with curl, JavaScript, or Python and reads the response. In this tutorial you send the `channelNames` query and read its response. The query takes no arguments, so it is a good test that your key works. ## What do you need? - An API key. See [Create and revoke an API key](https://docs.prescientai.com/account/manage-api-keys). - One of these tools: `curl`, Node.js 18 or later, or Python 3 with the `requests` package. In each example, replace `YOUR_API_KEY` with your key. ## Send the query 1. Save your key in an environment variable, so the key is not in your code. ```sh export PRESCIENT_API_KEY="YOUR_API_KEY" ``` 2. Send the request. Each example sends the same query to the same endpoint. **curl** ```sh curl https://api.prescient-ai.io/graphql \ -H "Authorization: apikey $PRESCIENT_API_KEY" \ -H "Content-Type: application/json" \ -d '{"query": "query { channelNames }"}' ``` **JavaScript** ```js const response = await fetch('https://api.prescient-ai.io/graphql', { method: 'POST', headers: { Authorization: `apikey ${process.env.PRESCIENT_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ query: 'query { channelNames }' }), }); const { data, errors } = await response.json(); if (errors) throw new Error(errors[0].message); console.log(data.channelNames); ``` **Python** ```python import os import requests response = requests.post( "https://api.prescient-ai.io/graphql", headers={"Authorization": f"apikey {os.environ['PRESCIENT_API_KEY']}"}, json={"query": "query { channelNames }"}, ) body = response.json() if body.get("errors"): raise RuntimeError(body["errors"][0]["message"]) print(body["data"]["channelNames"]) ``` 3. Read the response. The `data` field has one entry for the query, and the entry is a list of names. ```json title="Example response" { "data": { "channelNames": ["EXAMPLE_CHANNEL"] } } ``` The name in this response is an example. Your response has the source names of the channels in your workspace. If your key has a channel scope, the list has only the channels in that scope. ## What if the request fails? If the key does not work, the response has an `errors` list and `data` is `null`. The HTTP status is still `200`. ```json title="Response" { "errors": [ { "message": "Authentication failed. Check your token.", "locations": [{ "line": 1, "column": 9 }], "path": ["channelNames"] } ], "data": null } ``` Check that the header starts with `apikey`, that you copied the full key, and that the key is not revoked or expired. See [Authentication](https://docs.prescientai.com/api/authentication). ## What do you do next? - Use a channel name as a check on the `sourceChannelName` values that [`modeledMetrics`](https://docs.prescientai.com/api/queries/modeled-metrics) returns. - Copy the rows of a date range. See [Pull modeled metrics for a date range](https://docs.prescientai.com/api/pull-modeled-metrics). # Authentication Source: https://docs.prescientai.com/api/authentication > The header that each request to the Prescient GraphQL API needs, what a key can read, and what the API returns when a key does not work. Send your API key in the `Authorization` header. The API has no other way to sign in, and all four queries need the key. ## What does the header look like? Put the word `apikey`, one space, then the key. ```http Authorization: apikey YOUR_API_KEY ``` - The word `apikey` is not case-sensitive. - A `Bearer` header does not work. The API reads only the `apikey` form. - The key is the full value that the product shows one time, when an Admin creates the key. The 8 characters in the **Key** column of the **API keys** tab are not the full key. To create a key, see [Create and revoke an API key](https://docs.prescientai.com/account/manage-api-keys). ## What can a key read? A key reads the data of the workspace where an Admin created it. A key cannot read a different workspace. A key can have a channel scope. The scope depends on the choices of the Admin who created the key, so two keys of one workspace can return different rows. - A key with no channel scope reads each channel of the workspace. - A key with a channel scope reads only its channels in [`modeledMetrics`](https://docs.prescientai.com/api/queries/modeled-metrics), [`reportedMetrics`](https://docs.prescientai.com/api/queries/reported-metrics), and [`channelNames`](https://docs.prescientai.com/api/queries/channel-names). - The channel scope does not change the result of [`models`](https://docs.prescientai.com/api/queries/models). If a query returns fewer channels than you expect, ask an Admin to check the **Channel scope** column of the key. ## When does a key stop working? A key stops working in two cases. - An Admin revokes the key. The key stops working immediately. - The key passes the date in its **Expires** column. A key with **Never** in that column does not expire. After each request that authenticates, the product updates the **Last used** column of the key. ## What does the API return when the key does not work? The API returns the same error for a missing header, a header in a different form, a key that does not exist, a revoked key, and an expired key. The HTTP status is `200`, the `data` field is `null`, and the `errors` list has one entry. ```json title="Response" { "errors": [ { "message": "Authentication failed. Check your token.", "locations": [{ "line": 1, "column": 3 }], "path": ["channelNames"] } ], "data": null } ``` The message uses the word token for the API key. The values of `locations` and `path` depend on your query. Because the status is `200`, do not use the HTTP status to find a failed request. Read the `errors` field. See [Errors](https://docs.prescientai.com/api/errors). Repeated failures from one IP address cause a temporary block. See [Limits](https://docs.prescientai.com/api/limits). ## How do you keep a key safe? - Keep the key in a secret store or an environment variable. Do not put the key in source code. - Call the API from a server. Code that runs in a browser shows the key to each visitor. - Give each integration its own key, so you can revoke one key and keep the others. # Pull modeled metrics for a date range Source: https://docs.prescientai.com/api/pull-modeled-metrics > Steps and code that copy each modeled metric row of a date range from the Prescient GraphQL API, one page at a time. To copy the modeled metrics of a date range, send the [`modeledMetrics`](https://docs.prescientai.com/api/queries/modeled-metrics) query, then send it again with the cursor of each response until no page is left. One response has 5,000 rows at most. ## How do you pull the rows? 1. Choose the date range. `startDate` and `endDate` use the `YYYY-MM-DD` format, and both dates are in the range. If you leave them out, the range is the last 30 days. 2. Choose the fields that you need. Select `pageInfo` in each request, because it has the cursor. ```graphql title="Query" query ModeledMetrics( $startDate: ISO8601Date $endDate: ISO8601Date $after: BigInt ) { modeledMetrics(startDate: $startDate, endDate: $endDate, after: $after) { data { reportedDate sourceChannelName sourceCampaignId target metricName metricValue } pageInfo { endCursor hasNextPage } } } ``` 3. Send the first request with no `after` value. 4. If `pageInfo.hasNextPage` is `true`, send the same query with `after` set to `pageInfo.endCursor`. Keep each other variable the same. 5. Stop when `hasNextPage` is `false`. ## What does the full loop look like? Save the query of step 2 as a string, then run the loop. In each example, the key comes from the `PRESCIENT_API_KEY` environment variable. **JavaScript** ```js const QUERY = ` query ModeledMetrics($startDate: ISO8601Date, $endDate: ISO8601Date, $after: BigInt) { modeledMetrics(startDate: $startDate, endDate: $endDate, after: $after) { data { reportedDate sourceChannelName sourceCampaignId target metricName metricValue } pageInfo { endCursor hasNextPage } } }`; async function pullModeledMetrics(startDate, endDate) { const rows = []; let after = null; do { const response = await fetch('https://api.prescient-ai.io/graphql', { method: 'POST', headers: { Authorization: `apikey ${process.env.PRESCIENT_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ query: QUERY, variables: { startDate, endDate, after } }), }); const { data, errors } = await response.json(); if (errors) throw new Error(errors[0].message); const page = data.modeledMetrics; rows.push(...page.data); after = page.pageInfo.hasNextPage ? page.pageInfo.endCursor : null; } while (after !== null); return rows; } const rows = await pullModeledMetrics('2026-01-01', '2026-01-31'); ``` **Python** ```python import os import requests QUERY = """ query ModeledMetrics($startDate: ISO8601Date, $endDate: ISO8601Date, $after: BigInt) { modeledMetrics(startDate: $startDate, endDate: $endDate, after: $after) { data { reportedDate sourceChannelName sourceCampaignId target metricName metricValue } pageInfo { endCursor hasNextPage } } } """ def pull_modeled_metrics(start_date, end_date): rows = [] after = None while True: response = requests.post( "https://api.prescient-ai.io/graphql", headers={"Authorization": f"apikey {os.environ['PRESCIENT_API_KEY']}"}, json={ "query": QUERY, "variables": {"startDate": start_date, "endDate": end_date, "after": after}, }, ) body = response.json() if body.get("errors"): raise RuntimeError(body["errors"][0]["message"]) page = body["data"]["modeledMetrics"] rows.extend(page["data"]) if not page["pageInfo"]["hasNextPage"]: return rows after = page["pageInfo"]["endCursor"] rows = pull_modeled_metrics("2026-01-01", "2026-01-31") ``` ## How do you narrow the result? Each filter is an argument of the query. You can use more than one filter in a request. - To get the rows of some campaigns, set `campaignIds` to a list of campaign IDs. The IDs are the IDs of your campaigns in their source channels. - To get one sales channel, set `salesChannel` to `[ECOMMERCE]` or `[RETAIL]`. If you leave it out, the query returns both. - To get only the rows that changed, set `processDate`. See [Sync only the rows that changed](https://docs.prescientai.com/api/sync-only-changed-rows). ## How do you read a row? - `target` is the name of the model that produced the row. The [`models`](https://docs.prescientai.com/api/queries/models) query gives the unit of each model. - `metricName` tells you what `metricValue` measures. See [`MetricName`](https://docs.prescientai.com/api/types#metricname). - `targetChannelName` can be `null`. The schema says that the field applies only to second order metrics. - `sourceCampaignName` and `sourceCampaignTactic` can be `null`. The tactic is the label that the campaign has in the Data Center. See [Label campaigns with tactics](https://docs.prescientai.com/data-center/label-campaigns-with-tactics). # Pull reported spend for a date range Source: https://docs.prescientai.com/api/pull-reported-spend > Steps and code that copy the reported spend of each campaign and day from the Prescient GraphQL API, one page at a time. To copy reported spend, send the [`reportedMetrics`](https://docs.prescientai.com/api/queries/reported-metrics) query and follow the cursor until no page is left. Each row is the spend of one campaign on one day. ## How do you pull the rows? 1. Choose the date range with `startDate` and `endDate`, in the `YYYY-MM-DD` format. Both dates are in the range. If you leave them out, the range is the last 30 days. 2. Send the query with no `after` value. ```graphql title="Query" query ReportedMetrics( $startDate: ISO8601Date $endDate: ISO8601Date $after: BigInt ) { reportedMetrics(startDate: $startDate, endDate: $endDate, after: $after) { data { reportedDate channelName campaignId campaignName spend } pageInfo { endCursor hasNextPage } } } ``` ```json title="Variables" { "startDate": "2026-01-01", "endDate": "2026-01-31", "after": null } ``` 3. If `pageInfo.hasNextPage` is `true`, send the same query with `after` set to `pageInfo.endCursor`. 4. Stop when `hasNextPage` is `false`. The last page can have no rows. See [Pagination](https://docs.prescientai.com/api/pagination). ## What does the full loop look like? **JavaScript** ```js const QUERY = ` query ReportedMetrics($startDate: ISO8601Date, $endDate: ISO8601Date, $after: BigInt) { reportedMetrics(startDate: $startDate, endDate: $endDate, after: $after) { data { reportedDate channelName campaignId campaignName spend } pageInfo { endCursor hasNextPage } } }`; async function pullReportedSpend(startDate, endDate) { const rows = []; let after = null; do { const response = await fetch('https://api.prescient-ai.io/graphql', { method: 'POST', headers: { Authorization: `apikey ${process.env.PRESCIENT_API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ query: QUERY, variables: { startDate, endDate, after } }), }); const { data, errors } = await response.json(); if (errors) throw new Error(errors[0].message); const page = data.reportedMetrics; rows.push(...page.data); after = page.pageInfo.hasNextPage ? page.pageInfo.endCursor : null; } while (after !== null); return rows; } ``` **Python** ```python import os import requests QUERY = """ query ReportedMetrics($startDate: ISO8601Date, $endDate: ISO8601Date, $after: BigInt) { reportedMetrics(startDate: $startDate, endDate: $endDate, after: $after) { data { reportedDate channelName campaignId campaignName spend } pageInfo { endCursor hasNextPage } } } """ def pull_reported_spend(start_date, end_date): rows = [] after = None while True: response = requests.post( "https://api.prescient-ai.io/graphql", headers={"Authorization": f"apikey {os.environ['PRESCIENT_API_KEY']}"}, json={ "query": QUERY, "variables": {"startDate": start_date, "endDate": end_date, "after": after}, }, ) body = response.json() if body.get("errors"): raise RuntimeError(body["errors"][0]["message"]) page = body["data"]["reportedMetrics"] rows.extend(page["data"]) if not page["pageInfo"]["hasNextPage"]: return rows after = page["pageInfo"]["endCursor"] ``` ## Which rows does the query return? - The query returns a row only for a campaign and day with spend above zero. - `campaignName` can be `null`. - To get the rows of some campaigns, set `campaignIds` to a list of campaign IDs. - If your key has a channel scope, the query returns only the channels in that scope. See [Authentication](https://docs.prescientai.com/api/authentication). To learn how reported figures differ from modeled figures, see [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures). # Sync only the rows that changed Source: https://docs.prescientai.com/api/sync-only-changed-rows > How to use the processDate argument of the Prescient GraphQL API so that a daily job copies new and updated rows and not the full history. To keep a copy of your data current, set the `processDate` argument. The query then leaves out each row that was not created or updated on or after that date. Both [`modeledMetrics`](https://docs.prescientai.com/api/queries/modeled-metrics) and [`reportedMetrics`](https://docs.prescientai.com/api/queries/reported-metrics) have this argument. ## Why use `processDate`? A row can change after the first time you read it. A date range alone makes you read each row of the range again to find the changes. With `processDate`, the response has only the new rows and the changed rows, so the job reads less data. The schema recommends `processDate` in each integration, and one pull of updates each day. ## How do you set up a daily sync? 1. Run a first pull with a date range that covers the history you need, and no `processDate`. See [Pull modeled metrics for a date range](https://docs.prescientai.com/api/pull-modeled-metrics). 2. Record the date on which the pull started. 3. In each later run, set `processDate` to the date of the last run that finished. Set `startDate` to the start of the history that you keep, because a changed row can have an old `reportedDate`. ```json title="Variables" { "startDate": "2025-01-01", "endDate": "2026-01-31", "processDate": "2026-01-30", "after": null } ``` 4. Follow the cursor until `hasNextPage` is `false`. See [Pagination](https://docs.prescientai.com/api/pagination). 5. Write each row over the row in your copy that has the same key. Then record the date of this run. ## Which fields identify a row? The API does not return a row ID, and the schema does not define a unique key for a row. Before you build the sync, choose the fields that identify a row in your copy and test them on your data. - For `modeledMetrics`, start with `reportedDate`, `sourceChannelName`, `sourceCampaignId`, `target`, `metricName`, and `targetChannelName`. - For `reportedMetrics`, start with `reportedDate`, `channelName`, and `campaignId`. Each row also has a `processDate` field, which is the date the row was created or last updated. ## What should you know about the dates? - `processDate` is a date, not a time. A row that changed on that date is in the response, so a run can return a row that the last run returned. Write over the row, and do not add it a second time. - If you leave out `startDate`, the range starts 30 days before today. A changed row with an older `reportedDate` is then not in the response. # Pagination Source: https://docs.prescientai.com/api/pagination > How the after argument and the pageInfo object of the Prescient GraphQL API split a large result into pages of 5,000 rows. The `modeledMetrics` and `reportedMetrics` queries return their rows in pages. One page has 5,000 rows at most, and you cannot change the page size. The `channelNames` and `models` queries return the full list in one response. ## How do you get the next page? Each paged response has a [`PageInfo`](https://docs.prescientai.com/api/types#pageinfo) object with two fields. - `hasNextPage` tells you if there is one more page. - `endCursor` is the value that you send as the `after` argument to get that page. Send the first request with no `after` argument. While `hasNextPage` is `true`, send the same query again with `after` set to the `endCursor` of the last response. ```graphql title="Query" query ReportedMetrics($after: BigInt) { reportedMetrics(startDate: "2026-01-01", endDate: "2026-01-31", after: $after) { data { reportedDate campaignId spend } pageInfo { endCursor hasNextPage } } } ``` ```json title="Variables for the second page" { "after": "5000" } ``` The cursor in this example is an example. Use the value from your response. ## What are the rules for a cursor? - Send the cursor as you received it. Do not build a cursor and do not change one. - Send the cursor as a string. A cursor can be a number that is too large for a JavaScript number, and a JSON parser can change such a number. - Keep each other argument the same from page to page. A cursor is for one query with one set of arguments. - Use a cursor only with the query that returned it. A `modeledMetrics` cursor does not work with `reportedMetrics`. ## When do you stop? Stop when `hasNextPage` is `false`. - When a page has no rows, `endCursor` is `null`. - For `reportedMetrics`, `hasNextPage` is `true` each time a page is full. If the number of rows is an exact multiple of 5,000, the last request returns no rows and `hasNextPage` is `false`. Your code must accept an empty page. ## In which order do the rows come? The schema does not define the order of the rows, so do not rely on it. `channelNames` and `models` also have no defined order. Sort the rows in your own code if you need an order. # Errors Source: https://docs.prescientai.com/api/errors > The shape of an error response from the Prescient GraphQL API, the errors that you can get, and what to do for each one. The API reports an error in the `errors` field of the response body. An authentication error has the HTTP status `200`, so check the body of each response and not only the status. ## What does an error look like? The `errors` field is a list. Each entry has a `message`. An error that comes from one field of your query also has `locations` and `path`. ```json title="Response" { "errors": [ { "message": "Authentication failed. Check your token.", "locations": [{ "line": 1, "column": 9 }], "path": ["modeledMetrics"] } ], "data": null } ``` - `message` is the text of the error. - `locations` is the line and the column of the field in your query. - `path` is the name of the field that failed. An authentication error has no error code and no `extensions` field. To find one in code, compare `message` to the text in the example. ## Which errors can you get? ### Authentication failed The message is `Authentication failed. Check your token.` The status is `200` and `data` is `null`. You get this error when the `Authorization` header is missing or is not in the `apikey` form, when the key does not exist, and when the key is revoked or expired. You also get it while your IP address has a temporary block after repeated failures. See [Limits](https://docs.prescientai.com/api/limits). Check the header and the key. See [Authentication](https://docs.prescientai.com/api/authentication). If the key is correct and the error continues, wait 10 minutes, then send one request. ### The query does not match the schema The GraphQL server checks each query before it runs. A field or an argument that is not in the schema, or a value of the wrong type, returns an `errors` list that names the problem. The query does not run. The custom scalars have these rules. - An `ISO8601Date` value must be a string in the `YYYY-MM-DD` format, for example `2026-01-31`. - A `BigInt` value must be a whole number, written as a number or as a string of digits. - An enum value must be one of the values on the [Types](https://docs.prescientai.com/api/types) page. Compare your query to the reference page of the query, then send it again. ### An error inside the API If the API fails while it runs your query, the `errors` entry has a general message that does not give the cause. Send the request again after a short wait. If the error continues, contact Prescient support with the time of the request and the name of the query. Do not send your API key. ## How do you handle errors in code? 1. Parse the body as JSON. 2. If the body has an `errors` field, stop and report the first `message`. 3. If it does not, read `data`. The examples in [Make your first request](https://docs.prescientai.com/api/make-your-first-request) use this order. # Limits Source: https://docs.prescientai.com/api/limits > The limits that the Prescient GraphQL API defines for page size, date ranges, and failed sign-in, and the limits that it does not define. This page lists each limit that the API defines. It also lists the limits that the API does not define, so you do not have to guess. ## Which limits does the API define? ### Page size A `modeledMetrics` or `reportedMetrics` response has 5,000 rows at most. The queries have no argument that changes this number. To get more rows, follow the cursor. See [Pagination](https://docs.prescientai.com/api/pagination). ### Default date range If you leave out `startDate`, the range starts 30 days before today. If you leave out `endDate`, the range ends today. The API uses the date in UTC. ### Failed authentication After 5 requests from one IP address fail authentication in 10 minutes, the API blocks that IP address until the 10 minutes end. During the block, each request from that address gets the authentication error, and this includes a request with a correct key. A request with a correct key does not count toward this limit. If your integration gets the authentication error with a key that worked before, stop the retries. Wait 10 minutes, then send one request. ## Which limits does the API not define? The API does not define a value for these items, so this page gives none. - The number of requests in a period of time, for a request that authenticates. - The longest date range of one query. - The number of IDs in `campaignIds`. - The depth or the size of a query. The schema recommends one pull of updates each day, with the `processDate` argument. See [Sync only the rows that changed](https://docs.prescientai.com/api/sync-only-changed-rows). A request with a long date range returns many pages. Run the pages one after the other, not at the same time. # Changelog Source: https://docs.prescientai.com/api/changelog > A dated list of the changes to the schema and the behavior of the Prescient GraphQL API, with the newest change first. This page lists each change to the Prescient GraphQL API that can affect an integration. The newest change is first. The API has one version, and the endpoint has no version number. ## 2026-09-29 - **Fixed:** A key with a channel scope now returns the rows of each data source of its channels. Before this fix, some channels returned no rows in `modeledMetrics` and `reportedMetrics` for a scoped key. A key with no channel scope did not change. - **Changed:** `channelNames` now follows the channel scope of the key. A scoped key gets only the channels that it can read. A key with no channel scope did not change. ## 2026-09-23 - **Added:** The `sourceCampaignTactic` field on [`ModeledMetricRow`](https://docs.prescientai.com/api/types#modeledmetricrow). The field is the tactic that the campaign has in the Data Center, or `null` if the campaign has no tactic. A query that does not select the field did not change. ## 2026-07-27 - **Changed:** The API moved to a new platform. The endpoint, the request, the schema, the pagination, and the shape of an error did not change, so no integration needs a code change. - **Changed:** Repeated authentication failures from one IP address now cause a temporary block. See [Limits](https://docs.prescientai.com/api/limits). - **Changed:** `models` and `channelNames` now return their items in a stable sorted order. The order was never part of the schema, so treat both lists as lists with no order. ## 2026-06-01 - **Added:** Channel scope for API keys. A scoped key reads only its channels in `modeledMetrics` and `reportedMetrics`. See [Authentication](https://docs.prescientai.com/api/authentication). - **Changed:** The `salesChannel` argument of `modeledMetrics` is now a list. If you leave it out, the query returns both `ECOMMERCE` and `RETAIL`. Before this change, the default was `ECOMMERCE` only. ## 2026-05-26 - **Added:** The `RETAIL` value of [`SalesChannelEnum`](https://docs.prescientai.com/api/types#saleschannelenum), so `modeledMetrics` can return retail metrics. ## 2026-04-24 - **Added:** More than one API key for a workspace. Each key has a name. - **Added:** An expiration date and a revoke action for a key, and a record of the last use of a key. The API rejects an expired key and a revoked key. ## 2026-04-23 - **Added:** Subscription metrics in `modeledMetrics`, for a model that measures subscriptions. ## 2026-03-03 - **Added:** The [`reportedMetrics`](https://docs.prescientai.com/api/queries/reported-metrics) query, with the `ReportedMetricQuery` and `ReportedMetricRow` types. ## 2025-05-07 - **Added:** The first release of the API, as a beta. # channelNames Source: https://docs.prescientai.com/api/queries/channel-names > Reference for the channelNames query of the Prescient GraphQL API, with its return type and an example request. ```graphql # Query channelNames: [String!]! ``` Returns the source names of all channels you have in use. ## Arguments This query takes no arguments. ## Returns The query returns `[String!]!`. ## Example request Send the query in the `query` field of the request body. ```graphql title="Query" query channelNames { channelNames } ``` ## Example response The values in this response are examples. They are not real data. ```json title="Response" { "data": { "channelNames": [ "EXAMPLE_CHANNEL" ] } } ``` # modeledMetrics Source: https://docs.prescientai.com/api/queries/modeled-metrics > Reference for the modeledMetrics query of the Prescient GraphQL API, with its arguments, its return type, and an example request. ```graphql # Query modeledMetrics(after: BigInt, campaignIds: [String!], endDate: ISO8601Date, processDate: ISO8601Date, salesChannel: [SalesChannelEnum!], startDate: ISO8601Date): ModeledMetricQuery! ``` Get modeled metrics for a given date range. We recommend pulling data updates once per day. Results will be paginated, so implementations should handle making multiple calls using the `after` argument. ## Arguments Each argument is optional unless the list marks it as required. | Argument | Type | Required | Description | | -------------- | --------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `after` | `BigInt` | Optional | The cursor to indicate where the pagination should begin. Value comes from the `pageInfo>endCursor` field in the previous response. | | `campaignIds` | `[String!]` | Optional | Filter by campaign ids. These correspond to the ids of your campaigns in their respective source channels. | | `endDate` | `ISO8601Date` | Optional | End date for the reporting records. Defaults to today. | | `processDate` | `ISO8601Date` | Optional | Filters out any records that have not been created or updated since this date. We recommend using this field in all implementations to avoid pulling large, unchanged data sets. | | `salesChannel` | `[SalesChannelEnum!]` | Optional | Sales channels to filter modeled output by. When omitted, returns both ECOMMERCE and RETAIL. | | `startDate` | `ISO8601Date` | Optional | Start date for the reporting records. Defaults to 30 days ago. | ## Returns The query returns [`ModeledMetricQuery`](https://docs.prescientai.com/api/types#modeledmetricquery), written as `ModeledMetricQuery!` in the schema. The type has these fields. | Field | Type | Nullable | Description | | ---------- | ---------------------- | -------- | -------------------------------------------- | | `data` | `[ModeledMetricRow!]!` | No | The array containing the modeled metric rows | | `pageInfo` | `PageInfo!` | No | Pagination info for the query | ## Example request Send the query in the `query` field of the request body, and the variables in the `variables` field. ```graphql title="Query" query modeledMetrics( $after: BigInt $campaignIds: [String!] $endDate: ISO8601Date $processDate: ISO8601Date $salesChannel: [SalesChannelEnum!] $startDate: ISO8601Date ) { modeledMetrics( after: $after campaignIds: $campaignIds endDate: $endDate processDate: $processDate salesChannel: $salesChannel startDate: $startDate ) { data { metricName metricValue processDate reportedDate sourceCampaignId sourceCampaignName sourceCampaignTactic sourceChannelName target targetChannelName } pageInfo { endCursor hasNextPage } } } ``` ```json title="Variables" { "after": null, "campaignIds": [ "1234567890" ], "endDate": "2026-01-31", "processDate": "2026-01-15", "salesChannel": [ "ECOMMERCE" ], "startDate": "2026-01-01" } ``` ## Example response The values in this response are examples. They are not real data. ```json title="Response" { "data": { "modeledMetrics": { "data": [ { "metricName": "FIRST_ORDER_REVENUE", "metricValue": 1250.5, "processDate": "2026-01-15T06:00:00Z", "reportedDate": "2026-01-14", "sourceCampaignId": "1234567890", "sourceCampaignName": "Example campaign", "sourceCampaignTactic": "Example tactic", "sourceChannelName": "EXAMPLE_CHANNEL", "target": "example_revenue", "targetChannelName": null } ], "pageInfo": { "endCursor": "5000", "hasNextPage": true } } } } ``` # models Source: https://docs.prescientai.com/api/queries/models > Reference for the models query of the Prescient GraphQL API, with its return type and an example request. ```graphql # Query models: [Model!]! ``` Returns all of the available models. ## Arguments This query takes no arguments. ## Returns The query returns [`Model`](https://docs.prescientai.com/api/types#model), written as `[Model!]!` in the schema. The type has these fields. | Field | Type | Nullable | Description | | ------ | ------------- | -------- | ------------------------------------------------------ | | `name` | `String!` | No | The name of the model | | `unit` | `MetricUnit!` | No | The unit in which this model's metrics are measured in | ## Example request Send the query in the `query` field of the request body. ```graphql title="Query" query models { models { name unit } } ``` ## Example response The values in this response are examples. They are not real data. ```json title="Response" { "data": { "models": [ { "name": "example_revenue", "unit": "REVENUE" } ] } } ``` # reportedMetrics Source: https://docs.prescientai.com/api/queries/reported-metrics > Reference for the reportedMetrics query of the Prescient GraphQL API, with its arguments, its return type, and an example request. ```graphql # Query reportedMetrics(after: BigInt, campaignIds: [String!], endDate: ISO8601Date, processDate: ISO8601Date, startDate: ISO8601Date): ReportedMetricQuery! ``` Get reported spend metrics for campaigns by date. Returns spend data per campaign/day. Results will be paginated, so implementations should handle making multiple calls using the `after` argument. ## Arguments Each argument is optional unless the list marks it as required. | Argument | Type | Required | Description | | ------------- | ------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `after` | `BigInt` | Optional | The cursor to indicate where the pagination should begin. Value comes from the `pageInfo>endCursor` field in the previous response. | | `campaignIds` | `[String!]` | Optional | Filter by campaign ids. These correspond to the ids of your campaigns in their respective source channels. | | `endDate` | `ISO8601Date` | Optional | End date for the reporting records. Defaults to today. | | `processDate` | `ISO8601Date` | Optional | Filters out any records that have not been created or updated since this date. We recommend using this field in all implementations to avoid pulling large, unchanged data sets. | | `startDate` | `ISO8601Date` | Optional | Start date for the reporting records. Defaults to 30 days ago. | ## Returns The query returns [`ReportedMetricQuery`](https://docs.prescientai.com/api/types#reportedmetricquery), written as `ReportedMetricQuery!` in the schema. The type has these fields. | Field | Type | Nullable | Description | | ---------- | ----------------------- | -------- | --------------------------------------------- | | `data` | `[ReportedMetricRow!]!` | No | The array containing the reported metric rows | | `pageInfo` | `PageInfo!` | No | Pagination info for the query | ## Example request Send the query in the `query` field of the request body, and the variables in the `variables` field. ```graphql title="Query" query reportedMetrics( $after: BigInt $campaignIds: [String!] $endDate: ISO8601Date $processDate: ISO8601Date $startDate: ISO8601Date ) { reportedMetrics( after: $after campaignIds: $campaignIds endDate: $endDate processDate: $processDate startDate: $startDate ) { data { campaignId campaignName channelName processDate reportedDate spend } pageInfo { endCursor hasNextPage } } } ``` ```json title="Variables" { "after": null, "campaignIds": [ "1234567890" ], "endDate": "2026-01-31", "processDate": "2026-01-15", "startDate": "2026-01-01" } ``` ## Example response The values in this response are examples. They are not real data. ```json title="Response" { "data": { "reportedMetrics": { "data": [ { "campaignId": "1234567890", "campaignName": "Example campaign", "channelName": "EXAMPLE_CHANNEL", "processDate": "2026-01-15", "reportedDate": "2026-01-14", "spend": 320.75 } ], "pageInfo": { "endCursor": "5000", "hasNextPage": true } } } } ``` # Types Source: https://docs.prescientai.com/api/types > Reference for each object, enum, and scalar in the schema of the Prescient GraphQL API, with the fields and the values of each one. The schema has 15 types. Each query page links to the types that the query uses. ## Objects An object is a set of fields that a query returns. ### Model | Field | Type | Nullable | Description | | ------ | ------------- | -------- | ------------------------------------------------------ | | `name` | `String!` | No | The name of the model | | `unit` | `MetricUnit!` | No | The unit in which this model's metrics are measured in | Used by: [`models`](https://docs.prescientai.com/api/queries/models). ### ModeledMetricQuery | Field | Type | Nullable | Description | | ---------- | ---------------------- | -------- | -------------------------------------------- | | `data` | `[ModeledMetricRow!]!` | No | The array containing the modeled metric rows | | `pageInfo` | `PageInfo!` | No | Pagination info for the query | Used by: [`modeledMetrics`](https://docs.prescientai.com/api/queries/modeled-metrics). ### ModeledMetricRow | Field | Type | Nullable | Description | | ---------------------- | ------------------ | -------- | ------------------------------------------------------------------------------------------------------ | | `metricName` | `MetricName!` | No | The type of the metric | | `metricValue` | `Float!` | No | The value of the metric | | `processDate` | `ISO8601DateTime!` | No | The date the metric was created or last updated | | `reportedDate` | `String!` | No | The date the metric corresponds to. This is a date string in the format of YYYY-MM-DD | | `sourceCampaignId` | `String!` | No | The ID for the campaign | | `sourceCampaignName` | `String` | Yes | The name of the campaign | | `sourceCampaignTactic` | `String` | Yes | The tactic the campaign is labeled with in the Data Center, if any | | `sourceChannelName` | `String!` | No | The data source channel of the campaign | | `target` | `String!` | No | The name of the model that produced this metric | | `targetChannelName` | `String` | Yes | The channel that the modeling attributes credit for this metric. Only applies to second order metrics. | Used by: [`ModeledMetricQuery`](https://docs.prescientai.com/api/types#modeledmetricquery). ### PageInfo | Field | Type | Nullable | Description | | ------------- | --------- | -------- | --------------------------------------------- | | `endCursor` | `String` | Yes | The cursor for the next page, if there is one | | `hasNextPage` | `Boolean` | Yes | Whether a next page exists or not | Used by: [`ModeledMetricQuery`](https://docs.prescientai.com/api/types#modeledmetricquery), [`ReportedMetricQuery`](https://docs.prescientai.com/api/types#reportedmetricquery). ### ReportedMetricQuery | Field | Type | Nullable | Description | | ---------- | ----------------------- | -------- | --------------------------------------------- | | `data` | `[ReportedMetricRow!]!` | No | The array containing the reported metric rows | | `pageInfo` | `PageInfo!` | No | Pagination info for the query | Used by: [`reportedMetrics`](https://docs.prescientai.com/api/queries/reported-metrics). ### ReportedMetricRow | Field | Type | Nullable | Description | | -------------- | -------------- | -------- | ----------------------------------------------- | | `campaignId` | `String!` | No | The ID for the campaign | | `campaignName` | `String` | Yes | The name of the campaign | | `channelName` | `String!` | No | The data source channel of the campaign | | `processDate` | `ISO8601Date!` | No | The date the metric was created or last updated | | `reportedDate` | `ISO8601Date!` | No | The date the metric corresponds to | | `spend` | `Float!` | No | The spend amount for the campaign on this date | Used by: [`ReportedMetricQuery`](https://docs.prescientai.com/api/types#reportedmetricquery). ## Enums An enum is a fixed list of values. Write a value without quotation marks in a query, and as a string in the variables. ### MetricName | Value | Description | | ---------------------------- | ------------------------------------------------------------------------------------------------ | | `FIRST_ORDER_CONVERSIONS` | New Customers attributed to direct conversions from the campaign, such as last click attribution | | `FIRST_ORDER_LEADS` | Leads attributed to direct conversions from the campaign, such as last click attribution | | `FIRST_ORDER_REVENUE` | Revenue attributed to direct conversions from the campaign, such as last click attribution | | `FIRST_ORDER_SUBSCRIPTIONS` | Subscriptions attributed to direct conversions from the campaign, such as last click attribution | | `SECOND_ORDER_CONVERSIONS` | New Customers attributed to halo effects from the campaign | | `SECOND_ORDER_LEADS` | Leads attributed to halo effects from the campaign | | `SECOND_ORDER_REVENUE` | Revenue attributed to halo effects from the campaign | | `SECOND_ORDER_SUBSCRIPTIONS` | Subscriptions attributed to halo effects from the campaign | Used by: [`ModeledMetricRow`](https://docs.prescientai.com/api/types#modeledmetricrow). ### MetricUnit | Value | Description | | --------------- | ------------------------------------------ | | `CUSTOMERS` | The metrics are measured in new customers | | `REVENUE` | The metrics are measured by revenue in USD | | `SUBSCRIPTIONS` | The metrics are measured in subscriptions | Used by: [`Model`](https://docs.prescientai.com/api/types#model). ### SalesChannelEnum Sales channel for filtering modeled metrics output | Value | Description | | ----------- | ----------- | | `ECOMMERCE` | | | `RETAIL` | | Used by: [`modeledMetrics`](https://docs.prescientai.com/api/queries/modeled-metrics). ## Scalars A scalar is one value, for example a date or a number. ### BigInt Represents non-fractional signed whole numeric values. Since the value may exceed the size of a 32-bit integer, it's encoded as a string. Used by: [`modeledMetrics`](https://docs.prescientai.com/api/queries/modeled-metrics), [`reportedMetrics`](https://docs.prescientai.com/api/queries/reported-metrics). ### Boolean The `Boolean` scalar type represents `true` or `false`. Used by: [`PageInfo`](https://docs.prescientai.com/api/types#pageinfo). ### Float The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point). Used by: [`ModeledMetricRow`](https://docs.prescientai.com/api/types#modeledmetricrow), [`ReportedMetricRow`](https://docs.prescientai.com/api/types#reportedmetricrow). ### ISO8601Date An ISO 8601-encoded date Used by: [`modeledMetrics`](https://docs.prescientai.com/api/queries/modeled-metrics), [`reportedMetrics`](https://docs.prescientai.com/api/queries/reported-metrics), [`ReportedMetricRow`](https://docs.prescientai.com/api/types#reportedmetricrow). ### ISO8601DateTime An ISO 8601-encoded datetime Used by: [`ModeledMetricRow`](https://docs.prescientai.com/api/types#modeledmetricrow). ### String The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text. Used by: [`channelNames`](https://docs.prescientai.com/api/queries/channel-names), [`modeledMetrics`](https://docs.prescientai.com/api/queries/modeled-metrics), [`reportedMetrics`](https://docs.prescientai.com/api/queries/reported-metrics), [`Model`](https://docs.prescientai.com/api/types#model), [`ModeledMetricRow`](https://docs.prescientai.com/api/types#modeledmetricrow), [`PageInfo`](https://docs.prescientai.com/api/types#pageinfo), [`ReportedMetricRow`](https://docs.prescientai.com/api/types#reportedmetricrow). # Reference Source: https://docs.prescientai.com/reference > Lookup pages for each screen, control, option, status, limit, and message of Prescient AI, in the order of the product, with a glossary of the terms. This page lists the reference pages of these docs. A reference page describes one screen or one object of the product: its controls, options, statuses, limits, and messages. The sections follow the order of the product sidebar, and each reference page follows the order of its screen. A reference page does not give steps and does not explain a method. For steps, see the guides of the product area in the **Product** tab. For the meaning of a term, see the [Glossary](https://docs.prescientai.com/reference/glossary). ## Prescient AI Guides and concepts: [Prescient AI](https://docs.prescientai.com/prescient-ai). | Page | Describes | | ---------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | [Chat reference](https://docs.prescientai.com/reference/prescient-ai/chat) | The Prescient AI screen and a chat: buttons, status lines, messages, and limits. | | [Visuals in an answer](https://docs.prescientai.com/reference/prescient-ai/visuals) | The charts, tables, saturation curves, and plan results that an answer can contain. | | [Plan in the chat](https://docs.prescientai.com/reference/prescient-ai/plan-in-the-chat) | The plan card and the run card: buttons, statuses, messages, settings, and rules. | ## Library Guides and concepts: [Library](https://docs.prescientai.com/library). | Page | Describes | | --------------------------------------------------------------------------- | --------------------------------------------------------------------- | | [Library reference](https://docs.prescientai.com/reference/library/library) | The Library page, the item page, the save dialog, and a tracked goal. | ## Model Center Guides and concepts: [Model Center](https://docs.prescientai.com/model-center). | Page | Describes | | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | | [Overview reference](https://docs.prescientai.com/reference/model-center/overview) | The overview page: the header, the summary strip, the model cards, and the empty states. | | [Model Health reference](https://docs.prescientai.com/reference/model-center/model-health) | The detail page of a model and its **Model Health** tab. | | [Model Comparison reference](https://docs.prescientai.com/reference/model-center/model-comparison) | The Model Comparison page: selectors, timeframes, the selection criteria, and the results sections. | ## Data Center Guides and concepts: [Data Center](https://docs.prescientai.com/data-center). | Page | Describes | | ------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | | [Channels and Integrations tabs](https://docs.prescientai.com/reference/data-center/channels-and-integrations-tabs) | The columns, filters, and actions of the two tabs. | | [Connection statuses](https://docs.prescientai.com/reference/data-center/connection-statuses) | Each status of a connection, and the messages that go with a status. | | [Data requirements](https://docs.prescientai.com/reference/data-center/data-requirements) | The columns that each type of channel needs when a workspace supplies the data. | | [Tactics reference](https://docs.prescientai.com/reference/data-center/tactics) | The **Tactics** tab: toolbar, columns, rules, messages, and the built-in tactics. | | [Roles and permissions in Data Center](https://docs.prescientai.com/reference/data-center/roles-and-permissions) | The actions of an Admin and of a Viewer in Data Center. | | [Data Center messages](https://docs.prescientai.com/reference/data-center/messages) | Each message of Data Center, by the place where it shows. | ## Attribution Guides and concepts: [Attribution](https://docs.prescientai.com/attribution). | Page | Describes | | --------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | | [Page controls](https://docs.prescientai.com/reference/attribution/page-controls) | The filter bar, the date range, and the comparison control. | | [Filters and views](https://docs.prescientai.com/reference/attribution/filters-and-views) | The filters of the page and the saved views. | | [Metrics and summary cards](https://docs.prescientai.com/reference/attribution/metrics) | The summary cards and each metric of the page. | | [Attribution Over Time options](https://docs.prescientai.com/reference/attribution/attribution-over-time) | The modes, granularity, types, and controls of the chart. | | [Performance Table options](https://docs.prescientai.com/reference/attribution/performance-table) | The levels, columns, export options, and row details of the table. | | [Base & Halo Flows options](https://docs.prescientai.com/reference/attribution/base-and-halo-flows) | The chart types, the flow filter, and the grouping tabs of the section. | ## Media Forecaster Guides and concepts: [Media Forecaster](https://docs.prescientai.com/media-forecaster). | Page | Describes | | -------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | | [Plan settings](https://docs.prescientai.com/reference/media-forecaster/plan-settings) | The **Timeline**, **Goal**, and **Budget** steps of the New plan wizard, and the rules for a plan that starts before today. | | [Media and run settings](https://docs.prescientai.com/reference/media-forecaster/media-and-run-settings) | The **Media** step and the **Review & run** step: columns, allocation types, limits, and run duration. | | [Plans list and plan results](https://docs.prescientai.com/reference/media-forecaster/results) | The plans list and the plan page: statuses, cards, chart views, and table columns. | ## Account and settings Guides and concepts: [Account and settings](https://docs.prescientai.com/account). | Page | Describes | | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | | [Settings and Account reference](https://docs.prescientai.com/reference/account/settings) | The **Settings** page, its tabs, the **Account** page, and the cookie settings. | | [Roles and members](https://docs.prescientai.com/reference/account/roles-and-members) | The two roles, the actions of each role, and the **Members** table. | | [Sign-in and password rules](https://docs.prescientai.com/reference/account/sign-in-and-password-rules) | Codes, links, password requirements, and the messages of the sign-in page. | | [Emails from Prescient AI](https://docs.prescientai.com/reference/account/emails) | Each email that the product sends, with its subject line and its expiry. | ## API The reference of the GraphQL API is in the **API** tab. It is generated from the schema. | Page | Describes | | ----------------------------------------------------------------- | -------------------------------------------- | | [Authentication](https://docs.prescientai.com/api/authentication) | The header and the key that a request sends. | | [Errors](https://docs.prescientai.com/api/errors) | The error responses of the API. | | [Limits](https://docs.prescientai.com/api/limits) | The limits of a request. | | [Types](https://docs.prescientai.com/api/types) | Each object, enum, and scalar of the schema. | ## Glossary The [Glossary](https://docs.prescientai.com/reference/glossary) defines the terms that these docs and the product use, in alphabetical order. Each entry links to the page that covers the term. # Chat reference Source: https://docs.prescientai.com/reference/prescient-ai/chat > Reference for the Prescient AI chat, with the topics that an answer can read, the header buttons, the status lines, the messages, and each limit. This page lists the parts of the Prescient AI screen and of a chat, with their limits. Prescient AI is the first item of the product sidebar. ## Data that an answer reads An answer reads the data of the workspace. The table lists the kinds of data. | Topic | What an answer can use | | ----------------------------- | -------------------------------------------------------------------------------------------------------------- | | Knowledge base | How the product and the models work. An answer from the knowledge base lists its articles under **Sources**. | | Models, channels, and tactics | Which models, channels, and tactics your workspace has. | | Reported performance | The figures that your sales sources and ad platforms report, as totals or over time. | | Modeled attribution | The outcome that your models attribute to paid media, as totals or over time, by channel, tactic, or campaign. | | Base and Halo | How the modeled outcome of each channel divides into Base and Halo. | | Saturation | The saturation curve of one channel, tactic, or campaign. | | Model fit and model health | How closely a model follows the reported totals, and whether each model is up to date. | | Data health | Whether the data of each connection is up to date. | | Media plans | Your Media Forecaster plans and the results of one plan. | | A new plan | A proposal for a Media Forecaster plan, which you can change and run in the chat. | Prescient AI writes each answer for the question, so the docs cannot list each possible answer. ## The Prescient AI screen The rules for the greeting, the recommendation card, and the reply pills. | Rule | Value | | ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Rows on the recommendation card | Up to 3 rows that gain from more spend, and 1 row with the label **biggest cut**. On a short screen the card shows 2 rows that gain. | | Recommendation card | The card shows only when the daily plan found a positive gain and one or more channels gain from more spend. | | Period of the recommendation | The next 4 weeks when your models are weekly. The next 30 days when your models are daily. | | Build this plan | You can use **Build this plan** one time in each chat. | | Last week pill | The pill shows the channel or tactic whose modeled outcome changed most in absolute terms. A row needs a change of 0.5% or more. | | Last week, daily models | The 7 days up to the last modeled day, compared with the 7 days before. | | Last week, weekly models | The last complete model week, compared with the week before. | | Connection with no fix on your side | A failure for which the product has no fix on your side gets a short note, not a row with buttons. The note shows after the failure has lasted 24 hours. A failure with no recorded start time shows at once. | | Model that is behind | A daily model is behind when its last modeled day is 10 or more days old. A weekly model is behind at 21 or more days. | | Screen after the first message | The greeting and the card stay at the top of the chat, without the reply pills, until you leave the page. A chat that you open again does not show them. | ### Reply pills | Label | What it shows | | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **Last week** | The pill names one channel or tactic and the change of its modeled outcome from the week before. The pill sends a question about the cause of the change, not the text of its label. | ## Buttons | Button | What it does | | ------------------- | --------------------------------------------------- | | **Submit** | Sends the message. | | **Stop** | Stops the answer. | | **History** | Opens the list **Recent chats**. | | **New chat** | Opens a new chat with the Prescient AI screen. | | **Save to library** | Saves the conversation as it is now to the Library. | The message box also has a model picker. The first option is the default. ## Status lines | Status | What it means | | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Thinking…** | Prescient AI is preparing the answer. | | **Working…** | Prescient AI is working, and no step or text is on the screen yet. When a step starts, a line for the step shows in its place, for example **Checking your attribution…**. | ## Limits | Rule | Value | | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | | Message length | 8,000 characters. A message contains text only. | | Message rate | 20 messages in 60 seconds for each person. | | Time for one answer | 300 seconds. A longer answer stops with the message **This answer didn’t finish. Ask again.** | | Date range of an answer | The last 90 days, unless your question names a period. | | Longest period of an answer | About 2 years (731 days). An answer for a longer period covers 731 days. | | Daily figures over time | Up to 92 days in one answer. | | Recent chats | The 50 chats with the most recent activity. The page reads the list when it loads, so a new chat shows in the list after the next load of the page. | | Sending while a plan card is prepared | After you select **Build this plan**, the message box reads **Creating your plan…** until the plan card is ready. You can type, and you cannot send. | | Chat title | The first 80 characters of your first message. | | Who can open a chat | Only the person who started the chat. To show a chat to your team, save it to the Library as a shared item. | | Controls that a chat does not have | A chat has no control to rename the chat, delete the chat, copy an answer, or rate an answer. | ## Messages | Message | What to do | | ------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | | **Something went wrong. Please try again.** | Send the message again. This message also shows when a message is too long or when you send messages too fast. | | **This answer didn’t finish. Ask again.** | The answer reached the time limit. Send the question again, or ask a narrower question. | ## Related - [Prescient AI](https://docs.prescientai.com/prescient-ai): the guides and the concepts of the product area. - [Ask a question](https://docs.prescientai.com/prescient-ai/ask-a-question): the steps to ask and to follow up. - [Find an earlier chat](https://docs.prescientai.com/prescient-ai/find-an-earlier-chat): the steps for the history. - [Where the daily recommendation comes from](https://docs.prescientai.com/prescient-ai/daily-recommendation): the plan behind the recommendation card. # Visuals in an answer Source: https://docs.prescientai.com/reference/prescient-ai/visuals > Reference for the charts, tables, Base and Halo views, saturation curves, and plan results that Prescient AI can put in an answer, with their controls and limits. This page lists the kinds of visual that an answer in the chat can contain, with their controls and their limits. Prescient AI selects the visual that fits the question. ## Kinds of visual | Visual | What it shows | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Chart | A bar chart, a horizontal bar chart, a stacked bar chart, or a line chart. | | Table | A table with 10 rows on each page. | | Base and Halo view | The Base and Halo of each channel, in the form that the Attribution page uses. You cannot change the view in the chat. | | Saturation curve | The saturation curve of one channel, tactic, or campaign, with two switches and four tiles of figures. | | Plan results | A card that sums up one Media Forecaster plan: a headline, two or three figures, the largest moves of budget, and next steps. The **Media Breakdown** table of the plan opens from the card. | | Plan proposal | A plan that you can change and run in the chat. | A Base and Halo view and a saturation curve use the same components as the Attribution page. The full breakdown of plan results is the **Media Breakdown** table of Media Forecaster. For the meaning of their figures, see [Base and Halo flows](https://docs.prescientai.com/reference/attribution/base-and-halo-flows), [Explore a spend scenario](https://docs.prescientai.com/attribution/explore-a-spend-scenario), and [Read plan results](https://docs.prescientai.com/media-forecaster/read-plan-results). ## Saturation curve A saturation curve in the chat has two switches above the chart and four tiles below it. ### Switches | Switch | What it does | | --------------------- | --------------------------------------------------------------------------------------------------------------- | | **Seasonal Forecast** | Shows or hides the forward curve. On by default. The switch is not available when the row has no forward curve. | | **{efficiency}** | Shows or hides the efficiency metric on the chart. On by default. | A word in braces stands for a value from your account or your plan. ### Tiles | Tile | What it shows | | --------------------------------- | ------------------------------------------------------ | | **Current spend / {period}** | The spend of the row for each day or week. | | **{efficiency} at current spend** | The efficiency metric of the row at its current spend. | | **Marginal {efficiency}** | The modeled result of the next unit of spend. | | **Model confidence** | The confidence of the model for this row. | A word in braces stands for a value from your account or your plan. ## Plan results Plan results in the chat are one card that sums up one Media Forecaster plan. The card has these parts, from top to bottom. | Part | What it shows | | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Header | The name of the plan, its settings or its dates, and the word **Ready**. | | Headline | One figure and one line. For a plan with a target, the figure that the plan reaches and the target. For other plans, the change in the modeled outcome against the baseline, and the spend. | | Figures | The modeled outcome, the efficiency metric when the goal has one, and **Spend**. Each tile gives the optimized value and the baseline. | | So far | Shows only after the plan has actual spend or outcome. The line gives the spend and the modeled outcome to date against the plan to date. | | **Where the money moves** | The largest increases of budget and the largest decrease. | | **What to do** | Next steps that the product writes from the figures of the plan. When the plan does not reach its target, the heading reads **What to try**. | Each modeled figure on the card has **MMM** in its name. The product writes the headline and the next steps from the figures of the plan. | Button | What it does | | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | | **Save & track** | Opens the dialog that saves the chat as a project and tracks the plan to its goal. | | **Open in Media Forecaster** | Opens the page of the plan in Media Forecaster. | | **Build this plan** | Opens the New plan form of Media Forecaster with the settings of the recommendation filled in. The button does not build the plan in the chat. | | **See full breakdown** | Shows the **Media Breakdown** table of the plan below the card. The button then reads **Hide full breakdown**. | The badge **Daily recommendation** marks the plan of the day. That plan has a **Build this plan** button and no **Save & track** button, because a recommendation has no goal to track. This **Build this plan** button opens the New plan form of Media Forecaster with the settings of the recommendation filled in. It does not build the plan in the chat. See [Create and run a plan](https://docs.prescientai.com/media-forecaster/create-a-plan). If the modeled outcome of a plan is out of range, the headline gives the recommended spend only, and a note shows below it. | Note | Text in the product | | ----------------- | --------------------------------------------------------------------- | | Out of range note | Re-run the plan; if it recurs, contact your Customer Success Manager. | ## Limits | Limit | Value | | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | | Series in a chart | 5 | | Points in a chart | 120 | | Columns in a table | 8 | | Rows in a table | 120, with 10 rows on each page | | Channels in a Base and Halo view | 50 | | Campaigns in plan results | A large plan shows its channels and tactics in the chat. The campaigns of that plan are in Media Forecaster. | | Moves in plan results | Up to 3 increases and 1 decrease. The card names tactics when the plan has them, and channels when it does not. The full breakdown has each row. | | Next steps in plan results | Up to 4. The product writes them from the figures of the plan. | A visual that has more data than a limit shows the data up to the limit. ## Related - [Prescient AI](https://docs.prescientai.com/prescient-ai): the guides and the concepts of the product area. - [Ask a question](https://docs.prescientai.com/prescient-ai/ask-a-question): the steps to ask for a visual. - [Explore a spend scenario](https://docs.prescientai.com/attribution/explore-a-spend-scenario): the saturation curve in Attribution. - [Read plan results](https://docs.prescientai.com/media-forecaster/read-plan-results): the plan results in Media Forecaster. # Plan in the chat Source: https://docs.prescientai.com/reference/prescient-ai/plan-in-the-chat > Reference for the plan card and the run card of the Prescient AI chat, with each button, each status, each message, the settings of the plan sentence, and each rule. This page lists the parts of a plan in the chat. A plan in the chat has two cards. The plan card holds the settings before the run. The run card shows the plan after **Run plan**. ## Buttons | Button | What it does | | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Build this plan** | Puts the daily recommendation in the chat as a plan. Nothing is created until you select **Run plan**. | | **Show all settings** | Shows the full Media Forecaster form in the chat. The button then reads **Hide settings**. | | **Run plan** | Creates the plan in Media Forecaster and starts the run. | | **Back to the recommendation** | Returns each setting to the recommendation. For a plan that Prescient AI proposed, the button reads **Back to the proposal**. | | **View results** | Shows the results of the plan in the chat. The button shows for a plan that Prescient AI proposed, until the results are on the screen. | | **Continue in Media Forecaster** | Opens the page of the plan in Media Forecaster. You leave the chat. For a failed plan the button reads **Fix in Media Forecaster**. In a place where you cannot save the chat, the button reads **Open in Media Forecaster**. | | **Save this chat as a project** | Opens the dialog that saves the chat to the Library and tracks the plan to its goal. | | **Try again** | Loads the results again after a load that failed. | | **Build in Media Forecaster** | Opens the New plan form of Media Forecaster. | ## Settings in the plan sentence | Setting | What it sets | | ----------------- | --------------------------------------------------------------------------------------------------------------------------- | | Models | The models that the plan uses. The sentence gives the number of models, or the name when the plan uses one model. | | Reference period | The past period that sets the current spend of each row. | | Planning period | The dates that the plan covers. | | Plan type | **Optimization** or **Forecast**. | | Goal | The outcome that the plan works toward, and the target if the goal has one. | | Budget | The amount that the plan can spend. | | Spend flexibility | How far the plan can move each row from its reference spend. | | Media | The channels, tactics, and campaigns in the plan. This choice opens the full form at its **Media** step, not a small panel. | ## Statuses | Status | What it means | | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Loading your media** | The plan card is loading your channels and campaigns. **Run plan** becomes available when the load completes. | | **Queued in Media Forecaster** | The plan waits to start. | | **Optimizing in Media Forecaster** | An Optimization plan is running. The card also shows when the run started, and a line that reads **Usually {time}** with the time that a run of this kind takes. | | **Forecasting in Media Forecaster** | A Forecast plan is running. The card shows the same two lines as for an Optimization plan. | | **Still optimizing — taking longer than usual** | The run is longer than the usual time for a plan of this kind. For a Forecast plan the status reads **Still forecasting — taking longer than usual**. The plan continues to run if you leave the page. | | **This plan failed. Fix its settings and run it again in Media Forecaster.** | The plan failed. Select **Fix in Media Forecaster** to open the plan. | | **Ready** | The plan is complete. For a plan from the recommendation, the results replace the run card. For a plan that Prescient AI proposed, select **View results**. While the results load, the status reads **Ready · loading the results…**. | A word in braces stands for a value from your account or your plan. ## Rules | Rule | Value | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Plans from the recommendation | One in each chat. To build the recommendation again, start a new chat. | | When the plan is created | The plan is created in Media Forecaster when you select **Run plan**, not before. | | Start of the planning period | A plan that Prescient AI proposes starts today or later. A weekly plan covers whole weeks and starts at the next week boundary. | | Plan type | By default the plan type follows the planning period: 42 days or more gives **Forecast**, and a shorter period gives **Optimization**. A plan type that you ask for in the chat is kept. | | Spend flexibility | **Medium**, 0.5× to 1.5× of the baseline, unless the proposal sets a different band. | | Earlier proposals | Only the newest proposal in a chat can run. An earlier proposal becomes a summary that you cannot change. | | Results after the run | The results of a plan from the recommendation replace the run card when the plan is ready. For a plan that Prescient AI proposed, select **View results**. | | Order of the plan sentence | The sentence follows the steps of the New plan form: timeline, goal, budget, media. | ## Messages | Message | What it means | | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | **{budget warning} — a big swing; results are less certain far from what you’ve spent.** | The budget is far from your recent spend. The plan can run. Read its results as less certain. | | **This target is {N}× what happens if nothing changes — a big stretch; read the forecast as directional.** | The target is far above the outcome with no change. The plan can run. Read its forecast as a direction, not as an exact figure. | | **Couldn’t reach Media Forecaster. Try again.** | The chat did not create the plan card. Try again. | | **This plan isn’t visible to you. It may be private to whoever created it, or deleted.** | You cannot open the plan. The plan is private to a different person, or a person deleted it. | | **These results can’t be displayed here.** | The chat cannot draw the results. Select **Open in Media Forecaster** to read them on the plan page. | A word in braces stands for a value from your account or your plan. ## Related - [Prescient AI](https://docs.prescientai.com/prescient-ai): the guides and the concepts of the product area. - [Build the recommended plan](https://docs.prescientai.com/prescient-ai/build-the-recommended-plan): the steps to build and run the plan. - [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built): the stages of a plan. # Library reference Source: https://docs.prescientai.com/reference/library/library > Reference for the Library, with the tabs, the menu of an item, the visibility options, the save messages, the goal badges, and each limit of a saved item and a tracked goal. This page lists the controls and the limits of the Library, in the order of its screens: the Library page, the item page, the save dialog, and a tracked goal. ## Library page ### Tabs | Tab | What it lists | | ------------------------ | -------------------------------------------------- | | **All ({n})** | Each item that you can open. | | **Mine ({n})** | Each item of which you saved one or more versions. | | **Shared with me ({n})** | Each shared item that a different person saved. | A word in braces stands for a value from your account or your plan. ### Badges | Badge | What it means | | ----------- | ---------------------------------------------------------------------------------------- | | **Private** | The item is private. The save dialog says that only you and Prescient staff can open it. | | **Shared** | The item is shared. The save dialog says that anyone in the workspace can read it. | ## Item page ### More actions menu | Item | What it does | | ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Run again with today's data** | Opens a new chat with the questions of the saved conversation in the message box. You can change the text before you send it. The menu does not have this item when the saved conversation has no typed question. | | **Copy link** | Copies the address of the item. | | **Edit details** | Changes the title, the description, and the visibility. | | **Remove from library** | Deletes the saved copy. Your chat stays in **Recent chats**. | The page also has the button **Export PDF**. ### Limits of an item | Rule | Value | | -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Title | Up to 120 characters. A title is necessary. | | Description | Up to 500 characters. A description is optional. | | Size of a saved conversation | Up to 1.5 MB. A larger conversation cannot be saved. | | Who can read an item | The save dialog says that only you and Prescient staff can open a **Private** item, and that anyone in the workspace can read an item that is **Shared with your team**. | | Who can change or remove an item | Only the owner can use **Edit details** and **Remove from library**. | | Who can copy the link, export, and run again | Each person who can read the item. | | Search | The search reads the title, the description, and the name of the owner. | | Versions | The Library page shows one card for an item, with its newest version. The item page of an item with two or more versions shows the version number and a link to each other version. | | Questions carried to a new chat | **Run again with today's data** carries up to 2,000 characters of your questions. An item with no typed question cannot be run again. | | Dates | Each date and time is in UTC. | ## Save dialog ### Fields | Field | What it sets | | -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Title** | Starts with the name of the plan when the chat contains a plan that can be tracked, and with your first message when it does not. Up to 120 characters. | | **Description (optional)** | A note for the reader. Up to 500 characters. | | **Visibility** | **Private** or **Shared with your team**. **Private** is the default. | ### Visibility | Option | Who can read the item | | ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | | **Private** | The default. The dialog says that only you and Prescient staff can open the item. | | **Shared with your team** | The dialog says that anyone in the workspace can read the item. A reader can also export it, copy its link, and run it again. | ### Rules of a save | Rule | Value | | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | What a save keeps | The conversation as it is when you save. Later messages in the chat do not change the saved copy. | | When you can save | After the chat has one or more messages, and while no answer is in progress. | | Default title | For a chat that contains a plan that can be tracked: the name of the plan, with the word **plan** at the end. For other chats: your first message. The title has 120 characters at most. A chat with no plan and no typed message gets the title **Untitled conversation**. | | Default visibility | **Private**. You can change the visibility later with **Edit details**. | | Empty title | The **Save** button is not available. | | Conversation too large | A conversation of more than 1.5 MB cannot be saved. | ### Messages of a save | Message | What it means | | ------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | | **There's nothing to save in this conversation yet.** | The chat has no stored message. Send a message, wait for the answer, and save again. | | **The Library isn't available for this workspace.** | The workspace is in onboarding, or its subscription does not give access. | | **Couldn't save this to the library.** | The save failed. Select **Save** again. | | **That conversation is no longer available to re-run.** | The item that you ran again is not in the Library, so the save cannot add a version. Start a new chat to save the conversation as a new item. | ## Tracked goal ### Pace badges | Badge | What it means | | ------------------------ | ------------------------------------------------------------------------------- | | **Waiting for the plan** | The plan is not complete. The check-ins start when the plan is ready. | | **Not started** | The plan has not reached its first full period, so there is nothing to compare. | | **On track** | The actual outcome to date is within 5% of the expected outcome to date. | | **Ahead of plan** | The actual outcome to date is more than 5% above the expected outcome to date. | | **Behind plan** | The actual outcome to date is more than 5% below the expected outcome to date. | ### State of the tracking The line below the goal on a project gives the state of the tracking. | Line | What it means | | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | | **Starts when the plan is ready.** | The plan is still running. | | **Checked every Monday against the plan to date.** | The tracking is active. | | **The plan's window has ended; tracking is complete.** | The planning period is over. | | **Tracking was stopped.** | The owner selected **Stop tracking**, or a person deleted the plan after the tracking started. | | **Tracking didn't start: the plan couldn't be completed.** | The plan failed. | | **Tracking didn't start: the plan was deleted.** | A person deleted the plan in Media Forecaster. | | **Tracking didn't start: the finished plan has no modeled outcome to track.** | The plan is complete and has no outcome to compare. | ### Reasons why the tracking does not start The confirmation **Saved, but goal tracking didn't start** gives one of these reasons. | Reason | What it means | | ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | **This plan couldn’t be completed, so there’s no goal to track.** | The plan failed. The chat is saved without check-ins. Fix the plan in Media Forecaster and run it again. | | **This plan has no modeled outcome to track.** | The plan is complete, and its modeled outcome is not above zero. The chat is saved without check-ins. | | **That plan was deleted, so there’s no goal to track.** | A person deleted the plan before the tracking started. The chat is saved without check-ins. | | **This project already tracks a goal.** | The project has a tracked goal. A project tracks one goal. | ### Rules of the tracking | Rule | Value | | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Which plans can be tracked | A Media Forecaster plan that a person created and that you can open: a plan that was run from the chat, or a plan whose results the chat shows. A plan whose results the chat shows must have a modeled outcome above zero. The daily recommendation cannot be tracked. | | The goal | The optimized outcome of the plan over its planning period. The value is fixed when the tracking starts. | | On track band | 5% above or below the expected outcome to date. | | Check-in day | Each Monday at 14:00 UTC. | | Where a check-in shows | On the project in the Library, and as a message in the chat that created the plan. | | Last check-in | The last check-in is on the first Monday that is 7 or more days after the planning period ends. The tracking then completes. | | Tracks for one plan | One active track for each chat and plan. A second save of the same chat does not start a second track. | | Who can start or stop the tracking | Only the person who saved the project. | | Plan deleted during the tracking | The check-ins stop at the next Monday. The line below the goal then reads **Tracking was stopped.** | | Tracking checkbox | On by default in the save dialog. | ## Related - [Library](https://docs.prescientai.com/library): the guides and the concepts of the product area. - [Save a conversation](https://docs.prescientai.com/library/save-a-conversation): the steps of a save. - [Track a goal](https://docs.prescientai.com/library/track-a-goal): the steps to start and stop the tracking. - [Share and export](https://docs.prescientai.com/library/share-and-export): the steps for a link and a PDF. - [Saved items and goal pacing](https://docs.prescientai.com/library/saved-items-and-goal-pacing): why an item is a fixed copy, and how a check-in works. # Overview reference Source: https://docs.prescientai.com/reference/model-center/overview > Reference for the Model Center overview, with each summary tile, each field of a model card, the periods, and the empty states. This page lists the parts of the Model Center overview, from the page header down to the model cards. The capture shows the six summary cards of the overview. ![The summary cards Active Models, Avg Accuracy, Total Revenue, Total Modeled, Spend, and Overall ROAS.](https://docs.prescientai.com/_astro/summary-strip.C6Km9qIX_2bE57u.webp) In a label on this page, a word in braces is a value from the account. The target is the outcome that the model measures, for example revenue. The efficiency is the efficiency metric of the target, for example ROAS. ## Page header The page header has two selectors. The target selector has the placeholder **Target type** and lists the targets of the models of the workspace. The period selector lists the periods in the tables that follow. ### Periods The period selector shows days when the models are daily, and weeks when one or more of the models on the page are weekly. | Period, daily models | Period | | -------------------- | ------------------- | | **Last 365 days** | The default period. | | **Last 180 days** | The last 180 days. | | **Last 90 days** | The last 90 days. | | Period, weekly models | Period | | --------------------- | ------------------------------------- | | **Last 52 weeks** | The longest period for weekly models. | | **Last 24 weeks** | The last 24 weeks. | | **Last 12 weeks** | The last 12 weeks. | | Rule | Value | | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Default period | 365 days. When the stored period is not available for the models on the page, the page uses the first option of the list. | | End of the period | The period ends on the day before today. | | Daily or weekly periods | The overview shows the weekly periods when one or more of the models on the page are weekly. A detail page shows the weekly periods when its model is weekly. | | Stored selections | Model Center keeps your target, period, and tab for each workspace in the browser. | ## Summary strip The summary strip covers the models of the selected target for the selected period. | Tile | What it shows | | ------------------------ | ---------------------------------------------------------------------------------------------------------------- | | **Active Models** | The number of models that serve the selected target. | | **Avg Accuracy** | The mean **Model Accuracy** of the models that have a **Default** config. | | **Total {target}** | The total of the reported values for the selected period. | | **Total Modeled** | The total of the modeled values for the selected period. | | **Spend** | The total media spend for the selected period. | | **Overall {efficiency}** | The efficiency of the selected target for the period. The metric depends on the target, for example ROAS or CAC. | A word in braces stands for a value from your account or your plan. ### Tooltips of the summary tiles The table gives the text that the product shows when the pointer is over a tile. | Tile | Tooltip | | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- | | **Active Models** | Serving models for the selected target. | | **Avg Accuracy** | Mean Model Accuracy (0–100) across models that have a default config; a target without one is excluded. Higher is better. | | **Total {target}** | Total observed (reported) actuals across the selected date range. | | **Total Modeled** | Total modeled (predicted) value across the selected date range. | | **Spend** | Total media spend over the selected date range. | | Overall {efficiency}, revenue target | Observed revenue ÷ spend (ROAS), both over the selected date range. | | Overall {efficiency}, other targets | Spend ÷ observed target, both over the selected date range. | A word in braces stands for a value from your account or your plan. ## Model cards | Rule | Detail | | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Cards | One card for each target of a channel. The card shows the **Default** config of the target. When the target has no **Default** config, the card shows the first config. | | Order of cards | By channel name. | | Avg Accuracy | A target without a **Default** config is not in the average. | | Spend and Channels | **Spend** and **Channels** cover the full workspace. The values are the same on each card and in the summary strip. | ### Fields of a card | Field | What it shows | | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Model Accuracy** | The fit of the model for the selected period, from 0 to 100, with 1 decimal. It is the same figure as **MMM Fit** in the **Current Fit** view of the detail page. A dash shows when no score exists. | | **Modeled {target}** | The total that the model predicted for the selected period. | | **Observed {target}** | The total that your sources reported for the selected period. | | **Spend** | The total media spend of all channels for the selected period. | | **Channels** | The number of media channels for the selected period. | | **Granularity:** | **Daily** or **Weekly**. The time unit of the data of the model. | | **Updates:** | **Daily** or **Weekly**. The card shows the same value as **Granularity:**. | | **Modeled through: {date}** | The last date that the model has results for. A dash shows when the model has no results. | A word in braces stands for a value from your account or your plan. The top row of a card shows the channel name, a segment badge, **E-Commerce** or **Retail**, and the number of configs of the model. | Rule | Value | | -------------- | --------------------------------------------------------------------------------------------------------------- | | Chart lines | The solid line is the reported value. The dashed green line is the modeled value. The card chart has no legend. | | Hidden targets | The overview does not show a target when each of its configs is skipped and none has a modeled date. | ### Tooltips of a card The table gives the words of the product. A card shows the same value after **Updates:** as after **Granularity:**, and the value is not a retraining schedule. The **Modeled through** date shows how current a model is. | Field | Tooltip | | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | | **Model Accuracy** | An estimate of how accurately this model forecasts future performance, learned from your historical data. Higher is better, on a 0 to 100 scale. | | **Spend** | Total media spend across all channels over the selected date range. | | **Channels** | Number of media channels with activity over the selected date range. | | **Granularity:** | How your data is grouped into time buckets (daily or weekly). This is not how often the model updates. | | **Updates:** | How often this model is retrained and refreshed with new data. | ### Colors of the score | Color | Score | When it shows | | ------ | ------------------ | ----------------------------------------- | | Green | 70 or more | The score is 70 or more. | | Orange | 60 to less than 70 | The score is 60 or more and less than 70. | | Red | Less than 60 | The score is less than 60. | ## Empty states The overview shows one of the first two messages when the workspace or the selected target has no models. A card shows one of the other messages when the card cannot draw a chart. | Message | Text under the message | | ----------------------------- | --------------------------------------------------------------------------------------------------------------------- | | **No models yet** | Your models appear here once your Prescient team has built them. | | **No models for this target** | Try another target type above. | | Not enough history to chart | This model has fewer than two data points in the selected period. Try a longer date range. | | No fit data for this period | This model has modeled data through {date}, but none of it falls in the selected date range. Try a longer date range. | | No modeled data yet | This model hasn't produced any modeled output yet, so there is nothing to chart. | A word in braces stands for a value from your account or your plan. ## Related - [Model Center](https://docs.prescientai.com/model-center): the guides and the concepts of the product area. - [Check how accurate a model is](https://docs.prescientai.com/model-center/check-model-accuracy): the steps to read the scores. - [Find how current a model is](https://docs.prescientai.com/model-center/find-how-current-a-model-is): the steps to read **Modeled through**. - [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit): what each score measures. # Model Health reference Source: https://docs.prescientai.com/reference/model-center/model-health > Reference for a model detail page, with the header controls, the run statuses, and each metric and chart series of the Model Health tab. This page lists the parts of the detail page of a model and of its **Model Health** tab. The capture shows the **Model Health** tab in the **Backtest** view. ![The Backtest view with Model Accuracy, Non-trained Accuracy, and a chart with a Holdout band at its end.](https://docs.prescientai.com/_astro/health-backtest.DwMr-xNG_1nwC0a.webp) In a label on this page, a word in braces is a value from the account. The target is the outcome that the model measures, for example revenue. ## Detail page ### Tabs | Tab | What it shows | | ---------------- | ----------------------------------------------------------------------------------------- | | **Model Health** | The fit of the model against reported results. The page opens on this tab the first time. | | **Attribution** | The Attribution sections for this one config. | ### Header row The header row shows the channel, the segment badge, the number of configs, and these controls. | Control or rule | Value | | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | | Config selector | The selector shows when the target has 2 or more configs. **Default** is first. The other configs follow in alphabetical order. | | Target selector | A different target opens the config of that target for the same channel. | | Compare configs | The button always shows. The comparison opens with the **Default** config as **Model A** and the first other config as **Model B**. | | Attribution tab | The tab shows the Attribution sections for this one config. The tab has no filter bar. | | Config that you cannot open | The product shows the page-not-found page for a config that does not exist or that your workspace cannot see. | ### Run statuses The config selector and the run status panel show the status of the last run of a config. | Status | How it shows | | ------------- | ----------------------------------------------------------- | | **Completed** | Green check icon. | | **Running** | Amber icon. The run status panel can show **Est. finish**. | | **Failed** | Red icon. | | **Skipped** | Gray icon. | | **Not run** | No icon. The label shows when the config has no run status. | The product shows these labels without a description. ### Run status panel The panel opens when the pointer is over the help icon in the header row. | Row | What it shows | | ---------------------- | -------------------------------------------------------------------------------------------------- | | **Last run** | The status of the last run. | | **Run started** | The start time of the run. The row shows only when a start time exists. | | **Est. finish** | The estimated finish time. The row shows only while a run is in progress. | | **Last run completed** | The time that the last run finished. The row shows **Not run** when no run finished. | | **Average runtime** | The average duration of a run. The row shows **Unknown** when no value exists. | | **Modeled through** | The last date that the model has results for. The row shows **Not available** when no date exists. | ## Model Health tab The tab has the caption **How closely this model tracks actual results** and a toggle between two views. | View | What it shows | | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Current Fit** | The current model against reported results, through the last modeled date. This view opens first. | | **Backtest** | A separately trained model against reported results, through the end of its test period. The view gives one score for the dates that the model trained on and one score for the dates that it did not train on. | | Rule | Value | | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | First view | **Current Fit**. | | Non-trained metrics | **Non-trained Accuracy** and **Non-trained Forecast vs Observed** show only in the **Backtest** view, and only when the backtest has a period that the model did not train on. | | Backtest chart legend | The **Backtest** chart has no legend. Hold the pointer over the chart to see the series. | | End date of the backtest | The **Backtest** view ends where the test period of the last backtest ends, so the view does not include the most recent weeks. A line under the chart gives the date when the backtest last ran. | ### Current Fit metrics | Metric | What it shows | | --------------------- | ------------------------------------------------------------------------------------------------ | | **MMM Fit** | How closely the modeled values follow the reported totals in the selected period, from 0 to 100. | | **Modeled {target}** | The total that the current model predicted for the selected period. | | **Observed {target}** | The total that your sources recorded for the selected period. | A word in braces stands for a value from your account or your plan. ### Backtest metrics | Metric | What it shows | | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Model Accuracy** | The fit of the backtest model on the dates that it trained on, for the dates that the view shows, from 0 to 100. | | **Modeled {target}** | The total that the backtest model predicted for the dates that the view shows. | | **Observed {target}** | The total that your sources recorded for the dates that the view shows. | | **Non-trained Accuracy** | The score for the most recent period that the backtest model did not train on. The value does not change with the selected period. The metric shows only when the backtest has such a period. | | **Non-trained Forecast vs Observed** | The forecast and the recorded result for the same period, as 2 values. The metric shows only when the backtest has such a period. | A word in braces stands for a value from your account or your plan. ### Chart series | Series, Current Fit | What it shows | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Reported** | The values that your sources reported. | | **Modeled** | The values that the model predicted. | | **50% interval** | A band around the modeled line. The band shows only when the model has this interval. The product gives no definition of the band. | | **95% interval** | A wider band around the modeled line. The band shows only when the model has this interval, and its label can read **Interval**. The product gives no definition of the band. | | Series, Backtest | What it shows | | ---------------- | ----------------------------------------------------------------- | | **Forecast** | The values that the backtest model predicted. | | **Reported** | The values that your sources reported. | | **Holdout** | The start of the period that the backtest model did not train on. | ### Tooltips of the Model Health tab The table gives the text that the product shows for each metric and for the information icon next to the caption. The texts are the words of the product, not a retraining schedule. The line under the **Backtest** chart gives the date when the backtest last ran. | Metric | Text in the product | | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Current Fit and Backtest | Current Fit runs through the latest modeled date and includes data the model has already seen (in-sample). Backtest scores a separately retrained model on data it never trained on and reruns about monthly, so it ends earlier (out-of-sample). | | **MMM Fit** | How closely your current model's predictions track reported totals over this window. Higher is better, on a 0 to 100 scale. | | Modeled {target}, Current Fit | Total {target} the current model predicted across the selected date range. | | **Observed {target}** | Total actual {target} recorded across the selected date range. | | **Model Accuracy** | An estimate of how accurately this model forecasts future performance, learned from your historical data. Higher is better, on a 0 to 100 scale. | | Modeled {target}, Backtest | Total {target} the model predicted across the selected date range. The closer it is to Observed, the more accurate the model. | | **Non-trained Accuracy** | Accuracy over the most recent \~30 days (about 4 weeks) the model did not train on. It stays fixed regardless of the date range above. | | **Non-trained Forecast vs Observed** | What the model forecasted versus what actually happened during that non-trained 30-day window. | A word in braces stands for a value from your account or your plan. ### Empty states - **Current Fit**: **No fit data available for this configuration.** - **Backtest**: **No backtest results available yet.** ## Related - [Model Center](https://docs.prescientai.com/model-center): the guides and the concepts of the product area. - [Read the health of a model](https://docs.prescientai.com/model-center/read-model-health): the steps to read the two views. - [See the attribution of one model](https://docs.prescientai.com/model-center/see-model-attribution): the steps for the **Attribution** tab. - [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit): what each score and each view measures. # Model Comparison reference Source: https://docs.prescientai.com/reference/model-center/model-comparison > Reference for the Model Comparison page, with the selectors, the timeframes, the selection criteria and their colors, and each results section. This page lists the parts of the Model Comparison page, which opens from the **Compare configs** button of a model detail page. In a label on this page, a word in braces is a value from the account. The target is the outcome that the model measures, for example revenue. The efficiency is the efficiency metric of the target, for example ROAS. The prefix is a letter that comes from the target. ## Selectors and timeframes | Control or rule | Value | | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Menu entry | Model Comparison has no item in the sidebar. | | Model A and Model B | Each selector lists first the configs that have a comparison with the config in the other selector. The other configs are under **Models in other comparison sets**. When you select one of them, the page changes the other selector to a config that it can be compared with. | | Timeframes that you cannot select | A timeframe is not available when the 2 models have no comparison for that timeframe. | | End of the timeframe | A timeframe ends on the last day that the 2 models both have reported data for. | | Name of a model in a selector | The channel name, then the config name, for example the channel name with **Default**. | | Back arrow | The back arrow returns to the page that you opened the comparison from. | | Models | Timeframes | Label | | ------------- | ------------------------ | ------------------------------------------ | | Daily models | 30, 90, 365, or 730 days | The selector shows **Last {count} days**. | | Weekly models | 4, 12, 52, or 104 weeks | The selector shows **Last {count} weeks**. | A word in braces stands for a value from your account or your plan. ## Sections | Section | What it shows | | ---------------------------- | ----------------------------------------------------------------------------------------- | | **Comparing Models** | The 2 model selectors and the dates of the comparison. | | **Model Selection Criteria** | A **Preference Score** for each model and the criteria behind the score. | | **MMM Fit** | The modeled totals of the 2 models against the reported total, by date. | | **MMM Metric Comparison** | The modeled total and the modeled efficiency of each model, with the difference. | | **Historical {efficiency}** | The modeled efficiency of each model by channel and by timeframe, as a chart and a table. | A word in braces stands for a value from your account or your plan. ## Model Selection Criteria The section shows one panel for each model. Each panel has a gauge with the **Preference Score** of the model, from 0 to 100. The panel of the preferred model has the **Recommended** badge. | Rule | Value | | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Letter before -MMM | The letter comes from the metric of the target. A revenue target shows R. | | Run that the comparison uses | The comparison shows the figures of the run in **Run compared {date}**. A later run of the config does not change the comparison. Model Center shows the latest run. | | Value NA | A criterion can show **NA** in place of a number. **NA** has no color. | | Result text | The text under the result title comes from the comparison data of the workspace. | A word in braces stands for a value from your account or your plan. ### Additional Metrics | Criterion | What it shows | | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | | **{prefix}-MMM fit** | How well the model fits the reported total. A value near 100 is a better fit. | | **Average expectedness of {efficiency} values** | How typical the efficiency values of the model are. A value near 1 is typical. A value near 0 is unusual. | | **{efficiency} outliers** | **At least 1 outlier** or **No outliers**. | | **{prefix}-MMM Paid % within bounds** | The paid percentage of the model, as a number. The tooltip gives the range that the product calls reasonable. | A word in braces stands for a value from your account or your plan. ### Colors of the values | Value | Colors | Where | | ---------------- | ------------------------------------------------------------------ | -------------------------------------------------------- | | Fit | Green at 85 or more. Orange from 75 to less than 85. Red below 75. | The **{prefix}-MMM fit** row. | | Expectedness | Green above 0.7. Orange above 0.4, up to 0.7. Red at 0.4 or less. | The **Average expectedness of {efficiency} values** row. | | Paid % | Green from 30 to 100. Red for each other value. | The **{prefix}-MMM Paid % within bounds** row. | | Preference Score | Green at 60 or more. A different color below 60. | The gauge of each model. | A word in braces stands for a value from your account or your plan. ### Result | Result | Meaning | | --------------------- | ---------------------------------------------------------------------------------------------------------------------- | | **{model} Preferred** | **Model A Preferred** or **Model B Preferred**. The comparison prefers the model with the higher **Preference Score**. | | **Equally Preferred** | The two scores are equal, or one of the models has no score. | A word in braces stands for a value from your account or your plan. ### Tooltips of the criteria | Criterion | Tooltip | | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Preference Score** | The Preference Score (0–100) measures model quality across different criteria. | | **{prefix}-MMM fit** | This shows how well Prescient's model fits reported total. Values closer to 100 indicate better fit. | | **Average expectedness of {efficiency} values** | It measures how “typical” your {efficiency} is compared to the industry average. A score near 1 means your results are standard and expected, while a score near 0 indicates an outlier. | | **{efficiency} outliers** | Outlier: A performance value significantly outside the norm (±4.5 STDEV from the channel mean). | | **{prefix}-MMM Paid % within bounds** | Reasonable {prefix}-MMM Paid % values are roughly above 30% but no higher than 100%. | A word in braces stands for a value from your account or your plan. ## Results sections | Series, MMM Fit | What it shows | | ------------------ | ------------------------------------- | | **Reported Total** | The total that your sources reported. | | **Model A** | The modeled total of **Model A**. | | **Model B** | The modeled total of **Model B**. | | Metric card | What it shows | | -------------------- | ------------------------------------------------------------ | | **MMM {target}** | The modeled total that each model gives to paid media. | | **MMM {efficiency}** | The modeled efficiency of each model. | | **Difference** | The change from **Model A** to **Model B**, as a percentage. | A word in braces stands for a value from your account or your plan. | Rule | Value | | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Chart legend | Select a series in a chart legend to hide or show the series. | | Difference | The percentage is the value of **Model B** minus the value of **Model A**, divided by the value of **Model A**. The product shows 0% when one of the values is zero. | | Historical table columns | One group of columns for each timeframe, with a **Model A** column and a **Model B** column. A cell without a value shows a hyphen. | | Target without a model | The **MMM Fit** section tells you when one of the models has no model for the selected target. Select a different target. | ## Empty states When the config in **Model A** has no config to be compared with, the page shows the alert **No comparison models available for {model}.** A different config in **Model A** can have a comparison. | Message | Text under the message | | -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | | **No comparisons available yet** | Model comparisons will appear here once your Prescient team has built comparable model configurations for this organization. | | **No comparison data available** | No comparison data has been found for this model. | | **No historical data available** | No historical data has been found for this specific model config for any timeframe. Please try selecting a different one. | ## Related - [Model Center](https://docs.prescientai.com/model-center): the guides and the concepts of the product area. - [Compare two configs](https://docs.prescientai.com/model-center/compare-two-configs): the steps to open and read a comparison. - [Configs and the Preference Score](https://docs.prescientai.com/model-center/configs-and-the-preference-score): what the score and the criteria mean. # Channels and Integrations tabs Source: https://docs.prescientai.com/reference/data-center/channels-and-integrations-tabs > Reference for the two connection tables of Data Center, with each filter, column, row action, and badge. This page lists the controls and the columns of the **Channels** tab and the **Integrations** tab of Data Center. For the **Tactics** tab, see [Tactics reference](https://docs.prescientai.com/reference/data-center/tactics). ## Channels tab ### Toolbar | Filter | What it does | | -------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | **Powered by** | Shows the channels of one service. **All sources** shows each channel. The list has only the values that your channels have now. | | **Status** | Shows the channels of one status. **All statuses** shows each channel. The list has only the statuses that your channels have now. | | **Type** | Shows the channels of one type. **All types** shows each channel. The list has only the types that your channels have now. | Each filter lists only the values that the channels of the workspace have now. The toolbar also has the search box **Search channels…** and, for an Admin, the **Add channel** button. The **Clear** button shows while a search or a filter is set. On a tab with no channel, the **Add channel** button reads **Add channels**. ### Columns | Column | What it shows | | -------------------- | --------------------------------------------------------------------------------------------------------------------- | | **Connector** | The name and the logo of the channel. The docs call this a channel. | | **Powered by** | The service or the connection method that carries the data of the channel. | | **Status** | The state of the connection. | | **Type** | The category of the channel, for example **Advertising** or **E-Commerce**. | | **Connection Date** | The date when the channel first had a live connection. | | **Most Recent Data** | The latest date that Prescient holds data for the channel. A dash means that Prescient holds no rows for the channel. | | **Data QA** | The date when the numbers of the channel were approved, with the name of the approver. | ### Type values | Type | What it covers | | --------------- | ------------------------------------------------------------- | | **E-Commerce** | Revenue, orders, and new customers from a store that you own. | | **Retail** | Revenue from a retailer. | | **Advertising** | Spend and campaigns from an ad platform or a media type. | | **Analytics** | Sessions and users from a web analytics source. | | **Conversion** | A count of an outcome, for example leads or subscriptions. | | **Other** | A source outside the other types. | ### Row menu The menu is at the end of each row. The menu shows for each person, and each item needs an Admin except **Copy setup link**. | Item | What it does | | ------------------- | --------------------------------------------------------------------------------------------------------------------- | | **Edit connection** | Opens the setup dialog of the channel, with the setup instructions and the form for the connection method. | | **Copy setup link** | Copies an address that opens the setup dialog of this channel. | | **Sync now** | Starts a sync. The item is available only for a channel that a hosted connect card carries and that has a connection. | | **Data patch** | Opens the data patch dialog. The item is available only for a channel that can take a data patch. | | **Remove** | Removes the channel from your workspace after you confirm. | ### Badges | Badge | What it means | | ----------------- | --------------------------------------- | | **Patch** | The channel has a data patch. | | **Patch failing** | The last test of the data patch failed. | | **Flagged** | A number of the channel is in dispute. | ### Data QA values The **Data QA** column shows a date and the approver, or one of these values. | Value | What it means | | -------------------- | ---------------------------------------------------- | | **Not available** | The channel has no approval on record. | | **Approver unknown** | The numbers are approved and the record has no name. | ### Rules | Subject | Rule | | ---------------- | ------------------------------------------------------------------------------------------------------ | | Sort | You can sort the table by each of its seven columns. | | Last sync time | The table shows **Most Recent Data**. The table does not show the time of the last sync. | | Data QA dash | A dash in **Data QA** means that the channel is not part of Data QA. | | Remove a channel | The removal deletes the connection and its sync credentials. Prescient keeps the data that was synced. | For the **Manage** menu of a channel that a hosted connect card carries, see [How do you manage a live connection](https://docs.prescientai.com/data-center/connect-a-channel#how-do-you-manage-a-live-connection). ## Integrations tab ### Toolbar The toolbar has the search box **Search integrations…** and the filters **Powered by**, **Status**, and **Auth**. The **Clear** button shows while a search or a filter is set. For an Admin, the toolbar also has the **Add integration** button. ### Columns | Column | What it shows | | -------------------- | ------------------------------------------------------------------------ | | **Integration** | The name of the integration. | | **Powered by** | Always **Direct (Prescient)** on this tab. | | **Status** | **Connected** or **Not connected**. | | **Auth** | The type of the credential, for example **Service account** or **SFTP**. | | **Channels** | The channels that arrive through the integration. | | **Connection Date** | The earliest connection date of the channels of the integration. | | **Most Recent Data** | The latest data date of the channels of the integration. | ### Row menu | Item | What it does | | ---------------------- | ------------------------------------------------------------------------------- | | **Connect** | Opens the credential form of the integration. | | **Manage credentials** | Opens the credentials of the integration so that you can change one or add one. | ### Rules | Subject | Rule | | ------------------------ | ------------------------------------------------------------------------------------------------------------------ | | Integrations on this tab | The tab lists only BigQuery, Snowflake, SFTP, and Azure Blob Storage. | | Status values | An integration is **Connected** or **Not connected**. | | Dates of an integration | **Connection Date** is the earliest date of its channels. **Most Recent Data** is the latest date of its channels. | | Secret fields | When you change a credential, a secret field that you leave blank keeps its stored value. | ## Links and the card above the tabs | Subject | How it works | | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Link to a tab | When you select a tab, the page address changes to name that tab, for example with `?tab=tactics` at its end. To link to a tab, select the tab, then copy the address from your browser. | | Link to one channel | **Copy setup link** in the row menu of a channel copies an address that opens the **Channels** tab with the setup dialog of that channel. | | New data to verify | After your onboarding is complete, a card with the title **New data to verify** shows above the tabs when a channel is connected later and has numbers to check. An Admin checks the numbers in the same way as during onboarding. | ## Related - [Data Center](https://docs.prescientai.com/data-center): the guides and the concepts of the product area. - [Add a channel](https://docs.prescientai.com/data-center/add-a-channel): the steps to add a channel. - [Connect a channel](https://docs.prescientai.com/data-center/connect-a-channel): the steps for each connection method. - [Set up shared credentials](https://docs.prescientai.com/data-center/set-up-shared-credentials): the steps for the **Integrations** tab. - [Channels, integrations, and connection methods](https://docs.prescientai.com/data-center/channels-integrations-and-connection-methods): the meaning of each word on the two tabs. # Connection statuses Source: https://docs.prescientai.com/reference/data-center/connection-statuses > Reference for each status badge of a channel in Data Center, the two tooltip lines that say who must act, and the fix messages. This page lists the statuses of a connection in Data Center. A channel has one status at a time, and the **Status** column of the **Channels** tab shows it. The **Status** filter lists only the statuses that the channels of the workspace have now. ## Statuses | Status | Notes | | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Connected** | The channel has a live connection. | | **Syncing** | Shows after **Sync now** in the **Manage** menu of a hosted connect card. The status counts as a live connection. | | **Backfilling** | Shows after **Re-sync all history** in the **Manage** menu of a hosted connect card. The status counts as a live connection. | | **Validating** | The status counts as a live connection. | | **Needs attention** | The connection stopped syncing. Point at the badge to see who must act. | | **Paused** | Shows after **Pause** in the **Manage** menu of a hosted connect card. The status does not count as a live connection. To start the syncs again, an Admin selects **Resume** in the same menu. | | **Not connected** | The channel is in your list and has no connection. The badge has a tooltip only when a setup did not finish. | ## Owner of the fix | Tooltip line | What it means | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Action needed from you** | You can fix the connection. The line below gives the fix. | | **We're looking into it** | Prescient is checking the cause. The line below gives the detail. For a connection that stopped with no specific reason, the line says that Prescient contacts you if it needs something from you. | | Alert in the setup dialog | What it means | | ------------------------------------ | ---------------------------------------------------------------------------------------------- | | **This connection needs a fix** | A red alert. The text below it gives the fix that you can make. | | **We're finishing this on our side** | A neutral alert. It shows only for a **Not connected** channel whose setup waits on Prescient. | ## Rules | Subject | Rule | | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Who must act | The tooltip of a **Needs attention** badge starts with **Action needed from you** or **We're looking into it**. | | Tooltip of a Not connected badge | A **Not connected** badge has a tooltip only when a setup did not finish. The first line reads **Action needed from you** when you can fix the setup, and **We're looking into it** when the setup waits on Prescient. | | Alert in the setup dialog | The setup dialog shows **This connection needs a fix** when the fix is yours. It shows **We're finishing this on our side** only for a **Not connected** channel whose setup waits on Prescient. For a **Needs attention** channel with **We're looking into it**, the dialog shows no alert. | | Live connection | **Connected**, **Syncing**, **Validating**, and **Backfilling** each count as a live connection. **Needs attention**, **Paused**, and **Not connected** do not. | ## Fix messages The tooltip of the status badge shows one of these messages for a connection that needs attention. When the fix is yours, the setup dialog shows the same message. | Cause | Message | | --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Needs attention | This connection stopped syncing and we're looking into why. We'll reach out if we need anything from you. Still here in a few days? Contact . | | Lost access | We lost access to this account: its login expired or its permissions were removed. Reconnect it in Data Center to restore access. | | Login or setup stopped | This connection needs you: its login or setup stopped working. Reconnect it in Data Center to get data flowing again. | | Action before the next sync | This connection needs an action from you before it can sync again. Reconnect it in Data Center to restore access. | | Lost authorization | This connection lost its authorization. Reconnect it in Data Center to restore access. | | Stopped syncing | This connection stopped syncing. Reconnect it in Data Center to get data flowing again; if that doesn't fix it, contact . | | Formula error in a sheet | Some rows in your sheet show a formula error (like #N/A) where the date should be. Fix those cells and it will sync on the next run. | The address in a message is the address that the product shows. ## Related - [Data Center](https://docs.prescientai.com/data-center): the guides and the concepts of the product area. - [Check status and data freshness](https://docs.prescientai.com/data-center/check-status-and-data-freshness): the steps to read a status. - [Fix a channel that needs attention](https://docs.prescientai.com/data-center/fix-a-channel-that-needs-attention): the steps for each fix. - [Data dates and freshness](https://docs.prescientai.com/data-center/data-dates-and-freshness): why a status and a data date differ. # Data requirements Source: https://docs.prescientai.com/reference/data-center/data-requirements > Reference for the required and optional columns of each channel type when you supply data from Google Sheets, a warehouse, SFTP, or Azure Blob Storage. This page lists the columns that Data Center requires for each type of channel. The requirements apply to a channel whose data comes from Google Sheets, BigQuery, Snowflake, SFTP, or Azure Blob Storage. The columns depend on the type of the channel, which the **Type** column of the **Channels** tab shows. A channel that a hosted connect card or a provider sign-in carries has no column requirement. ## Advertising | Column | Required | Notes | | ------------- | -------- | ----------------------------------------------------------------------- | | date | Required | The day of the row. The expected name is created_date in Google Sheets. | | campaign_name | Required | The name of the campaign. | | campaign_id | Required | The ID of the campaign. Prescient reads the ID as text. | | spend | Required | The spend of the campaign on that day. | | tactic_type | Optional | Text. | | clicks | Optional | A number. | | impressions | Optional | A number. | | conversions | Optional | A number. | | revenue | Optional | A number. | ## Web analytics | Column | Required | Notes | | ---------------- | -------- | ----------------------------------------------------------------------- | | date | Required | The day of the row. The expected name is created_date in Google Sheets. | | channel_grouping | Required | The channel group of the sessions. | | total_sessions | Required | The sessions of that group on that day. | | engaged_sessions | Optional | A number. | | new_users | Optional | A number. | | active_users | Optional | A number. | | total_users | Optional | A number. | | bounce_rate | Optional | A number. | ## Conversion | Column | Required | Notes | | ------ | -------- | ------------------------------------------------------------------------------------------- | | date | Required | The day of the row. The expected name is created_date in Google Sheets. | | value | Required | A number. Do not supply a conversion channel from Snowflake. See the rules for each source. | ## E-commerce | Column | Required | Notes | | --------------------- | -------- | ---------------------------------------------------------------------------------------- | | date | Required | The day of the row. The expected name is created_date in Google Sheets and in Snowflake. | | new_customers | Required | Optional when the data comes from Snowflake. | | transactional_orders | Required | A number. | | transactional_revenue | Required | A number. | | subscription_orders | Optional | A number. | | subscription_revenue | Optional | A number. | | wholesale_orders | Optional | A number. | | wholesale_revenue | Optional | A number. | ## Retail | Column | Required | Notes | | ---------------- | ---------------------------------------------------- | ----------------------------------------------------------- | | date | Required | A date. The expected name is created_date in Google Sheets. | | date_aggregation | Required | Text. | | revenue_amount | Required | A number. | | revenue_ccy | Required | The currency of the revenue. Text. | | total_units_sold | Required for SFTP, Azure Blob Storage, and Snowflake | Optional for Google Sheets and BigQuery. | | num_of_stores | Required for SFTP, Azure Blob Storage, and Snowflake | Optional for Google Sheets and BigQuery. | ## Other | Column | Required | Notes | | ---------- | -------- | -------------------------------------------------------------------------------------- | | asin | Required | One row for each ASIN. An ASIN has 10 characters, each an uppercase letter or a digit. | | brand_name | Optional | Text. | ## Unique rows Data Center refuses data with two rows that have the same values in these columns. | Channel type | Columns | Result | | ------------- | ----------------------------- | ------------------------------------------- | | Advertising | The date and campaign_id | One row for each campaign on each day. | | Web analytics | The date and channel_grouping | One row for each channel group on each day. | | Conversion | The date | One row for each day. | | E-commerce | The date | One row for each day. | | Retail | The date | One row for each date. | | Other | asin | One row for each ASIN. | ## Rules for each source | Subject | Rule | | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Name of the date column | The expected name is created_date in Google Sheets, and in Snowflake for an e-commerce channel. The expected name is date in each other source. Data Center accepts date and created_date for the two names. | | How Data Center reads column names | Data Center ignores capital letters, spaces, and punctuation in a column name, so Created Date and created_date are the same name. Data Center also accepts some other names for a column: campaign for campaign_name, tactic for tactic_type, cost for spend, sessions for total_sessions, and currency for revenue_ccy. | | Other channels | A channel of the type **Other** can take data only from Google Sheets. | | Date format | In Google Sheets, SFTP, and Azure Blob Storage, a date has the form YYYY-MM-DD or YYYY/MM/DD. In Google Sheets, a cell that has a date format is also a date. The fix message of a Google Sheets connection asks for the form YYYY-MM-DD. | | Dates after today | In Google Sheets, SFTP, and Azure Blob Storage, a row with a date more than 1 day after today does not pass the check. Do not add rows for days that have not occurred. | | Data patch sheet | A data patch sheet always uses the Google Sheets column names, so its date column is created_date. | | Conversion data from Snowflake | Do not supply a conversion channel from Snowflake. The checks can pass, but Prescient does not read conversion data from a Snowflake service account. Use Google Sheets, BigQuery, SFTP, or Azure Blob Storage. | | Values of the wrong type | A date column must hold dates, and a number column must hold numbers. An ASIN must have 10 characters, each an uppercase letter or a digit. | | Blank values | A required column cannot have a blank value. | | Numbers | A number must be a plain number, with no currency symbol and no currency format. | | Duplicate rows | Two rows cannot have the same values in the columns that make a row unique. | | Empty source | The source must have one row or more. | | Column names that differ | When Data Center cannot match a required column to one of your columns, the setup dialog shows a form. In the form, select the column of your data for each required column. | > **Pages of the earlier help center:** Some pages of the earlier help center list different required columns, or one date format only. The tables and the rules on this page agree with the checks that Data Center runs. For the columns of data that a workspace supplies, this page is the reference. > **A data patch needs fewer columns:** In a data patch, the main metric columns are optional. See [Data patches](https://docs.prescientai.com/data-center/data-patches). ## Related - [Data Center](https://docs.prescientai.com/data-center): the guides and the concepts of the product area. - [Connect a channel](https://docs.prescientai.com/data-center/connect-a-channel): the steps to connect a sheet, a table, or a file location. - [Add a data patch](https://docs.prescientai.com/data-center/add-a-data-patch): the steps for a patch sheet. - [Data patches](https://docs.prescientai.com/data-center/data-patches): what a patch is and which columns it needs. # Tactics reference Source: https://docs.prescientai.com/reference/data-center/tactics > Reference for the Tactics tab of Data Center, with each control and column, the rules for labels and custom tactics, and the built-in tactics. This page lists the parts of the **Tactics** tab of Data Center. The tab lists the advertising campaigns of the workspace and the tactic of each campaign. Attribution uses the tactic to group campaigns on the **Tactics** tab of the **Performance Table**. See [Compare channels, tactics, and campaigns](https://docs.prescientai.com/attribution/compare-channels-tactics-and-campaigns). ## Toolbar | Filter | What it shows | | ------------- | ---------------------------------------- | | **All** | Shows each campaign. | | **Labeled** | Shows the campaigns that have a tactic. | | **Unlabeled** | Shows the campaigns that have no tactic. | | Button | What it does | | --------------------- | ------------------------------------------------------------------------ | | **Filters** | Opens the filters for **Channel** and **Campaign Name**. | | **Manage tactics** | Opens the **Manage tactics** dialog. The button shows only for an Admin. | | **Discard** | Drops the staged changes. | | **Save ({N})** | Saves the staged changes. The number is the count of changed campaigns. | | **Apply to selected** | Stages the tactic for each selected campaign. | | **Clear selection** | Clears the selected rows. | A word in braces stands for a value from your account or your plan. ## Columns | Column | What it shows | | ----------------- | --------------------------------------------------------------------------------------- | | **Channel** | The advertising channel of the campaign. | | **Campaign ID** | The ID of the campaign in its ad platform. | | **Campaign Name** | The name of the campaign. | | **Spend (30d)** | The spend of the campaign in the last 30 days. The table starts with the highest spend. | | **Tactic** | The tactic of the campaign. A campaign with no tactic shows **Not set**. | ## Campaign Name conditions The **Filters** button opens a filter for **Channel** and a set of rules for **Campaign Name**. | Condition | What it keeps | | -------------------- | -------------------------------------------------------------------- | | **Contains** | Keeps the campaigns whose name has the text that you type. | | **Does not contain** | Keeps the campaigns whose name does not have the text that you type. | ## Rules | Subject | Rule | | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | View that opens | The tab opens on **Labeled** when one campaign or more has a tactic. Then the campaigns with no tactic do not show until you select **All** or **Unlabeled**. With no labeled campaign, the tab opens on **All**. | | Campaigns in the table | Only advertising campaigns can take a tactic. | | Spend window | **Spend (30d)** is the spend of the last 30 days. | | Page size | The table shows 100 campaigns on each page. | | Select all | The checkbox in the header selects each campaign that matches the search and the filters, on each page. | | Remove a label | To remove the tactic of a campaign, select the same tactic in the picker again. | | Staged changes | A change is staged until you select **Save ({N})**. The browser asks before you leave the tab with staged changes. | | Campaign Name rules | Each rule that you add must match. The rules combine with AND. | | Tactic name | The name of a custom tactic has 2 characters or more, with one letter or number or more. | | Built-in tactics | You cannot rename or delete a built-in tactic. A built-in tactic has the **Default** badge and no rename or delete control. | | Delete a custom tactic | You can delete a custom tactic only while no campaign has the tactic. | | Who can label | An Admin and a Viewer can each label campaigns and save the labels. | | Who can manage tactics | Only an Admin can add, rename, or delete a custom tactic. | A word in braces stands for a value from your account or your plan. ## Messages For each message of the tab, see [Messages](https://docs.prescientai.com/reference/data-center/messages#tactics-tab). ## Built-in tactics Each built-in tactic has the badge **Default** in the **Manage tactics** dialog. The dialog has the field **New tactic name…** and the **Add** button for a custom tactic. | Tactic | | ------------------------------ | | **Prospecting** | | **Retargeting** | | **Retention** | | **ASC** | | **Non Brand Search** | | **Brand Search** | | **Non Brand Shopping** | | **Brand Shopping** | | **PMAX** | | **Video** | | **Display - Prospecting** | | **Display - Retargeting** | | **Affiliate - Content** | | **Affiliate - Coupon** | | **CTV - Retargeting** | | **CTV - Retention** | | **CTV - Prospecting** | | **Influencer** | | **Audio** | | **Linear** | | **Retail Store** | | **Awareness** | | **Bottom of Funnel** | | **Middle of Funnel** | | **Top of Funnel** | | **Consideration** | | **Conversion** | | **Affiliate - PPC** | | **Affiliate - Media** | | **Affiliate - Closed** | | **Affiliate - Merchant** | | **BAU** | | **Promotional** | | **Demand Gen** | | **MSAN** | | **YouTube** | | **View Content** | | **Non Brand Search Generic** | | **Non Brand Search Blog** | | **Non Brand Search Affiliate** | > **The list of a workspace can differ:** An Admin can add custom tactics, so the picker of a workspace can show more tactics than this list. The built-in list can also change. ## Related - [Data Center](https://docs.prescientai.com/data-center): the guides and the concepts of the product area. - [Label campaigns with tactics](https://docs.prescientai.com/data-center/label-campaigns-with-tactics): the steps to label campaigns and to add a custom tactic. - [Compare channels, tactics, and campaigns](https://docs.prescientai.com/attribution/compare-channels-tactics-and-campaigns): the tactic level in Attribution. # Roles and permissions in Data Center Source: https://docs.prescientai.com/reference/data-center/roles-and-permissions > Reference for what an Admin and a Viewer can each do in Data Center, on the three tabs and during onboarding. This page lists the actions of each role in Data Center. An Admin can change each connection. A Viewer can read each tab and can label campaigns with tactics. [Roles and members](https://docs.prescientai.com/reference/account/roles-and-members) is the main page for the two roles, and it defines each role. The product text uses the words admin and account admin for the Admin role. ## Actions by role | Action | Role | Notes | | ------------------------------------------------------------------------------------ | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | See the tabs, the tables, the statuses, and the dates | Admin and Viewer | An Admin and a Viewer can each read Data Center. | | Label campaigns with tactics and save the labels | Admin and Viewer | The **Tactics** tab lets each person stage and save tactic labels. | | Copy a setup link | Admin and Viewer | The link opens the setup dialog of one channel. The person who opens the link needs an Admin role to connect the channel. | | Add a channel or an integration | Admin | **Add channel** and **Add integration** show only for an Admin. | | Connect, reconnect, or change the credentials of a channel | Admin | The row menu shows for each person. For a Viewer, the setup dialog opens, and Data Center refuses the change with a permission message. | | Use the **Manage** menu of a hosted connect card: sync, pause, resume, or disconnect | Admin | A Viewer who uses an item gets a permission message. | | Start a sync, add a data patch, or remove a channel | Admin | The row menu shows for each person. A Viewer who uses an item gets a permission message. The **Data patch** dialog opens for a Viewer, and Data Center refuses the save. | | Add, rename, or delete a custom tactic | Admin | **Manage tactics** shows only for an Admin. | | Confirm or flag numbers during onboarding | Admin | A Viewer sees the numbers and a line that says an account admin must review them. | ## Tactics | Subject | Rule | | ---------------------- | ------------------------------------------------------------------- | | Who can label | An Admin and a Viewer can each label campaigns and save the labels. | | Who can manage tactics | Only an Admin can add, rename, or delete a custom tactic. | ## Onboarding | Subject | Rule | | -------------------- | ---------------------------------------------------------------------- | | Who can confirm data | Only an Admin can confirm or flag a number. A Viewer sees the numbers. | ## View of a Viewer - **Add channel**, **Add integration**, and **Manage tactics** do not show. - The menu of a channel row shows each item. Data Center refuses each action that needs an Admin. **Edit connection** and **Data patch** open their dialogs, and Data Center refuses the change at the save. - An empty **Channels** tab shows the line **Ask an admin to add the channels you want to measure.** | Message | Cause | | -------------------------------------------------------- | ------------------------------------------------ | | **You don't have permission to manage this connection.** | You are a Viewer, and the action needs an Admin. | > **Copy setup link works for a Viewer:** **Copy setup link** in the menu of a channel row works for a Viewer. The link opens the setup dialog of that channel for an Admin. ## Related - [Data Center](https://docs.prescientai.com/data-center): the guides and the concepts of the product area. - [Invite and manage members](https://docs.prescientai.com/account/manage-members): the steps to give a person a role. - [Label campaigns with tactics](https://docs.prescientai.com/data-center/label-campaigns-with-tactics): the task that a Viewer can do. - [Complete onboarding in Data Center](https://docs.prescientai.com/data-center/complete-onboarding): the steps that need an Admin. # Data Center messages Source: https://docs.prescientai.com/reference/data-center/messages > Reference for the confirmations, notices, and errors that Data Center shows, grouped by the place where each one shows, with the action to take. This page lists the messages of Data Center by the place where each message shows. For the messages of a connection that needs attention, see [Connection statuses](https://docs.prescientai.com/reference/data-center/connection-statuses#fix-messages). Some messages include a name or a count from the account. This page describes those messages in the notes and does not quote them. ## Channels tab | Message | When it shows | What to do | | -------------------------------------------------------- | -------------------------------------------- | ---------------------------------------- | | **No channels yet** | The tab has no channel. | An Admin selects **Add channels**. | | **No channels match your filters.** | The search or a filter leaves no row. | Select **Clear**. | | **Sync started** | A person selected **Sync now**. | Wait, then read **Most Recent Data**. | | **Setup link copied** | A person selected **Copy setup link**. | Paste the link in a message to an Admin. | | **Couldn't copy the setup link** | The browser refused the copy. | Try again. | | **You don't have permission to manage this connection.** | A Viewer used an action that needs an Admin. | Ask an Admin of your workspace. | After the removal of a channel, a message gives the name of the channel and the word removed. ## Add channels dialog | Message | When it shows | What to do | | -------------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------ | | **Channel added.** | A person added one channel. | Connect the channel. | | **Select at least one channel.** | A person selected **Add channels** with no channel selected. | Select a channel. | | **Every available channel is already added.** | No channel is left to add. | Close the dialog. | | **No channels left in this category.** | The category tab has no channel left. | Select a different category tab. | | **Those channels are already added.** | The selected channels are in the list of the workspace. | Close the dialog. The channels are in the table. | | **Couldn't add those channels. Please try again.** | The request failed. | Try again. | After two or more channels are added, the message gives the count of channels. ## Setup dialog and validation | Message | When it shows | What to do | | -------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------- | | **Channel validated** | Your data passed the three checks. | Select **Done**. | | **Saved, but not connected** | Your details are saved, but Data Center has no column check for this type of channel from this source. The channel is not connected. | Read the reason in the dialog, then select **Done**. | | **No credentials are required for this source.** | The form of the source has no field. | Select the button of the form. | | **Leave secret fields blank to keep the stored values.** | A person opened the credentials of a connected channel. | Fill in only the values that changed. | | **No named ranges found in this sheet yet. Create one over your data, then search again.** | The Google Sheet has no named range. | Make a named range in the sheet, then select **Find ranges**. | | **We connected and read the schema, but the source has no rows yet. Add data and validate again.** | The source is empty. | Add rows, then validate again. | | **Pick a credential for this channel.** | Your workspace has two or more credentials for the integration, and none is selected. | Select one in **Credential**, then save again. | | **Set the dataset and table first.** | A BigQuery channel has no location. | Fill in **Dataset ID** and **Table ID**. | | **Set the database, schema, and table first.** | A Snowflake channel has no location. | Fill in **Database**, **Schema**, and **Table**. | | **Set the base path first.** | An SFTP channel or an Azure Blob Storage channel has no location. | Fill in **Base path**. | | **Share connected.** | A person saved a Snowflake data share. | No action. | | **Share updated.** | A person changed a Snowflake data share. | No action. | Validation also lists each problem in the data, with a count. The problems are a value of the wrong type, a blank value in a required column, a duplicate row, and a number with a currency symbol or a currency format. A value of the wrong type is a value that is not a date in a date column, not a number in a number column, or not a valid ASIN. A valid ASIN has 10 characters, each an uppercase letter or a digit. See [Data requirements](https://docs.prescientai.com/reference/data-center/data-requirements#rules-for-each-source). ## Manage menu The **Manage** menu shows in the setup dialog of a channel that a hosted connect card carries. See [How do you manage a live connection](https://docs.prescientai.com/data-center/connect-a-channel#how-do-you-manage-a-live-connection). | Message | When it shows | What to do | | ----------------------------- | ------------------------------------------ | -------------------------------------------- | | **Sync started** | A person selected **Sync now**. | Wait, then read **Most Recent Data**. | | **Historical resync started** | A person selected **Re-sync all history**. | Wait while the status reads **Backfilling**. | | **Connection paused** | A person selected **Pause**. | Select **Resume** to start the syncs again. | | **Connection resumed** | A person selected **Resume**. | No action. | | **Disconnected** | A person confirmed **Disconnect**. | Connect the channel again, or remove it. | ## Onboarding steps | Message | When it shows | What to do | | --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | --------------------------------------- | | **Nothing to connect here** | The category step has no channel. | Continue to the next step. | | **Connect your advertising channels to continue.** | No advertising channel has a live connection. | Connect an advertising channel. | | **Connect your outcome metric (revenue, leads, or subscriptions) so we can measure results.** | No e-commerce, retail, or conversion channel has a live connection. | Connect one of these channels. | | **Everything is finally connected** | The last connect step is complete. | Wait for the data. | | **Sent to your team for review** | A person selected **Send to review** for a number. | Wait for Prescient to check the number. | For the banners and the badges of the **Validate your data** step, see [How do you verify your data](https://docs.prescientai.com/data-center/complete-onboarding#how-do-you-verify-your-data). ## Integrations tab | Message | When it shows | What to do | | ----------------------------------------------------------- | ------------------------------------------------- | ------------------------------------- | | **No integrations yet** | The tab has no integration. | An Admin selects **Add integration**. | | **Direct connectors show up here once an admin adds them.** | The tab has no integration, and you are a Viewer. | Ask an Admin of your workspace. | | **No integrations match your filters.** | The search or a filter leaves no row. | Clear the search and the filters. | ## Tactics tab | Message | When it shows | What to do | | ------------------------------------------------ | ---------------------------------------------- | -------------------------------------------------------- | | **No campaigns yet** | No advertising campaign has synced. | Connect an advertising channel and wait for its data. | | **No campaigns match your filters.** | The search or a filter leaves no row. | Change the search or the filters. | | **Couldn't load campaigns** | The tab could not read your campaigns. | Select **Try again**. | | **Unrecognized channel** | The tactic picker of a row is not available. | No action. You cannot label this campaign. | | **1 tactic saved.** | A person saved one change. | No action. | | **No tactic found.** | The picker has no tactic for your search text. | Change the text, or ask an Admin to add a custom tactic. | | **Tactic renamed.** | An Admin renamed a custom tactic. | No action. | | **Tactic deleted** | An Admin deleted a custom tactic. | No action. | | **Tactic name must be at least 2 characters.** | The name of a custom tactic is too short. | Type a longer name. | | **Tactic name must contain a letter or number.** | The name has no letter and no number. | Add a letter or a number. | For a custom tactic with a name that is in use, the message says that a tactic with that key exists. For two or more saved changes, the message gives the count of tactics. For a custom tactic that is in use, the delete message gives the count of campaigns that use it, and the tactic can be deleted after no campaign has the label. The browser also asks **You have unsaved tactic changes. Discard them and leave this tab?** when a person leaves the tab with staged changes. ## Data patch dialog | Message | When it shows | What to do | | --------------------------- | ------------------------------------------ | ------------------------------------------- | | **Data patch validated** | The patch sheet passed the checks. | No action. | | **Patch validated** | The last test of a saved patch passed. | No action. | | **Patch failing** | The last test of a saved patch failed. | Correct the sheet, then select **Re-test**. | | **Not tested yet** | The patch is saved and has no test result. | Select **Re-test**. | | **Remove this data patch?** | A person selected **Remove patch**. | Confirm to stop the use of the sheet. | | **Data patch removed.** | A person confirmed the removal. | No action. | ## Related - [Data Center](https://docs.prescientai.com/data-center): the guides and the concepts of the product area. - [Fix a channel that needs attention](https://docs.prescientai.com/data-center/fix-a-channel-that-needs-attention): the steps for a connection that stopped. - [Connect a channel](https://docs.prescientai.com/data-center/connect-a-channel): the steps of the setup dialog. - [Label campaigns with tactics](https://docs.prescientai.com/data-center/label-campaigns-with-tactics): the steps of the **Tactics** tab. - [Add a data patch](https://docs.prescientai.com/data-center/add-a-data-patch): the steps of the data patch dialog. # Page controls Source: https://docs.prescientai.com/reference/attribution/page-controls > Reference for the Attribution filter bar, date range presets, and comparison periods, with each default and limit. This page lists the controls at the top of the Attribution page, which apply to each section of the page. For the filters and the saved views, see [Filters and views](https://docs.prescientai.com/reference/attribution/filters-and-views). For the metrics, see [Metrics and summary cards](https://docs.prescientai.com/reference/attribution/metrics). ## Filter bar The filter bar holds the controls in this order, from left to right. | Control | What it does | | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Target** | Selects the outcome that the page reports, for example revenue or new customers. The list comes from the targets that your account models. An account with one target shows the target name with no menu. | | **Model** | Selects which models the page includes. The control appears when the target has 2 or more models, or when a model has 2 or more configurations. | | **Filters** | Narrows the whole page by channel, tactic, and campaign rule. | | **Views** | Applies or saves a set of table columns and filters. | | **Compare** | Compares the selected period with an earlier period. | | **Daily or Weekly** | States the date granularity of the selected models. Hold the pointer over the label for the reason. | | Date range | Sets the period for every section of the page. The control shows the selected dates and has no text label. | | Rule | Value | | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | | Open with one channel | A link from a different part of the product can open the page with one channel selected. The selection applies one time. | | Section order | Each user has a separate section order. The order is saved to your profile. | | Collapsed sections | The collapsed state of each section is saved for each workspace in your browser. | | Model filter values | The **Model** control reads **All**, **None**, the name of one model, or a count such as 2 of 3. | | Model configurations | A model with 2 or more configurations has a submenu next to its name. A configuration other than the default shows its name under the model name. | | Compare All Models | The **Compare All Models** item appears in the **Model** menu when a model has 2 or more configurations. The item opens the Model Comparison page. | | Date granularity | The granularity is weekly when one or more selected models are weekly. With weekly granularity, a date range contains whole weeks only. | ## Date range ### Default period and limits | Rule | Value | | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Default period, daily | 30 days, with the first day and the last day included. The period ends on the last day that has modeled data. | | Default period, weekly | 4 whole weeks. The period ends in the week of the last day that has modeled data. | | Preset end date | A daily preset ends yesterday. A weekly preset ends with the last complete week. | | Return to the default period | A date range that you set returns to **Default View** after a change of target, model, or configuration when the granularity changes between daily and weekly, or when the range ends after the last modeled day of the new selection. | | Weekly granularity | A date range contains whole weeks only. | ### Date picker limits | Rule | Value | | ----------- | -------------------------------------------------------- | | Latest date | The calendar does not let you select a date after today. | | All time | The **All time** preset starts 3 years before today. | ### Presets with daily granularity | Preset | | ------------------- | | **Last 7 days** | | **Last 14 days** | | **Last 30 days** | | **Last 90 days** | | **Last 6 months** | | **Last 12 months** | | **Quarter to date** | | **Year to date** | | **All time** | ### Presets with weekly granularity | Preset | | ----------------- | | **Last 4 weeks** | | **Last 8 weeks** | | **Last 12 weeks** | | **Last 52 weeks** | ## Compare ### Comparison periods | Period | Dates that the period covers | | --------------------- | -------------------------------------------------------------------------------------------------- | | **Previous period** | The period of the same length that ends the day before the selected period starts. | | **A month earlier** | The selected period moved back 1 month. With weekly granularity, the period moves back 4 weeks. | | **A quarter earlier** | The selected period moved back 3 months. With weekly granularity, the period moves back 13 weeks. | | **A year earlier** | The selected period moved back 12 months. With weekly granularity, the period moves back 52 weeks. | | **Custom period** | A period of the same length that starts on a day that you select. | ### Change formats | Format | What it shows | | ---------- | ---------------------------------- | | **%** | Shows each change as a percentage. | | **Amount** | Shows each change as a value. | | Rule | Value | | ------------------------- | ------------------------------------------------------------------------------------------------- | | Default state | **Compare** is off until you turn it on. The setting returns to off when you load the page again. | | Default comparison period | **Previous period**. | | Default change format | **%**. | | Custom period length | A custom period has the same length as the selected period. You select only the start day. | | Custom period end | A custom period cannot end after the last comparable day. | | Custom period calendar | The calendar goes back 3 years. | ## Related - [Attribution](https://docs.prescientai.com/attribution): the guides and the concepts of the product area. - [Choose what the page shows](https://docs.prescientai.com/attribution/choose-what-the-page-shows): the steps to set the target, the models, and the period. - [Compare two periods](https://docs.prescientai.com/attribution/compare-two-periods): the steps for the comparison control. - [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures): why the page is daily or weekly, and why the default period ends before today. # Filters and views Source: https://docs.prescientai.com/reference/attribution/filters-and-views > Reference for the Attribution Filters menu and Views menu, with each filter mode, campaign rule field, menu item, and limit. This page lists the options of the **Filters** menu and the **Views** menu of the Attribution page. For the other controls of the filter bar, see [Page controls](https://docs.prescientai.com/reference/attribution/page-controls). ## Filters ### Sections of the Filters menu | Section | What it holds | | ------------------ | ------------------------------------------------------------------------------- | | **Channels** | A checklist of the channels in your data. All channels are selected by default. | | **Tactics** | A checklist of tactics, with **Include** and **Exclude** modes. | | **Campaign rules** | Rules that keep campaigns by name, by ID, or by the value of a metric. | ### Tactic filter modes | Mode | What it does | | ----------- | --------------------------------------- | | **Include** | Keeps only the tactics that you select. | | **Exclude** | Removes the tactics that you select. | ### Campaign rule fields | Field | Conditions | | -------- | ------------------------------------------------------------------------------------------------------------------------- | | **Name** | Matches the campaign name. The conditions are **contains**, **doesn’t contain**, and **starts with**. | | **ID** | Matches the campaign ID. The conditions are **is any of** and **is none of**. Commas or spaces separate the IDs. | | A metric | Matches the value of a metric from the table. The conditions are greater than, less than, and equal to, shown as symbols. | | Rule | Value | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------ | | Scope | Each filter applies to the summary cards, the chart, the table, and the flows. | | Metric rules | A metric rule accepts a number. One metric can have each condition one time. | | Active filter chips | Each active tactic filter, campaign rule, and metric rule shows as a chip under the filter bar. Each chip has a remove button. | ## Views ### Views menu items | Item | What it does | | --------------------- | ----------------------------------------------------------------------------------------------------------- | | **Save view** | Saves your changes to the applied view. The item is available only while the button shows **(edited)**. | | **Save as new view…** | Opens the **Save view** dialog. | | **Exit view** | Stops the use of the applied view. The page returns to the columns and filters that it had before the view. | | Rule | Value | | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Saved content | A view saves the table columns, the column order, the column widths, and the active filters: target, models, channels, tactics, campaign rules, and metric rules. | | Not saved | A view does not save the date range, the comparison period, or the configuration that is selected for a model. | | Target | A view belongs to one target. The **Views** menu lists only the views of the selected target. A change of target exits the applied view. | | Default visibility | A new view is private. | | Who can change a view | Only the owner of a view can save changes to the view, change its visibility, or delete the view. | ## Messages The **Filters** menu has these messages. | Message | When it shows | | ------------------------------------------- | ------------------------------------------------------------------------------- | | **Enter a number.** | A metric rule has a value that is not a number. | | **That metric already has this condition.** | A second rule has the same metric and the same condition as a rule that exists. | | **Enter a value.** | A name rule or an ID rule has no value. | The **Views** menu and the **Save view** dialog have these messages. The delete confirmation for a shared view states that the view is removed for each person in your workspace. | Message | When it shows | | ---------------------------------------------- | ---------------------------------------------------------------------- | | **No saved views yet** | The **Views** menu has no views for the selected target. | | **View name is required.** | The **Save view** dialog has no name. | | **You already have a view with that name.** | The name in the **Save view** dialog is the name of one of your views. | | **This can't be undone.** | The delete confirmation for a private view. | | **Couldn't save this view.** | The product did not save the view. | | **Couldn't delete this view.** | The product did not delete the view. | | **View not found, or it isn't yours to edit.** | The view does not exist any more, or a different person owns the view. | ## Related - [Attribution](https://docs.prescientai.com/attribution): the guides and the concepts of the product area. - [Choose what the page shows](https://docs.prescientai.com/attribution/choose-what-the-page-shows): the steps to filter the page. - [Save and share a view](https://docs.prescientai.com/attribution/save-and-share-a-view): the steps for a saved view. # Metrics and summary cards Source: https://docs.prescientai.com/reference/attribution/metrics > Reference for the Attribution summary cards and metric columns, with the source of each figure and the tooltip text of each card and column. This page lists the summary cards and the metrics of the Attribution page. For the options of each section, see [Attribution Over Time options](https://docs.prescientai.com/reference/attribution/attribution-over-time), [Performance Table options](https://docs.prescientai.com/reference/attribution/performance-table), and [Base & Halo Flows options](https://docs.prescientai.com/reference/attribution/base-and-halo-flows). In a label on this page, a word in braces is a value that depends on the account. The outcome is the name of the target, for example revenue. The efficiency is the efficiency metric of the target, for example ROAS. ## Summary cards The first two cards show spend and the reported outcome. ![The Spend card and the Reported Revenue card, each with a total and a daily average](https://docs.prescientai.com/_astro/reported-cards.Cf_830NT_2lsK7W.webp) The other cards show the modeled figures, each with its Base part and its Halo part. ![The MMM Revenue, MMM Revenue %, and MMM ROAS cards, each with Base and Halo values and the channel reported value](https://docs.prescientai.com/_astro/modeled-cards.DcviyOMm_ZRDbNA.webp) | Card | What it shows | | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | | **Spend** | The total ad spend for the period, with **Daily avg.** and the number of **Channels**. | | **Reported {outcome}** | The outcome that your connected sales sources report, with **Daily avg.** and the number of **Models**. | | **MMM {outcome}** | The total outcome that the marketing mix model attributes to paid media, divided into **Base** and **Halo**. | | **MMM {outcome} %** | The share of the total predicted outcome that the model attributes to paid media, divided into **Base** and **Halo**. | | **MMM {efficiency}** | The modeled efficiency against spend, divided into **Base** and **Halo**. The efficiency metric depends on the target, for example ROAS or CAC. | A word in braces stands for a value from your account or your plan. | Rule | Value | | ---------------- | --------------------------------------------------------------------------------------------------------------------- | | No serving model | The MMM cards show a dash when the selected scope has no model. | | Reported revenue | The **Reported** card counts transactional revenue only. Subscription revenue and wholesale revenue are not included. | | Comparison | With **Compare** on, each card shows the change from the comparison period. | ### Tooltips of the summary cards The table gives the text that the product shows when the pointer is over a card title. | Card | Tooltip | | ----------------------- | ---------------------------------------------------------------------------------- | | **Spend** | Amount spent on advertising channels. | | **Reported {outcome}** | {Outcome} numbers provided by {connector names} data connectors. | | **MMM {outcome}** | Total {outcome} attributed to paid media by the Marketing Mix Model (Base + Halo). | | **MMM {outcome} %** | Percentage of total predicted {outcome} attributed to paid media by the MMM model. | | **MMM {efficiency}** | {Efficiency} — modeled {outcome} efficiency against spend (Base + Halo). | | **Channel {outcome} %** | Channel-reported {outcome} as % of actual total {outcome}. | | **Channel ROAS** | Channel-reported revenue ÷ spend. | A word in braces stands for a value from your account or your plan. ## Metrics ### Metric groups | Group | Source of the figures | | ----------------------- | -------------------------------------------------------------------------------------------------------------- | | Spend | The data input. This group has no band label in the table. | | **Modeled (MMM)** | Figures from the marketing mix model: total, Base, and Halo. | | **Channel Reported** | Figures that each ad platform reports for itself. | | One band for each model | With 2 or more models, each model has a band with its own modeled columns. The band has the name of the model. | ### Metric columns | Metric | What it shows | | ------------------------- | --------------------------------------------------------------------------------------------------------------------------- | | **Spend** | Media spend for the period, as the ad platform reports it. | | **MMM {outcome}** | The total modeled outcome for the spend: Base plus Halo. | | **MMM {efficiency}** | The efficiency of the total modeled outcome against spend. | | **MMM Base {outcome}** | The modeled outcome that the spend of the row drives directly. | | **MMM Base {efficiency}** | The efficiency of the Base outcome against spend. | | **MMM Halo {outcome}** | The modeled outcome that the spend of the row drives indirectly, through other channels and sources. | | **MMM Halo {efficiency}** | The efficiency of the Halo outcome against spend. | | **Channel {outcome}** | The outcome that the ad platform reports for itself, before modeling. Revenue targets only. | | **Channel {efficiency}** | The efficiency of the channel-reported outcome against spend. Revenue targets only. | | **Impressions** | The number of times an ad was served, as the ad platform reports it. | | **Clicks** | Ad clicks, as the ad platform reports them. | | **CPM** | Cost per thousand impressions: spend divided by impressions, multiplied by 1,000. | | **CPC** | Cost per click: spend divided by clicks. | | **Campaign ID** | The campaign identifier of the ad platform. The column is blank on the **Channels** and **Tactics** tabs. | | **MMM {outcome} %** | The share of the row in the table total of **MMM {outcome}**. The summary card with the same name shows a different figure. | | **Channel {outcome} %** | The share of the row in the table total of **Channel {outcome}**. Revenue targets only. | A word in braces stands for a value from your account or your plan. | Rule | Value | | ------------------------ | ----------------------------------------------------------------------------------------------------------------- | | Efficiency direction | For a ratio such as ROAS, a higher value is better. For a cost such as CAC, a lower value is better. | | Channel-reported outcome | **Channel {outcome}** and **Channel {efficiency}** are available for revenue targets only. | | Per-model columns | With 2 or more models, each model has its own columns for the modeled outcome and efficiency, with Base and Halo. | A word in braces stands for a value from your account or your plan. ### Metrics of the chart only **Attribution Over Time** has these metrics. The **Performance Table** has no column for them, because the figures are not divided by channel, tactic, or campaign. | Metric | What it shows | | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | | **Reported {outcome}** | The outcome that your connected sales sources report, before modeling. The chart has one such metric for each target of your account. | | **Reported {efficiency}** | The reported outcome against the total media spend, for example Reported ROAS. The metric shows when the target has an efficiency metric. | | **Reported Orders** | The orders that your connected sales sources report. | | **Reported Average Order Value** | Reported revenue divided by reported orders. | | **Web Users** | Website users, from your Google Analytics connection. | | **Web Sessions** | Website sessions, from your Google Analytics connection. | | **Web Bounce Rate** | The share of sessions that bounced, from your Google Analytics connection. | A word in braces stands for a value from your account or your plan. ### Tooltips of the metric columns The table gives the text that the product shows when the pointer is over a column header. | Metric | Tooltip | | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **Spend** | Media spend for the selected period, as reported by the advertising platform. | | **MMM {outcome}** | Total modeled {outcome} the MMM credits to this spend over the selected period — Base plus Halo. | | **MMM Base {outcome}** | Modeled {outcome} driven directly by this row's own spend — the first-order effect. | | **MMM Halo {outcome}** | Modeled {outcome} this spend drove indirectly, by lifting other channels and sources — the second-order (halo) effect. | | **Channel {outcome}** | {Outcome} the advertising platform claims for itself, before any modeling. Platforms each take full credit, so these overlap and typically total more than the modeled figure. | | **CPM** | Cost per thousand impressions — spend ÷ impressions × 1,000. | | **CPC** | Cost per click — spend ÷ clicks. | A word in braces stands for a value from your account or your plan. ## Related - [Attribution](https://docs.prescientai.com/attribution): the guides and the concepts of the product area. - [Compare channels, tactics, and campaigns](https://docs.prescientai.com/attribution/compare-channels-tactics-and-campaigns): the steps to read the metrics in the table. - [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures): what each kind of figure counts. # Attribution Over Time options Source: https://docs.prescientai.com/reference/attribution/attribution-over-time > Reference for the Attribution Over Time chart, with each chart mode, granularity, chart type, control, and rule. This page lists the options of the **Attribution Over Time** section. For the metrics that the chart can show, see [Metrics and summary cards](https://docs.prescientai.com/reference/attribution/metrics). ## Chart modes | Mode | What it shows | | ------------- | -------------------------------------------------------------- | | **Breakdown** | Shows one metric divided into parts. This mode is the default. | | **Compare** | Shows two metrics on one chart. | ## Chart granularity | Granularity | Availability | | ----------- | --------------------------------------------- | | **Day** | Available when all selected models are daily. | | **Week** | | | **Month** | | | **Quarter** | | | **Year** | | ## Chart types | Type | What it shows | | ----------- | ----------------------------------------------- | | **Stacked** | A stacked area chart. This type is the default. | | **Line** | One line for each part. | ## Chart controls | Control | What it does | | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Breakdown by** | Selects the parts of the chart: **Channel**, **Tactic**, or **Revenue Source**. The options depend on the metric. | | **Primary** | The lead-in to the two metric menus of **Compare** mode. The first menu sets the first metric, and the menu after **vs** sets the second. A metric that one menu holds is not available in the other. | | Value option | What it shows | | -------------- | ---------------------------------------------------------------------------------------- | | **Absolute** | Shows each part as a value. | | **% of Total** | Shows each part as a share of the total. The option is not available for a ratio metric. | ## Export menu | Item | What the file contains | | ---------------------------- | ------------------------------------------------------------------ | | **Export by Channel** | A CSV of the selected metric with one row for each channel. | | **Export by Tactic** | A CSV of the selected metric with one row for each tactic. | | **Export by Revenue Source** | A CSV of the selected metric with one row for each revenue source. | ## Reported revenue switch | Switch | What it does | | ------------------------------------ | ------------------------------------------------------------------------------------ | | **Include subscription & wholesale** | Adds subscription revenue and wholesale revenue to reported revenue. Off by default. | ## Chart rules | Rule | Value | | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | | Default view | The chart opens in **Breakdown** mode on the modeled outcome, as a stacked chart by channel. | | Default metrics in Compare mode | **Spend** and the modeled outcome. | | Finest granularity | Day when all selected models are daily. Week when one or more selected models are weekly. | | Metrics not in the chart | **Impressions**, **Clicks**, **CPM**, and **CPC** are table metrics only. The chart has a reported metric for each target of your account. | | Export content | The export contains only the metric that is selected on screen. The menu lists only the divisions that the metric supports. | ## Messages | Message | When it shows | | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | | **Switch to Breakdown mode to export a channel, tactic, or revenue-source split.** | Tooltip of the **Export** button while the chart is in **Compare** mode. | | **Select a metric to export.** | Tooltip of the **Export** button when no metric is selected. | | **This metric doesn't break down by channel, tactic, or revenue source.** | Tooltip of the **Export** button for a metric that has no parts. | | **Couldn't export the CSV. Please try again.** | The export did not complete. | The chart itself has these messages. | Message | When it shows | | ------------------------------------------------- | -------------------------------------------------------------- | | **% of Total isn’t meaningful for ratio metrics** | Tooltip of **% of Total** when the selected metric is a ratio. | | **No data available for this period** | The chart has no data for the selected period and filters. | | **Couldn’t load this chart.** | The chart did not load. A retry button shows with the message. | ## Related - [Attribution](https://docs.prescientai.com/attribution): the guides and the concepts of the product area. - [Compare two periods](https://docs.prescientai.com/attribution/compare-two-periods): the steps to read the chart with a comparison. - [Export Attribution data](https://docs.prescientai.com/attribution/export-attribution-data): the steps to export the chart. - [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures): why reported revenue leaves out some revenue. # Performance Table options Source: https://docs.prescientai.com/reference/attribution/performance-table > Reference for the Attribution Performance Table, with each table level, column group, export option, and row detail view. This page lists the options of the **Performance Table** section and of the details of a row. For the columns of the table, see [Metrics and summary cards](https://docs.prescientai.com/reference/attribution/metrics). In a label on this page, a word in braces is a value that depends on the account. The outcome is the name of the target, for example revenue. The efficiency is the efficiency metric of the target, for example ROAS. The capture shows the section on the **Channels** tab, with the spend column and the modeled columns. ![The Performance Table on the Channels tab, with Spend and the modeled columns MMM Revenue, MMM ROAS, and Marginal ROAS for nine channels](https://docs.prescientai.com/_astro/performance-table.DUnq07OT_Z9cyei.webp) ## Table levels | Tab | Rows | | ------------- | ---------------------------------------------------- | | **Channels** | One row for each channel. This tab is the first tab. | | **Tactics** | One row for each tactic. | | **Campaigns** | One row for each campaign. | ## Column menu groups | Group | Columns | | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Data input** | Spend. | | **Modeled (MMM)** | The modeled columns for all selected models together, and **MMM {outcome} %**. | | **Channel Reported** | The figures that each ad platform reports. | | **By model** | With 2 or more models, one sub-group for each model with the modeled columns of that model. | | **Additional targets** | Modeled columns from a different target of your account. A target with 2 or more models has an **Aggregate** sub-group and one sub-group for each model. | | **Other** | Columns with no group, for example **Campaign ID**. | A word in braces stands for a value from your account or your plan. ## Export options | Option | What the file contains | | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------- | | **Export with visible columns only** | A CSV of the table with the columns that are on screen, except **Marginal {efficiency}**. No export contains that column. | | **Export with all columns** | A CSV of the table with every available column. | | **Export periodic data** | A CSV with the full periodic breakdown for the current view. You select the period first. | | **Export channel spend breakdown** | A CSV with the full periodic spend breakdown for each channel. You select the period first. | A word in braces stands for a value from your account or your plan. ## Marginal efficiency arrow | Arrow label | Meaning | | ------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Better than average | Green. The title of the arrow reads **Higher than average MMM {efficiency}** for a ratio such as ROAS, and **Lower than average MMM {efficiency}** for a cost such as CAC. | | **Near average MMM {efficiency}** | Amber, with an arrow that points right. The marginal value is within 5% of the average. | | Worse than average | Red. The title of the arrow reads **Lower than average MMM {efficiency}** for a ratio such as ROAS, and **Higher than average MMM {efficiency}** for a cost such as CAC. | | **Comparison unavailable** | Gray, with an arrow that points right. The product has no direction for the campaign. | | **Marginal {efficiency} unavailable** | A gray dot. The campaign has no curve. | A word in braces stands for a value from your account or your plan. ## Table rules | Rule | Value | | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Default columns | **Spend**, **MMM {outcome}**, **MMM {efficiency}**, **Channel {outcome}**, and **Channel {efficiency}**. The table also shows **Marginal {efficiency}** after the modeled columns. Every other column is off until you turn it on. **Reset to defaults** restores this set. | | Marginal column position | Each tab adds **Marginal {efficiency}** after the last modeled column. | | Default sort | **Spend**, from high to low. | | Sort | A column heading sorts the table by the column. A second selection reverses the order. With **Compare** on, a metric column has four states in turn: value from high to low, value from low to high, change from high to low, and change from low to high. **Marginal {efficiency}** has no change and keeps the two value states. | | Rows per page | 5, 10, 25, 50, or 100. The default is 25. | | Campaigns of one row | The name of a row on the **Channels** tab or the **Tactics** tab is a link. The link opens the **Campaigns** tab with only the campaigns of that row, and a banner names the row. | | Details of one row | The arrow before the name of a row opens or closes the details of the row. The name of the row does not open the details. | | Tab change | A change of tab clears the search and the campaign banner. | | Order of the column groups | A drag of a band above the columns moves the whole group of columns to a new place in the table. | | Export rows | The two table exports contain each row that matches the filters, on every page of the table, with the **Total** row first. With **Compare** on, each metric also has the figure of the comparison period and the change. The periodic export has no **Total** row. | | Column width | A drag of the edge of a column heading changes the width of the column. | A word in braces stands for a value from your account or your plan. ## Row details ### Row views | View | What it shows | | --------------- | -------------------------------------------------------------------------------------------------------------------- | | **Saturation** | The modeled response curve of the row, with a spend scenario. The panel opens on this view when the row has a curve. | | **Compare** | A chart of two metrics over time for the row. | | **Attribution** | The Base and Halo flows of the row. | ### Model confidence values | Value | Meaning | | --------------- | -------------------------------------------------------------------- | | **Strong** | The range is tight and the actual results agree with the curve. | | **Moderate** | The range is usable, or the history is too short to check the curve. | | **Directional** | The range is wide, or the spend is beyond any spend in the history. | ### Tooltips in the row details The table gives the text that the product shows in a tooltip of the row details. | Label | Tooltip | | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Seasonal Forecast** | Projects the saturation curve using expected seasonal demand, so you can plan spend around upcoming peaks and dips. Covers the next {N} days. | | **Model confidence** | Trust in the curve at the selected spend. Strong — tight range, actuals agree. Moderate — usable range, or too little history to check. Directional — wide range, or spend beyond anything observed. | | **Confidence band** | The shaded range shows where actual {outcome} is likely to land at each spend level. A tighter band means a more certain estimate. | | **Explore Spend Scenario** | Explore different spend scenarios with the slider, or enter an exact spend or percentage change. | A word in braces stands for a value from your account or your plan. ### Row detail rules | Rule | Value | | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Open a row | The arrow before the name of a **Performance Table** row opens or closes the panel. On the **Channels** tab and the **Tactics** tab, the name of the row opens the **Campaigns** tab and does not open the panel. | | First view | **Saturation** when the row has a curve. **Compare** when the row has no curve. | | Compare view granularity | The same rule as the main chart: day is available only when all selected models are daily. | | Scenario limit | The scenario spend stops at 1.5 times the highest spend in the history of the row, or at the end of the curve when that is lower. For a spend above the highest spend in the history, **Model confidence** is **Directional**. | | History on the chart | Dots on the chart are the modeled periods of the history of the row. A period with a modeled outcome above the range of the chart shows as a triangle on the top edge, and a line under the results gives the number of such periods. | | Curve of a tactic row | When a tactic has 2 or more modeled curves, a menu above the chart selects the curve. | | Curve point | The chart tooltip reads **Observed** for a spend inside the history of the row and **Extrapolated** for a spend beyond the history. | ## Messages The table has these messages. | Message | When it shows | | ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | | **Viewing: {name} campaigns** | The banner on the **Campaigns** tab after the selection of a row name on the **Channels** tab or the **Tactics** tab. | | **No channel data for the selected filters.** | The **Channels** tab has no data for the period and the filters. | | **No channels match your search.** | The search on the **Channels** tab has no match. | | **No tactic data for the selected filters.** | The **Tactics** tab has no data for the period and the filters. | | **No tactics match your search.** | The search on the **Tactics** tab has no match. | | **No campaign data for the selected filters.** | The **Campaigns** tab has no data for the period and the filters. | | **No campaigns match your search.** | The search on the **Campaigns** tab has no match. | A word in braces stands for a value from your account or your plan. The details of a row have these messages. | Message | When it shows | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | | **Unable to load the saturation curve.** | The **Saturation** view when the curve did not load. | | **Unavailable for this campaign and model selection. or Unavailable for this tactic and model selection. or Unavailable for this channel and model selection.** | Tooltip of **Seasonal Forecast** when the row has no seasonal curve. | | **Campaign saturation curves are unavailable for this model selection. or Aggregate saturation curves are unavailable for this model selection. or Tactic saturation curves are unavailable for this model selection.** | The **Saturation** view when the selected models have no curve for the row. | | **No attribution flow for this row.** | The **Attribution** view when the row has no flow. | ## Related - [Attribution](https://docs.prescientai.com/attribution): the guides and the concepts of the product area. - [Compare channels, tactics, and campaigns](https://docs.prescientai.com/attribution/compare-channels-tactics-and-campaigns): the steps to use the table levels. - [Explore a spend scenario](https://docs.prescientai.com/attribution/explore-a-spend-scenario): the steps for the details of a row. - [Export Attribution data](https://docs.prescientai.com/attribution/export-attribution-data): the steps to export the table. # Base & Halo Flows options Source: https://docs.prescientai.com/reference/attribution/base-and-halo-flows > Reference for the Attribution Base & Halo Flows section, with each chart type, flow filter, grouping tab, and rule. This page lists the options of the **Base & Halo Flows** section. For the meaning of Base and Halo, see [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures). ## Chart types of the flows The section shows the flows in one of three chart types. The capture shows the **Bars** type. ![The Base & Halo Flows section in the bar view, with the revenue mix of each channel by model](https://docs.prescientai.com/_astro/base-and-halo-flows.CtFWeaI8_ZHDQ7W.webp) | Type | What it shows | | ----------- | ----------------------------------------------------------------------------------------------- | | **Bars** | One row for each channel, with Base and Halo as dark and light parts. This type is the default. | | **Treemap** | One tile for each part. The size of a tile is the share of the part in its channel. | | **Sankey** | Flows from each channel to each model or effect. Select a node or a flow for details. | ## Flow filter | Filter | What it shows | | ------------- | ------------------------- | | **All Flows** | Shows Base and Halo. | | **Base Only** | Shows only the Base part. | | **Halo Only** | Shows only the Halo part. | ## Grouping tabs | Tab | How it groups the outcome | | ------------------ | ---------------------------------------------------------------------------- | | **By Model** | Groups the outcome of each channel by the model that receives it. | | **Halo Breakdown** | Groups only the Halo part by its type. Not available with **Base Only**. | | **Combined** | Groups the outcome by effect, Base and Halo, with all models added together. | ## Columns of the Bars view | Column | What it shows | | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | | **Volume (Spend)** | The media spend of the channel in the period. | | **Channel** | The name of the channel. | | **{Outcome} Mix** | A bar that divides the modeled outcome of the channel by model, with Base as the dark part and Halo as the light part. | | **Impact ({outcome})** | The modeled outcome of the channel. With **Base Only** or **Halo Only**, the heading names the part. | | **MMM {efficiency}** | The modeled efficiency of the channel. With **Base Only** or **Halo Only**, the part is measured against the full spend of the channel. | | **Total** | The first row of the **Bars** view, with the totals of all channels. | A word in braces stands for a value from your account or your plan. ## Flow rules | Rule | Value | | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Onboarding | The section does not appear before your models are approved. | | Export content | The CSV has a **Total** row and one row for each channel, with the spend, the Base and Halo amounts, the total modeled outcome, and the modeled efficiency. The file follows the flow filter and is the same for each grouping tab. | | Totals | Two totals above the chart, one with the word **Base** and one with the word **Halo**, cover all data for the page filters. The flow filter does not change the totals. A selected node, flow, channel, or model limits the two totals to the selection. | ## Messages | Message | When it shows | | -------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Dark = Base · Light = Halo** | The key under the **Bars** view and the **Treemap** view. | | **Click a node or flow to explore details** | The **Sankey** view when no node and no flow is selected. | | **No flows found for the selected filters.** | The section has no flows for the period and the filters. | | **Halo Breakdown is unavailable while Base Only is selected.** | Tooltip of the **Halo Breakdown** tab while **Base Only** is selected. | | **Showing top {n} of {total} channels · {m} more hidden** | The line under a chart that does not show all channels. The **Bars** view and the **Treemap** view show 10 channels at most. The export contains all channels. | A word in braces stands for a value from your account or your plan. ## Related - [Attribution](https://docs.prescientai.com/attribution): the guides and the concepts of the product area. - [Compare channels, tactics, and campaigns](https://docs.prescientai.com/attribution/compare-channels-tactics-and-campaigns): the steps to read the flows of a channel. - [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures): the meaning of Base and Halo. # Plan settings Source: https://docs.prescientai.com/reference/media-forecaster/plan-settings > Reference for the Timeline, Goal, and Budget steps of the Media Forecaster New plan wizard, with each option and limit. This page lists the settings of the first three steps of the New plan wizard in Media Forecaster: **Timeline**, **Goal**, and **Budget**. For the **Media** step and the **Review & run** step, see [Media and run settings](https://docs.prescientai.com/reference/media-forecaster/media-and-run-settings). In a label on this page, a word in braces is a value that depends on the plan. ## Wizard steps The New plan wizard has five steps. | Step | What the step sets | | ---------------- | ------------------------------------------------------------------------------ | | **Timeline** | Select the models, the reference period, and the planning period. | | **Goal** | Select one goal, set a target if the goal needs one, and select the plan type. | | **Budget** | Set the budget and the spend flexibility. | | **Media** | Select the channels, tactics, and campaigns, and set a limit on any row. | | **Review & run** | Check the summary, name the plan, set the visibility, and run the plan. | ## Timeline step ### Reference period The reference period sets which media is eligible and the current spend of each row. The reference period does not limit what the models know. The models train on the full history of the account. | Option | Period | | ----------------------- | -------------------------------------------------------------------------------------------------------------- | | **Most recent** | The most recent modeled period. On the **Review & run** step, the label is **Most recent modeled period**. | | **Same time last year** | The same dates one year earlier. On the **Review & run** step, the label is **Last year same period**. | | **Custom** | A preset or a quarter that you select. On the **Review & run** step, the label is **Custom reference period**. | With **Custom**, a daily plan offers **Last 7 days**, **Last 14 days**, **Last 30 days**, and **Last 90 days**. A weekly plan offers **Last week**, **Last 4 weeks**, and **Last 12 weeks**. Both offer the four most recent completed quarters. ### Planning period and models | Setting | Limit | | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Models | At least one model. The wizard shows **Pick at least one model.** on the step. The message **At least one model must be selected.** shows when a plan is sent with no model. | | Cadence | Days when every selected model is daily. Weeks when one or more selected models are weekly. | | Planning period start | 14 days before today, or later. The calendar disables earlier dates. The quick length options start today, or at the next week boundary on a plan in weeks. | | Days already past | When the planning period starts before today, the days that are past use the spend that was recorded on those days. The plan covers the days that remain. One day or more always remains to plan. | | Days that lock | A past day locks only after its spend is loaded. A weekly plan locks full weeks only. | | Planning period years | The current year and the next two years. | | Planning period end | On or after the start date, and today or later. | | Default planning period | Daily plans: 30 days, from today. Weekly plans: 4 weeks, from the next week boundary. | | Shortest feasible windows | 30, 60, 90, 120, and 180 days. | | Custom reference quarters | The four most recent completed quarters. | **Shortest feasible** appears only on an **Optimization** plan that uses **Solve for it**. With **Shortest feasible**, Media Forecaster tests each window and keeps the shortest window that reaches the target. ### Planning period that starts before today A planning period can start as many as 14 days before today. The quick length options start today, or at the next week boundary on a plan in weeks, so a start date in the past comes from **Custom…** or from a quarter that started in the last 14 days. A past day is locked only when its recorded spend has loaded. The most recent days can stay in the planned part of the period, because the load of recorded spend is a day or two late. A plan in weeks locks whole weeks only. For a locked day, the baseline and the optimized plan use the spend that was recorded on that day. The optimizer plans the days that remain with the budget that is left. Four of the five steps then show a note about the locked days. The **Media** step has no note. - **Timeline**: a note below the period starts with the number of days since the start date. The note gives the dates that use the recorded spend and the first date that the plan covers. When no past day has recorded spend that is loaded, the note states that nothing locks yet and that the whole period is planned. - **Goal**: for a goal with an outcome target, a note gives the modeled outcome that the locked days delivered. The plan counts that outcome toward the target. - **Budget**: with **Set a ceiling**, a note subtracts the recorded spend of the locked days from the budget and gives the amount that is left to plan. The note does not show with **Solve for it**. - **Review & run**: the second stage has a sentence with the locked dates, the recorded spend, and the first planned date. The outcome of a locked day is the modeled outcome of that day. For a day that the models do not cover yet, the product estimates the outcome from the recent modeled return of each campaign. The help next to the note on the **Goal** step gives the share of the outcome that is an estimate. ## Goal step ### Goal families | Goal family | What the plan does | | -------------------------- | ------------------------------------------------------------------------------------------------ | | **Grow on a fixed budget** | The plan spends the whole budget and maximizes the outcome. | | **Hit a target** | The plan reaches the target that you set for the least spend. | | **Hold efficiency** | The plan spends as much as possible while the efficiency ratio stays at the target that you set. | Each goal card carries the name of a modeled metric with the prefix **MMM**. The goals in the list depend on the active models of the account. ### Plan type | Plan type | When to use it | | ---------------- | --------------------------------------------------------------------------- | | **Optimization** | Reallocates budget across your live campaigns. Best for the next few weeks. | | **Forecast** | Plans on your channels and tactics. Best for longer horizons. | ### Target limits | Setting | Limit | | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Target | Required for a goal in the **Hit a target** or **Hold efficiency** family. Greater than zero. | | Suggested target | 10% better than the no-change forecast. | | Target slider | The scale is the percentage that the target is better than the no-change forecast, from 50% worse to 200% better. For a cost-per goal, a lower cost is better, so the target can be at most 90% below the no-change forecast. | | Typed target | From 100% worse to 100,000% better than the no-change forecast. For a cost-per goal, a lower cost is better, so the target can be at most 90% below the no-change forecast. | | Plan type default by length | Media Forecaster suggests **Forecast** for a planning period of 42 days or more, and questions **Forecast** for a planning period under 14 days. | ## Budget step ### Parts of the Budget step | Part | What it is | | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **Marketing budget** | The budget of the plan. The budget starts at the spend of the reference period, scaled to the length of the planning period. A typed amount replaces it. For a goal with a target, the label is **Max budget**. With **Solve for it**, which a goal in the **Hit a target** family has, the label is **Required spend**. | | **Adjust** | A slider and a percentage field. They scale the budget up or down from the reference spend, or from the typed amount. The slider shows no numbers at its ends. The field shows the percentage. | | **Reference spend** | The line below the budget field. The line shows the reference spend for each day, the length of the planning period, the total, and the dates of the reference period. The line ends with **Change period**. | | **Spend flexibility** | The control that sets how far the optimizer can move each row from its baseline. See [Spend flexibility](https://docs.prescientai.com/reference/media-forecaster/plan-settings#spend-flexibility). | ### Budget source A goal in the **Hit a target** family has two budget sources, on an **Optimization** plan and on a **Forecast** plan. A goal in the **Hold efficiency** family has a target and no budget source control. | Option | Effect | | ----------------- | --------------------------------------------------------------------------------------------------------------- | | **Set a ceiling** | You set the maximum budget. The plan spends up to that amount. | | **Solve for it** | The models find the spend that the target needs. Available on **Optimization** plans and on **Forecast** plans. | ### Budget limits | Setting | Limit | | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | Marketing budget | Greater than zero. | | Adjust, slider | From 50% below to 300% above the baseline. The range grows if you type a larger value. | | Adjust, typed value | From 99% below to 1,000% above the baseline. | | Solve for it on a Forecast plan | A **Forecast** plan solves for the spend over the dates that you select. **Shortest feasible** is for **Optimization** plans only. | ### Spend flexibility Spend flexibility sets how far the optimizer can move each row from its baseline. The band is a multiple of the baseline, where 1× is the baseline. | Option | Band | Effect | | ----------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------- | | **Fixed** | 1× to 1× | Each row keeps its share of the current mix. Only the total changes with the budget. | | **Low** | 0.8× to 1.2× | Each row stays within 20% of its baseline. | | **Medium** | 0.5× to 1.5× | Each row can go from half of its baseline to one and a half times its baseline. This option is the default. | | **High** | 0× to 2× | Each row can be cut to zero or doubled. | | **Unconstrained** | 0× to 5× | Each row can go from zero to five times its baseline. Above 2×, the plan relies on extrapolated curves. | | **Custom** | You set the minimum and the maximum | You set the band. The scale runs from 0× to 5×. | | Setting | Limit | | ----------------- | ------------------------------------------------------------------------------- | | Custom band | The minimum cannot be negative. The minimum cannot exceed the maximum. | | Custom band scale | 0× to 5× of the baseline. | | Default option | **Medium** (0.5× to 1.5×). | | Unit | Campaign on an **Optimization** plan. Tactic or channel on a **Forecast** plan. | ## Messages The table lists the messages for the dates of a plan and for a planning period that starts before today. A message with the badge **On our side** is a problem that Prescient must correct. | Message | When it shows | What to do | | ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | --------------------------------------------- | | **A plan can start at most 14 days in the past.** The message also gives the earliest start date. | The start date is more than 14 days before today. | Select a later start date. | | **This period has already ended. A plan has to run through today or later.** | The end date is before today. | Select a later end date. | | **The budget is already spent** | The recorded spend of the locked days is the full budget or more. | Raise the budget, or start the plan later. | | **The days already past met the target** | The locked days delivered the target. | Raise the target, or start the plan later. | | **Couldn't read the spend so far** | The product could not read the recorded spend of the locked days. The issue has the badge **On our side**. | Run the check again, or start the plan today. | ## Related - [Media Forecaster](https://docs.prescientai.com/media-forecaster): the guides and the concepts of the product area. - [Create and run a plan](https://docs.prescientai.com/media-forecaster/create-a-plan): the steps to make a plan with these settings. - [How plans are built](https://docs.prescientai.com/media-forecaster/how-plans-are-built): what the reference period, the baseline, and the optimized plan are. # Media and run settings Source: https://docs.prescientai.com/reference/media-forecaster/media-and-run-settings > Reference for the Media step and the Review & run step of the Media Forecaster New plan wizard, with allocation types, limits, and run duration estimates. This page lists the settings of the last two steps of the New plan wizard in Media Forecaster: **Media** and **Review & run**. For the **Timeline**, **Goal**, and **Budget** steps, see [Plan settings](https://docs.prescientai.com/reference/media-forecaster/plan-settings). ## Media step ### Media table columns The names of the two **MMM** columns depend on the goal of the plan. In the table, a word in braces is a value that depends on the plan. | Column | What it shows | | ----------------- | ------------------------------------------------------------------------------------------------------------- | | **Media** | The channel, tactic, or campaign. Rows nest as channel, then tactic, then campaign. | | **Confidence** | The signal quality of the row. Hover to see the confidence for each model. | | **Allocation** | The allocation type of the row and any limit. This column is not sortable. | | **Spend** | The spend of the row in the reference period, prorated to the length of the plan. Reference information only. | | **MMM {outcome}** | The modeled outcome of the row in the reference period, prorated the same way as **Spend**. | | **MMM {metric}** | The modeled efficiency ratio of the row in the reference period. | A word in braces stands for a value from your account or your plan. ### Allocation types | Allocation type | Effect | | --------------- | ------------------------------------------------------------------------------------ | | **Optimize** | The optimizer allocates the row freely. | | **Max spend** | The optimizer allocates the row but stays at or below the ceiling that you set. | | **Min spend** | The optimizer allocates the row but stays at or above the floor that you set. | | **Fixed** | The row gets exactly the amount that you set. The optimizer does not change the row. | A limit that is a percentage follows the baseline of the row. When the budget or the included media changes, the limit changes with the baseline. ### Media limits | Setting | Limit | | ----------------------- | --------------------------------------------------------------------------------------------------------------- | | Campaigns | At least one channel, tactic, or campaign. | | Minimum reference spend | A campaign needs spend of at least 100 in the display currency of the organization during the reference period. | | Limit entry | A currency amount or a percentage of the baseline of the row. | | Limit slider | 0% to 200% of the baseline by default. | | Fixed allocations | The total of the **Fixed** rows cannot exceed the plan budget. | ### Exclude inactive | Setting | Limit | | ------------- | ------------------------------------------------------------------------------------------------------------------ | | Inactive rule | A campaign is inactive when the campaign had no spend in the last 7 days of the reference period. | | Default | Off. | | Availability | The switch appears only when activity data exists. The switch does not appear in the read-only configuration view. | ## Review & run step | Setting | Limit | | ------------------ | ------------------------------------ | | Plan name | Required. 255 characters or fewer. | | Description | Optional. 1,000 characters or fewer. | | Default visibility | **Only me** (private). | | Visibility | Who can see the plan | | ----------- | ----------------------------------------------------------- | | **Only me** | The plan is private. This option is the default. | | **My team** | The plan is public. Everyone on your team can see the plan. | ### Run duration estimates Media Forecaster shows these default estimates when the account has fewer than three similar past plans. With three or more similar past plans, the estimate comes from the durations of those plans and can differ. A similar plan has the same plan type and from half to double the number of campaigns. The product rounds an estimate below 10 minutes to whole minutes, and a longer estimate to steps of 5 minutes. A range below one minute shows as "under a minute". A range that starts at 90 minutes or more shows in hours. | Plan | Estimated duration | What it does | | ------------------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------ | | Optimization, up to 50 campaigns | about 1–3 min | | | Optimization, 51 to 150 campaigns | about 2–8 min | | | Optimization, 151 to 300 campaigns | about 5–15 min | | | Optimization, more than 300 campaigns | about 10–30 min | | | Forecast, any size | about 1–2 min | The default range is 30 seconds to 2 minutes. The product rounds the range to whole minutes, with a minimum of 1 minute. | ## Related - [Media Forecaster](https://docs.prescientai.com/media-forecaster): the guides and the concepts of the product area. - [Create and run a plan](https://docs.prescientai.com/media-forecaster/create-a-plan): the steps to select media, set limits, and run a plan. - [How plans are built](https://docs.prescientai.com/media-forecaster/how-plans-are-built): how the reference period makes media eligible and sets the baseline. # Plans list and plan results Source: https://docs.prescientai.com/reference/media-forecaster/results > Reference for the Media Forecaster plans list and plan page, including statuses, summary cards, Performance Over Time, and Media Breakdown columns. This page lists what the plans list and the page of one plan show in Media Forecaster. For the settings that make a plan, see [Plan settings](https://docs.prescientai.com/reference/media-forecaster/plan-settings). In a label on this page, a word in braces is a value that depends on the plan. For example, the outcome and the metric depend on the goal of the plan. ## Plans list ### Statuses of a plan | Status | Meaning | | -------------- | ---------------------------------------------------------------------------------- | | **Queued** | The plan is waiting to start. | | **Processing** | The plan is running in the background. | | **Ready** | The plan finished and the results are available. | | **Failed** | The plan did not finish. The plan page says what happened and how to fix the plan. | ### Plans list columns Every column is sortable. | Column | What it shows | | -------------- | ----------------------------------------------------- | | **Name** | The plan name. A lock icon marks a private plan. | | **Status** | **Queued**, **Processing**, **Ready**, or **Failed**. | | **Mode** | The plan type: **Optimization** or **Forecast**. | | **Goal** | The goal that the plan optimizes for. | | **Date range** | The planning period. | | **Owner** | The person who created the plan. | | **Updated** | The date of the last change to the plan. | | Rule | Value | | ------------------------- | ----------------------------------------------------------------- | | Plans per page | 15 plans on each page of the list. | | Rename and Delete access | The plan owner, or a company admin on a plan that is not private. | | Open and Duplicate access | Every person who can see the plan. | ## Summary cards The summary cards compare the optimized plan with the baseline and with the actual results to date. A plan with a target goal also has a target card. | Title | Meaning | | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Target Hit** | The optimizer reports that the plan reaches the target. | | **Target Missed** | The plan does not reach the target, or the optimizer found no plan that can. | | **Target · Directional** | The estimate reaches the target at a spend that is more than the models have seen. A line on the card states that the result is directional. The card has no **Gap** row. | | **Target** | The product has no verdict for the target. | On a plan that ran with **Solve for it**, the result can measure the target as growth above the outcome with no change. Each title then has the prefix **Growth**, for example **Growth Target Hit**, and a line on the card gives the outcome with no change. | Card | What it shows | | --------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | **Period** | The planning period and the progress through the period. | | **Spend** | The total spend that the optimized plan recommends, with the subtitle Plan Budget. | | **Media {outcome} — Optimized** | The modeled outcome that the optimized plan delivers, and the lift over the baseline. | | **Media {metric} — Optimized** | The efficiency ratio that the modeled outcome and the spend of the plan imply. | | **Growth Target Hit or Growth Target Missed or Growth Target · Directional or Growth Target** | The same verdict as the title without the prefix. The target is growth above the outcome with no change. | A word in braces stands for a value from your account or your plan. ### Tooltips of the summary cards The table gives the text that the product shows when the pointer is over a summary card. In these texts, the words "your reporting has recorded" apply to the spend. The outcome in **Actual to date** is a modeled value. See [How plans are built](https://docs.prescientai.com/media-forecaster/how-plans-are-built#what-is-actual-to-date). | Card | Tooltip | | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Spend card | Plan Budget is the total spend the optimized plan recommends across the whole period. Actual to date is the spend your reporting has recorded so far, paced against the {reference} spend. | | Outcome card | Modeled {outcome} the optimized plan delivers over the whole period, and the lift that represents over the baseline. Actual to date is what your reporting has recorded so far, paced against the {reference} {outcome}. | | Metric card | {Metric} implied by the plan's modeled {outcome} and its spend. Actual to date divides your recorded {outcome} by your recorded spend, paced against the {reference} {Metric}. | A word in braces stands for a value from your account or your plan. ## Performance Over Time ### Views | View | What it shows | | ------------- | ------------------------------------------------------------------------- | | **Compare** | A chart of the optimized plan against the baseline and the actual values. | | **Breakdown** | A chart split by channel, tactic, or model. | | **Table** | The same values as a table with one row for each period. | The chart series are **Optimized**, **Baseline**, and **Actual**. The breakdown options are **Channel Breakdown**, **Tactic Breakdown**, and **Model Breakdown**. On a plan that started before the day of its run, a shaded band with the label **Actual spend** covers the days that were past. In the band, the baseline and the optimized plan are the same, because the two use the recorded spend of those days. | Rule | Value | | ---------------------- | ------------------------ | | Period table page size | 30 periods on each page. | ## Media Breakdown ### Media Breakdown columns | Column | What it shows | | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | | **Baseline** | The reference-period spend mix, scaled to the plan budget. The starting point before the optimizer moves any budget. | | **Optimized** | What the recommended budget split is modeled to deliver over the same period. | | **Actual to date** | What happened so far in the planning period: the spend that your reporting recorded, and the outcome that your models attribute to that spend. | | **Spend** | The spend of the row. | | **{outcome}** | The outcome of the row. The name depends on the goal of the plan. | | **{metric}** | The efficiency ratio of the row. The name depends on the goal of the plan. | | **Δ {label}** | The change between two column groups, as a percentage or a currency amount. | | **Allocation** | The limit that you set on the row. A row with no limit reads **Optimized**. | | **Marginal {metric}** | The modeled return from the next unit of spend at the recommended spend. For example, **Marginal ROAS** or **Marginal CAC**. | A word in braces stands for a value from your account or your plan. ### Allocation column values | Value | Meaning | | --------------------------- | ----------------------------------------------------------------------- | | **Optimized** | The row has no limit. The optimizer moved the budget of the row freely. | | An amount with a Fixed icon | The row is fixed at the amount. The optimizer did not change the row. | | An amount with a Max icon | The optimizer could not spend more than the amount on the row. | | An amount with a Min icon | The optimizer had to keep the amount or more on the row. | | An underlined amount | The optimizer reached the limit, so the limit changed the plan. | ### Pacing options | Setting | Options | | ------------------------------- | --------------------------------------------- | | **Show actual-to-date columns** | On or off. | | **Compare actual against** | **Optimized plan** or **Baseline plan**. | | **Over** | **Expected to date** or **Full plan period**. | ### Media Breakdown rules | Rule | Value | | --------------- | ------------------------------------------------------------------------------------------------------------------------- | | Child rows | 5 rows show under a parent row. A Show more control reveals the rest. | | Campaign tab | **Optimization** plans only. | | Marginal column | On an **Optimization** plan, the **Campaign** tab only. On a **Forecast** plan, the tab that carries the response curves. | ## Related - [Media Forecaster](https://docs.prescientai.com/media-forecaster): the guides and the concepts of the product area. - [Read plan results](https://docs.prescientai.com/media-forecaster/read-plan-results): the steps to read the cards, the chart, and the table of a plan. - [Manage plans](https://docs.prescientai.com/media-forecaster/manage-plans): the steps to find, rename, duplicate, and delete a plan. - [How plans are built](https://docs.prescientai.com/media-forecaster/how-plans-are-built): what the baseline, the optimized plan, and actual to date are. # Settings and Account reference Source: https://docs.prescientai.com/reference/account/settings > Reference for the tabs of the Settings page, the display currency options, the API key rules, the subscription statuses, and the cookie categories. This page lists the values of the **Settings** page and the **Account** page, in the order of the tabs of the **Settings** page. For the **Members** tab, see [Roles and members](https://docs.prescientai.com/reference/account/roles-and-members). ## Settings page | Tab | Who sees it | What it holds | | ------------- | ----------- | ------------------------------------------------------------------------------------------------------------------ | | **Workspace** | Everyone | The display currency of the workspace. Only an Admin can change it. | | **Members** | Everyone | The people who have access to the workspace. Only an Admin can invite a person, change a role, or remove a person. | | **API keys** | Admin | The keys that authenticate requests to the Prescient GraphQL API. | | **Billing** | Admin | The status of the subscription and the button that opens the billing portal. | | Subject | Rule | | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | | Hidden tabs | A Viewer does not see the **API keys** tab or the **Billing** tab. | | Link to a tab | The address of the page holds the open tab, so you can share a link to one tab. A link to a tab that you cannot see opens the first tab. | | Availability | The **Settings** page stays available during onboarding and when the subscription of the workspace has lapsed. | ## Display currency | Option | | ---------------------------- | | **USD \| US Dollar** | | **EUR \| Euro** | | **GBP \| British Pound** | | **CAD \| Canadian Dollar** | | **AUD \| Australian Dollar** | | **JPY \| Japanese Yen** | | **MXN \| Mexican Peso** | | **BRL \| Brazilian Real** | | **INR \| Indian Rupee** | | **SGD \| Singapore Dollar** | | Subject | Rule | | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | | Default | USD. | | Effect | The display currency labels each currency figure in the workspace: spend, revenue, and cost-per metrics. The product does not convert the stored amounts. | | Who can change it | An Admin. A Viewer sees the currency and cannot change it. | ## API keys ### Columns of the API keys table | Column | What it shows | | ----------------- | ----------------------------------------------------------------------- | | **Name** | The name that you gave the key. | | **Key** | The first 8 characters of the key. The table never shows the full key. | | **Channel scope** | **All channels**, or the names of the channels in the scope of the key. | | **Expires** | The expiration date, **Never**, or the **Expired** badge. | | **Last used** | The time since the last request with the key, or **Never**. | | **Actions** | The **Revoke** button. | ### API key rules | Subject | Rule | | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | Who can manage keys | An Admin. A Viewer does not see the **API keys** tab. | | Name | Required. | | Expiration | Optional. A key with no date in **Expires at** never expires. | | Channel scope | Optional. A key with no selected channel has access to each channel. The list holds the advertising channels and the outreach channels of the workspace. | | The full key | The product shows the full key 1 time, in the dialog that opens after you create the key. You cannot get the full key later. | | Revoke | A revoked key stops working immediately. You cannot undo a revoke. | | Expired key | A key that is past its date stays in the table with the **Expired** badge. | ### API key messages | Message | What it means | | ------------------------------------------- | ------------------------------------------------------------------------------------- | | **No API keys yet** | The workspace has no key. Select **Create API key**. | | **Name is required.** | Type a name for the key. | | **Expiration date is invalid.** | Select a valid date in **Expires at**, or leave the field empty. | | **No channels available for this company.** | The workspace has no channel to select. You can create the key with no channel scope. | For the API itself, see [API overview](https://docs.prescientai.com/api). ## Billing ### Subscription statuses The status badge on the **Billing** tab shows one of these values. The billing portal sets the status. | Status | | -------------- | | **Active** | | **Trialing** | | **Past due** | | **Unpaid** | | **Canceled** | | **Incomplete** | | **Inactive** | ### Billing rules | Subject | Rule | | ------------------------- | ------------------------------------------------------------------------------------------------------------- | | Who can manage billing | An Admin. A Viewer does not see the **Billing** tab. | | Active subscription | A workspace with an **Active** subscription has full access. | | Trial | A trial gives access until 5 days after the end date of the trial. | | Pages that stay available | **Settings** and **Account** stay available when access is limited, so an Admin can open the **Billing** tab. | For what happens when access is limited, see [Subscriptions and access](https://docs.prescientai.com/account/subscription-and-access). ## Account page | Subject | Rule | | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Name and email | The **Account** page shows your name and your email. The page has no control to edit them. | | Availability | The **Account** page stays available during onboarding and when the subscription of the workspace has lapsed. | | Workspace menu | The workspace name at the top of the sidebar is a menu only when you are a member of 2 or more workspaces. With 1 workspace, the name is a link to the home page of the workspace. | ## Cookie settings | Category | State | What it covers | | ----------------------------- | ---------- | ----------------------------------------------------------------------------------- | | **Strictly necessary** | Always on | Cookies for sign-in, security, and your preferences. You cannot turn them off. | | **Performance and analytics** | You choose | Cookies that record the pages you open and the controls you select in this browser. | | Subject | Rule | | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Scope of the choice | The choice applies to the browser in which you make it. | | How long the choice lasts | The product stores the choice in a cookie for 1 year. | | Activity that is always recorded | The product states that account activity, for example a sign-in, is always recorded on its servers. The **Performance and analytics** switch does not change this. | ## Related - [Account and settings](https://docs.prescientai.com/account): the guides and the concepts of the product area. - [Change the display currency](https://docs.prescientai.com/account/change-display-currency): the steps for the **Workspace** tab. - [Create and revoke an API key](https://docs.prescientai.com/account/manage-api-keys): the steps for the **API keys** tab. - [Manage billing](https://docs.prescientai.com/account/manage-billing): the steps for the **Billing** tab. - [Change your cookie settings](https://docs.prescientai.com/account/change-cookie-settings): the steps for the cookie settings. - [Subscriptions and access](https://docs.prescientai.com/account/subscription-and-access): what a subscription status changes. # Roles and members Source: https://docs.prescientai.com/reference/account/roles-and-members > Reference for permissions by role, member statuses, table columns, the actions menu, the error messages, and the rules that protect the last Admin. This page lists the two roles of a workspace, **Admin** and **Viewer**, what each role can do in **Settings**, and the values of the **Members** tab. ## Roles | Role | What the role is for | | ---------- | ------------------------------------------------------------------------------------------------------------------------------------- | | **Admin** | Can do everything that a Viewer can do, and manages the workspace: the display currency, the members, the API keys, and the billing. | | **Viewer** | Can use the product areas of the workspace and can see the **Workspace** tab and the **Members** tab without controls to change them. | ## Actions by role The product has no text that explains the roles. This table lists what the interface shows to each role. | Action | Admin | Viewer | | ----------------------------------------------------------------- | ----- | ------ | | See the Workspace tab | Yes | Yes | | Change the display currency | Yes | No | | See the list of members | Yes | Yes | | Invite a person or send an invitation again | Yes | No | | Change the role of a person | Yes | No | | Remove a person | Yes | No | | See the API keys tab, create a key, and revoke a key | Yes | No | | See the Billing tab and open the billing portal | Yes | No | | See the banner about a subscription that is past due | Yes | No | | Get the email about an interrupted connection or a failed payment | Yes | No | The table covers **Settings** and the emails. Some product areas also keep an action for an Admin. The pages of each product area state those rules. For Data Center, see [Roles and permissions in Data Center](https://docs.prescientai.com/reference/data-center/roles-and-permissions). In Media Forecaster, an Admin can rename, delete, or retry a shared plan of a teammate. See [Manage plans](https://docs.prescientai.com/media-forecaster/manage-plans). ## Columns of the Members table | Column | What it shows | | ----------- | ------------------------------------------------------------------ | | **Name** | The name of the person. Your own row has **(you)** after the name. | | **Email** | The email of the person. | | **Role** | **Admin** or **Viewer**. | | **Status** | **Active**, **Pending**, or **Invited**. | | **Actions** | The menu of actions for the row. Only an Admin sees this column. | ## Actions menu | Menu item | What it does | | ----------------- | ------------------------------------------------------------------------------------------------------------ | | **Resend invite** | Sends the invitation again. | | **Edit role** | Opens the **Edit role** dialog. The item is not available on your own row. | | **Remove** | Opens a confirmation, then removes the person from the workspace. The item is not available on your own row. | ## Member statuses | Status | What it means | | ----------- | -------------------------------------------------------------------------------------------------------- | | **Active** | The person is a member of the workspace. The actions menu has **Edit role** and **Remove**. | | **Invited** | The product sent an invitation and the person is not yet Active. The actions menu has **Resend invite**. | | **Pending** | The person is not yet Active. The actions menu has **Resend invite**. | ## Rules for a change of members | Subject | Rule | | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Invitation fields | Each of the 4 fields is required: **First name**, **Last name**, **Email**, and **Role**. | | Person who has a Prescient AI account | The product adds the person to the workspace and sends the email **Your Prescient AI sign-in code**. The person does not get the invitation email. | | Access after an invitation | The product gives the person access when you send the invitation. | | Your own row | You cannot change your own role, and you cannot remove yourself. | | Last Admin | A workspace keeps 1 Admin or more. You cannot change the role of the last Admin or remove the last Admin. | | Person who has not signed in | A row that is not Active has only **Resend invite**. You can change the role or remove the person after the person is Active. | | Effect of a removal | The confirmation says that the person loses access to the workspace at the next sign-in, and that the account and the other workspaces of the person do not change. | | Single sign-on | When single sign-on manages a workspace, the **Members** tab has no controls to invite a person, change a role, or remove a person. The tab says that membership and roles come from the identity provider. | ## Table limits | Subject | Value | | -------------- | ---------------------------------------------------- | | Rows on a page | 15. | | Search | The search field finds a member by name or by email. | ## Messages | Message | What it means | | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | | **First name is required.** | Type the first name of the person. | | **Last name is required.** | Type the last name of the person. | | **Email is required.** | Type the email of the person. | | **Enter a valid email address.** | The text in **Email** is not an email address. Correct it. | | **Select a role.** | Select **Admin** or **Viewer**. | | **This domain uses single sign-on. Access is granted through the customer's identity provider, not by invitation.** | The domain of the email uses single sign-on. Give the person access at the identity provider of that organization. | | **No outstanding invite for that email in this organization.** | The product has no open invitation for the email. Send a new invitation with **Invite member**. | | **That person is already a member of this organization.** | The person has access to the workspace. The product does not send an invitation. | | **You can't change your own role.** | A different Admin must change your role. | | **You can't remove yourself from this organization.** | A different Admin must remove you. | | **You don't have permission to manage this organization's members.** | You are not an Admin of the workspace. Ask an Admin to make the change. | | **No members match your search** | No name or email contains the text in the search field. | Two more messages say that a workspace must keep an Admin: one for a change of the role of the last Admin, and one for the removal of the last Admin. Each change is possible after a different person is an Admin. If the list of members does not load, the tab says to refresh the page and, if the problem continues, to contact support. ## Related - [Account and settings](https://docs.prescientai.com/account): the guides and the concepts of the product area. - [Invite and manage members](https://docs.prescientai.com/account/manage-members): the steps to invite a person, change a role, and remove a person. - [Workspaces and organizations](https://docs.prescientai.com/account/workspaces): what belongs to a workspace and what belongs to a person. - [Single sign-on](https://docs.prescientai.com/account/single-sign-on): what changes on the **Members** tab with single sign-on. # Sign-in and password rules Source: https://docs.prescientai.com/reference/account/sign-in-and-password-rules > Reference for how long a sign-in code and a password link stay valid, what a password must contain, and the links on the sign-in page. This page lists the rules, the links, and the messages of the sign-in page. ## Codes and links | Subject | Rule | | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Sign-in code | 6 digits. The code expires 1 hour after the product sends it. | | New sign-in code | The page where you type the code has no control that sends the code again. Select **Use a different email** and start again. | | Page after Send code | The page where you type the code shows for each email that you type, for an email with an account and for an email with no account. The product sends a code only to an email that has an account. | | Password link | The link expires about 1 hour after the product sends it. | | Code after you set a password | You can still sign in with a sign-in code after you set a password. | | Single sign-on | If your organization uses single sign-on, the sign-in page tells you to sign in through your identity provider. | ## Password requirements | Subject | Requirement | | ------------------- | ---------------------------------------------------------------------- | | Password length | 12 characters or more. | | Password characters | 1 uppercase letter, 1 lowercase letter, and 1 number, or more of each. | The **Choose a password** page states the requirements: _Use at least 12 characters, with 1 uppercase letter, 1 lowercase letter, and 1 number._ The product has no password setting in **Settings** or **Account**. A password is set and reset only from the sign-in page. ## Links on the sign-in page | Link | What it does | | ---------------------------------------- | ---------------------------------------------------------------------------------------------------- | | **Use a different email** | Loads the sign-in page again with an empty form. | | **Sign in with a password instead** | Shows the email and password form. | | **Set or reset password** | Shows the form that emails you a link to choose a password. | | **Sign in with a one-time code instead** | Returns to the form that sends a sign-in code. | | **Sign in with a one-time code** | Returns to the form that sends a sign-in code. This link is on the form that emails a password link. | ## Messages | Message | When it shows | | ---------------------------------------------------------------------------------------- | -------------------------------------------------------- | | **Email is required.** | You did not type an email. | | **Password is required.** | You did not type a password. | | **Password must be at least 12 characters.** | The new password is too short. | | **Password must contain at least 1 uppercase letter, 1 lowercase letter, and 1 number.** | The new password does not have each kind of character. | | **Passwords do not match.** | **New password** and **Confirm password** are different. | | **Your password link expired. Request a new one to continue.** | You opened a password link after it expired. | | **Your session expired. Request a new password link.** | Your session ended before you saved the password. | The page **No organization access** shows after the sign-in when the account is not a member of a workspace. See [Workspaces and organizations](https://docs.prescientai.com/account/workspaces). ## Related - [Account and settings](https://docs.prescientai.com/account): the guides and the concepts of the product area. - [Sign in to Prescient AI](https://docs.prescientai.com/account/sign-in): the steps to sign in with a code or a password. - [Single sign-on](https://docs.prescientai.com/account/single-sign-on): the sign-in through an identity provider. # Emails from Prescient AI Source: https://docs.prescientai.com/reference/account/emails > Reference for the sign-in, invitation, connection, and payment messages that reach your inbox, with each subject line, its recipients, and how long its link stays valid. This page lists the emails about sign-in and about a workspace that Prescient AI sends. Three are about sign-in and go to one person. Two are about the workspace and go to each Admin. The product also sends emails during onboarding, which this page names and does not describe. ## Emails and subject lines | Subject line | Who gets it | What it holds | | ---------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | | **Your Prescient AI sign-in code** | The person who asks for a code. Also a person who has a Prescient AI account and whom an Admin invites to one more workspace. | Holds the sign-in code and a button that signs you in. The code and the button expire after 1 hour. | | **You've been invited to Prescient AI** | A person without a Prescient AI account whom an Admin invites | Has the button **Accept the invite & sign in**. | | **Set your Prescient AI password** | The person who asks for a password link | Has the button **Set password**. The link expires after 1 hour. | | **Urgent: {Connector} Connection Interrupted - Action Required** | Each Admin of the workspace | Tells you that a connection was interrupted during a sync. Has the button **Re-connect Channel**, which opens Data Center. | | **Action needed: your Prescient AI payment failed** | Each Admin of the workspace | Tells you to open **Billing** in the settings and select **Manage Stripe Billing** to update the card. | A word in braces stands for a value from your account or your plan. ## Expiry and preferences | Subject | Rule | | ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Sign-in code and sign-in button | Each expires 1 hour after the product sends the email. | | Password link | Expires 1 hour after the product sends the email. | | Invitation of a person who has an account | The product adds the person to the workspace and sends the email **Your Prescient AI sign-in code**. The person does not get the invitation email. | | Onboarding emails | During onboarding, the product also sends emails at 6 moments: the sign-up, the completion of the connections, a reminder after 3 days, the data check when it is available, the approval of the data check with the start of modeling, and the completion of modeling. The subject lines are not listed here. | | Email preferences | The product has no setting that turns an email on or off. | ## Related - [Account and settings](https://docs.prescientai.com/account): the guides and the concepts of the product area. - [Sign in to Prescient AI](https://docs.prescientai.com/account/sign-in): the steps for each email about sign-in, and what to do with each email. - [Invite and manage members](https://docs.prescientai.com/account/manage-members): the steps that send an invitation. - [Fix a channel that needs attention](https://docs.prescientai.com/data-center/fix-a-channel-that-needs-attention): the steps after the email about an interrupted connection. - [Manage billing](https://docs.prescientai.com/account/manage-billing): the steps after the email about a failed payment. - [Subscriptions and access](https://docs.prescientai.com/account/subscription-and-access): what happens when a payment is late. # Glossary Source: https://docs.prescientai.com/reference/glossary > Short definitions of the terms that the Prescient AI docs and the product use, in alphabetical order, each with a link to the page that covers the term. This page defines the 78 terms that these docs and the product use in more than one place. The terms are in alphabetical order, and each entry links to the page that covers the term. For the terms of the API, see also the [API types](https://docs.prescientai.com/api/types). [A](https://docs.prescientai.com/reference/glossary#a) [B](https://docs.prescientai.com/reference/glossary#b) [C](https://docs.prescientai.com/reference/glossary#c) [D](https://docs.prescientai.com/reference/glossary#d) [E](https://docs.prescientai.com/reference/glossary#e) [F](https://docs.prescientai.com/reference/glossary#f) [G](https://docs.prescientai.com/reference/glossary#g) [H](https://docs.prescientai.com/reference/glossary#h) [I](https://docs.prescientai.com/reference/glossary#i) [L](https://docs.prescientai.com/reference/glossary#l) [M](https://docs.prescientai.com/reference/glossary#m) [N](https://docs.prescientai.com/reference/glossary#n) [O](https://docs.prescientai.com/reference/glossary#o) [P](https://docs.prescientai.com/reference/glossary#p) [R](https://docs.prescientai.com/reference/glossary#r) [S](https://docs.prescientai.com/reference/glossary#s) [T](https://docs.prescientai.com/reference/glossary#t) [V](https://docs.prescientai.com/reference/glossary#v) [W](https://docs.prescientai.com/reference/glossary#w) ## A ### Actual to date The figures of a plan from the start of its planning period to today. The spend is the reported spend, and the outcome is the outcome that the models attribute to the campaigns of the plan. See also: [Expected to date](https://docs.prescientai.com/reference/glossary#expected-to-date), [Modeled](https://docs.prescientai.com/reference/glossary#modeled), [Reported](https://docs.prescientai.com/reference/glossary#reported), [Check-in](https://docs.prescientai.com/reference/glossary#check-in).\ Learn more: [Saved items and goal pacing](https://docs.prescientai.com/library/saved-items-and-goal-pacing#how-does-a-check-in-judge-the-pace) ### Admin The role that can change a workspace. An Admin manages the members, the connections, the display currency, the API keys, and the billing. See also: [Viewer](https://docs.prescientai.com/reference/glossary#viewer), [Workspace](https://docs.prescientai.com/reference/glossary#workspace).\ Learn more: [Roles and members](https://docs.prescientai.com/reference/account/roles-and-members) ### Allocation type A setting on one row of the media of a plan. **Optimize** lets the optimizer move the row freely, **Max spend** sets a ceiling, **Min spend** sets a floor, and **Fixed** takes the row out of the optimization. See also: [Spend flexibility](https://docs.prescientai.com/reference/glossary#spend-flexibility), [Optimized](https://docs.prescientai.com/reference/glossary#optimized).\ Learn more: [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built#what-is-the-optimized-plan) ### API key A secret that authenticates requests to the Prescient GraphQL API. A key gives access to the data of one workspace, and an Admin creates and revokes keys on the **API keys** tab of the **Settings** page. See also: [Channel scope](https://docs.prescientai.com/reference/glossary#channel-scope), [Workspace](https://docs.prescientai.com/reference/glossary#workspace).\ Learn more: [Create and revoke an API key](https://docs.prescientai.com/account/manage-api-keys) ## B ### Backtest A view of the **Model Health** tab. It shows a separately trained model that did not train on the most recent period, so the view ends where the test period of that run ends. See also: [Current Fit](https://docs.prescientai.com/reference/glossary#current-fit), [Non-trained Accuracy](https://docs.prescientai.com/reference/glossary#non-trained-accuracy), [Model Accuracy](https://docs.prescientai.com/reference/glossary#model-accuracy).\ Learn more: [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit#why-does-the-backtest-view-end-earlier) ### Base The part of a modeled outcome that the spend of a row drives directly. The product calls this the first-order effect. See also: [Halo](https://docs.prescientai.com/reference/glossary#halo), [Modeled](https://docs.prescientai.com/reference/glossary#modeled).\ Learn more: [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures#what-are-base-and-halo) ### Baseline The reference-period spend mix of a plan, scaled to the budget of the plan. It is the starting point before the optimizer moves budget, and the models forecast it over the same planning period as the optimized plan. See also: [Optimized](https://docs.prescientai.com/reference/glossary#optimized), [Reference period](https://docs.prescientai.com/reference/glossary#reference-period), [Lift](https://docs.prescientai.com/reference/glossary#lift).\ Learn more: [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built#what-is-the-baseline) ## C ### Campaign One advertising campaign of an advertising channel. A campaign is the most detailed level in Attribution and in an Optimization plan. See also: [Channel](https://docs.prescientai.com/reference/glossary#channel), [Tactic](https://docs.prescientai.com/reference/glossary#tactic).\ Learn more: [Compare channels, tactics, and campaigns](https://docs.prescientai.com/attribution/compare-channels-tactics-and-campaigns) ### Channel One thing that a workspace measures, for example an ad platform, a store, a retailer, or a web analytics account. Each channel has a type, and the type decides what Prescient uses the data for. See also: [Connection method](https://docs.prescientai.com/reference/glossary#connection-method), [Integration](https://docs.prescientai.com/reference/glossary#integration), [Source](https://docs.prescientai.com/reference/glossary#source), [Tactic](https://docs.prescientai.com/reference/glossary#tactic).\ Learn more: [Channels, integrations, and connection methods](https://docs.prescientai.com/data-center/channels-integrations-and-connection-methods#what-is-a-channel) ### Channel Reported A figure that each ad platform reports for itself, before any modeling. Each platform takes full credit, so the figures of the platforms overlap and their total is typically more than the modeled total. See also: [Modeled](https://docs.prescientai.com/reference/glossary#modeled), [Reported](https://docs.prescientai.com/reference/glossary#reported).\ Learn more: [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures) ### Channel scope The channels that an API key can read. A key with no channel selected has access to every channel. See also: [API key](https://docs.prescientai.com/reference/glossary#api-key).\ Learn more: [Create and revoke an API key](https://docs.prescientai.com/account/manage-api-keys) ### Chat One live conversation with Prescient AI. A chat changes each time a message is sent, and it stays in the history of the person who started it. See also: [Saved conversation](https://docs.prescientai.com/reference/glossary#saved-conversation), [Prescient AI](https://docs.prescientai.com/reference/glossary#prescient-ai).\ Learn more: [Prescient AI](https://docs.prescientai.com/prescient-ai) ### Check-in The Monday comparison of a tracked goal. It adds up the expected figure and the actual figure from the start of the plan to that day and names the pace. See also: [Tracked goal](https://docs.prescientai.com/reference/glossary#tracked-goal), [Pace](https://docs.prescientai.com/reference/glossary#pace), [Expected to date](https://docs.prescientai.com/reference/glossary#expected-to-date), [Actual to date](https://docs.prescientai.com/reference/glossary#actual-to-date).\ Learn more: [Saved items and goal pacing](https://docs.prescientai.com/library/saved-items-and-goal-pacing#how-does-a-check-in-judge-the-pace) ### Confidence band The shaded range on a saturation curve. It shows where the actual outcome is likely to be at each spend level, and a narrower band means a more certain estimate. See also: [Saturation curve](https://docs.prescientai.com/reference/glossary#saturation-curve), [Model confidence](https://docs.prescientai.com/reference/glossary#model-confidence).\ Learn more: [Explore a spend scenario](https://docs.prescientai.com/attribution/explore-a-spend-scenario) ### Config One configuration of a model. A model can have more than one config, and each config has its own results. See also: [Default config](https://docs.prescientai.com/reference/glossary#default-config), [Model](https://docs.prescientai.com/reference/glossary#model), [Preference Score](https://docs.prescientai.com/reference/glossary#preference-score).\ Learn more: [Configs and the Preference Score](https://docs.prescientai.com/model-center/configs-and-the-preference-score) ### Connection method The way that the data of one channel reaches Prescient. Prescient selects the method when the channel is added, and the setup dialog shows the form for that method. See also: [Channel](https://docs.prescientai.com/reference/glossary#channel), [Integration](https://docs.prescientai.com/reference/glossary#integration).\ Learn more: [Channels, integrations, and connection methods](https://docs.prescientai.com/data-center/channels-integrations-and-connection-methods#what-is-a-connection-method) ### Connection status The state of the connection of a channel, shown in the **Status** column of the **Channels** tab. The status is separate from the date of the most recent data. See also: [Most Recent Data](https://docs.prescientai.com/reference/glossary#most-recent-data), [Freshness warning](https://docs.prescientai.com/reference/glossary#freshness-warning).\ Learn more: [Connection statuses](https://docs.prescientai.com/reference/data-center/connection-statuses) ### Current Fit A view of the **Model Health** tab. It runs through the latest modeled date and includes data that the current model has already seen. See also: [Backtest](https://docs.prescientai.com/reference/glossary#backtest), [MMM Fit](https://docs.prescientai.com/reference/glossary#mmm-fit), [In-sample](https://docs.prescientai.com/reference/glossary#in-sample).\ Learn more: [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit) ### Cursor The value in the `endCursor` field of a paged API response. A request sends the cursor as the `after` argument to get the next page. See also: [API key](https://docs.prescientai.com/reference/glossary#api-key).\ Learn more: [Pagination](https://docs.prescientai.com/api/pagination) ## D ### Data patch A Google Sheet of extra rows that Prescient lays over the data of a connected channel. The patch adds rows that the connection cannot give, or corrects rows that are wrong at the source. See also: [Channel](https://docs.prescientai.com/reference/glossary#channel), [Source](https://docs.prescientai.com/reference/glossary#source).\ Learn more: [Data patches](https://docs.prescientai.com/data-center/data-patches) ### Data QA The check of the numbers of a channel by a person. The **Data QA** column of the **Channels** tab shows the date of the approval and the approver. See also: [Onboarding](https://docs.prescientai.com/reference/glossary#onboarding), [Most Recent Data](https://docs.prescientai.com/reference/glossary#most-recent-data).\ Learn more: [Data dates and freshness](https://docs.prescientai.com/data-center/data-dates-and-freshness#what-does-data-qa-mean) ### Default config The config with the name **Default**. A model card on the Model Center overview shows this config, and the **Avg Accuracy** tile uses it. See also: [Config](https://docs.prescientai.com/reference/glossary#config), [Model](https://docs.prescientai.com/reference/glossary#model).\ Learn more: [Configs and the Preference Score](https://docs.prescientai.com/model-center/configs-and-the-preference-score#what-is-the-default-config) ### Display currency The currency that labels each money figure of a workspace, for example spend, revenue, and cost-per metrics. It does not convert stored amounts. See also: [Workspace](https://docs.prescientai.com/reference/glossary#workspace).\ Learn more: [Change the display currency](https://docs.prescientai.com/account/change-display-currency) ## E ### Efficiency A figure that compares an outcome with spend. A ratio such as ROAS is the outcome for each $1 of spend, where a higher value is better, and a cost such as CAC is the spend for each unit of outcome, where a lower value is better. See also: [Target](https://docs.prescientai.com/reference/glossary#target), [Marginal efficiency](https://docs.prescientai.com/reference/glossary#marginal-efficiency).\ Learn more: [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures#how-do-you-read-an-efficiency-figure) ### Expected to date The values of a plan for each day or week that has passed, added up through today. The figure follows the shape of the plan, not an even daily split. See also: [Actual to date](https://docs.prescientai.com/reference/glossary#actual-to-date), [Pace](https://docs.prescientai.com/reference/glossary#pace).\ Learn more: [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built#what-is-actual-to-date) ## F ### Forecast plan A plan type of Media Forecaster that works on channels and tactics. Media Forecaster suggests it for a planning period of 42 days or more. See also: [Optimization plan](https://docs.prescientai.com/reference/glossary#optimization-plan), [Plan](https://docs.prescientai.com/reference/glossary#plan).\ Learn more: [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built#how-do-optimization-and-forecast-plans-differ) ### Freshness warning A badge next to **Most Recent Data** on the **Channels** tab. It shows when a source that a person updates by hand has no new data for longer than its allowance. See also: [Most Recent Data](https://docs.prescientai.com/reference/glossary#most-recent-data), [Source](https://docs.prescientai.com/reference/glossary#source), [Connection status](https://docs.prescientai.com/reference/glossary#connection-status).\ Learn more: [Data dates and freshness](https://docs.prescientai.com/data-center/data-dates-and-freshness#when-does-the-warning-show) ## G ### Granularity The time unit of the data of a model, **Daily** or **Weekly**. The granularity sets the periods that a page offers, and it is not how often the model updates. See also: [Model](https://docs.prescientai.com/reference/glossary#model), [Modeled through](https://docs.prescientai.com/reference/glossary#modeled-through).\ Learn more: [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit#what-do-daily-and-weekly-mean-on-a-card) ## H ### Halo The part of a modeled outcome that the spend of a row drives indirectly, by lifting other channels and sources. The product calls this the second-order effect. See also: [Base](https://docs.prescientai.com/reference/glossary#base), [Modeled](https://docs.prescientai.com/reference/glossary#modeled).\ Learn more: [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures#what-are-base-and-halo) ### Holdout The label of the marker on the **Backtest** chart for the non-trained period. See also: [Non-trained period](https://docs.prescientai.com/reference/glossary#non-trained-period), [Backtest](https://docs.prescientai.com/reference/glossary#backtest).\ Learn more: [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit#what-is-the-non-trained-period) ## I ### Inactive campaign A campaign that spent nothing in the last days of the reference period of a plan, after it ran earlier in the period. See also: [Reference period](https://docs.prescientai.com/reference/glossary#reference-period), [Campaign](https://docs.prescientai.com/reference/glossary#campaign).\ Learn more: [Media and run settings](https://docs.prescientai.com/reference/media-forecaster/media-and-run-settings) ### In-sample Data that a model has already seen. The model learned from this data, so a close match is expected. See also: [Out-of-sample](https://docs.prescientai.com/reference/glossary#out-of-sample), [Current Fit](https://docs.prescientai.com/reference/glossary#current-fit).\ Learn more: [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit#what-do-in-sample-and-out-of-sample-mean) ### Integration A warehouse or a file location that carries the data of many channels on one credential. The **Integrations** tab of Data Center lists BigQuery, Snowflake, SFTP, and Azure Blob Storage. See also: [Channel](https://docs.prescientai.com/reference/glossary#channel), [Connection method](https://docs.prescientai.com/reference/glossary#connection-method), [Shared credential](https://docs.prescientai.com/reference/glossary#shared-credential).\ Learn more: [Channels, integrations, and connection methods](https://docs.prescientai.com/data-center/channels-integrations-and-connection-methods#what-is-an-integration) ## L ### Library The product area that holds saved conversations. Each item is a fixed copy of a chat, with a title, a visibility, and one or more versions. See also: [Saved conversation](https://docs.prescientai.com/reference/glossary#saved-conversation), [Version](https://docs.prescientai.com/reference/glossary#version), [Tracked goal](https://docs.prescientai.com/reference/glossary#tracked-goal).\ Learn more: [Library](https://docs.prescientai.com/library) ### Lift The difference between the forecast of the optimized plan and the forecast of the baseline over the same planning period. See also: [Baseline](https://docs.prescientai.com/reference/glossary#baseline), [Optimized](https://docs.prescientai.com/reference/glossary#optimized).\ Learn more: [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built#what-is-the-baseline) ## M ### Marginal efficiency The modeled return from the next unit of spend. It is the modeled return from the next $1 for a return metric such as ROAS, and the modeled cost of one more result for a cost metric such as CAC. See also: [Efficiency](https://docs.prescientai.com/reference/glossary#efficiency), [Saturation curve](https://docs.prescientai.com/reference/glossary#saturation-curve).\ Learn more: [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built#what-does-the-marginal-column-measure) ### MMM Marketing mix model. In the product, a figure with **MMM** in its name is a modeled figure, for example an MMM revenue figure. See also: [Model](https://docs.prescientai.com/reference/glossary#model), [Modeled](https://docs.prescientai.com/reference/glossary#modeled).\ Learn more: [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures) ### MMM Fit A score from 0 to 100 in the **Current Fit** view. It shows how closely the predictions of the current model follow the reported totals in the selected period, and a higher score is better. See also: [Model Accuracy](https://docs.prescientai.com/reference/glossary#model-accuracy), [Current Fit](https://docs.prescientai.com/reference/glossary#current-fit), [Non-trained Accuracy](https://docs.prescientai.com/reference/glossary#non-trained-accuracy).\ Learn more: [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit#what-does-each-score-measure) ### Model A marketing mix model of a workspace. A model measures one target for one channel. See also: [Config](https://docs.prescientai.com/reference/glossary#config), [Target](https://docs.prescientai.com/reference/glossary#target), [Granularity](https://docs.prescientai.com/reference/glossary#granularity), [MMM](https://docs.prescientai.com/reference/glossary#mmm).\ Learn more: [Model Center](https://docs.prescientai.com/model-center) ### Model Accuracy A score from 0 to 100 that the product shows in two places. On a card of the Model Center overview it is the fit of the current model for the selected period, the same figure as **MMM Fit**, and in the **Backtest** view it is the fit of the backtest model on the dates that it trained on. See also: [MMM Fit](https://docs.prescientai.com/reference/glossary#mmm-fit), [Non-trained Accuracy](https://docs.prescientai.com/reference/glossary#non-trained-accuracy), [Backtest](https://docs.prescientai.com/reference/glossary#backtest).\ Learn more: [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit#what-does-each-score-measure) ### Model Center The product area that shows each model of a workspace, with its scores, its health, and its attribution. See also: [Model](https://docs.prescientai.com/reference/glossary#model), [Model Comparison](https://docs.prescientai.com/reference/glossary#model-comparison).\ Learn more: [Model Center](https://docs.prescientai.com/model-center) ### Model Comparison The page that puts two configs of a model side by side and gives each one a **Preference Score**. See also: [Config](https://docs.prescientai.com/reference/glossary#config), [Preference Score](https://docs.prescientai.com/reference/glossary#preference-score).\ Learn more: [Compare two configs](https://docs.prescientai.com/model-center/compare-two-configs) ### Model confidence The trust in a saturation curve at the selected spend. The product shows it as **Strong**, **Moderate**, or **Directional**. See also: [Confidence band](https://docs.prescientai.com/reference/glossary#confidence-band), [Saturation curve](https://docs.prescientai.com/reference/glossary#saturation-curve).\ Learn more: [Explore a spend scenario](https://docs.prescientai.com/attribution/explore-a-spend-scenario) ### Modeled A figure that comes from the marketing mix models of a workspace. The modeled outcome of a row is Base plus Halo. See also: [Reported](https://docs.prescientai.com/reference/glossary#reported), [Channel Reported](https://docs.prescientai.com/reference/glossary#channel-reported), [Base](https://docs.prescientai.com/reference/glossary#base), [Halo](https://docs.prescientai.com/reference/glossary#halo), [MMM](https://docs.prescientai.com/reference/glossary#mmm).\ Learn more: [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures) ### Modeled through The last day that a model has results for. With 2 or more models selected, Attribution uses the earliest of these days, and its default period ends on that day. See also: [Model](https://docs.prescientai.com/reference/glossary#model), [Granularity](https://docs.prescientai.com/reference/glossary#granularity).\ Learn more: [Find how current a model is](https://docs.prescientai.com/model-center/find-how-current-a-model-is) ### Most Recent Data A column of the **Channels** tab. It gives the last day that has rows for the channel, and it belongs to the channel, not to the connection. See also: [Freshness warning](https://docs.prescientai.com/reference/glossary#freshness-warning), [Connection status](https://docs.prescientai.com/reference/glossary#connection-status), [Data QA](https://docs.prescientai.com/reference/glossary#data-qa).\ Learn more: [Data dates and freshness](https://docs.prescientai.com/data-center/data-dates-and-freshness) ## N ### Non-trained Accuracy The score of the backtest model for the most recent dates that it did not train on. It is the one Model Center score for dates that a model did not learn from, and it does not change with the selected period. See also: [Non-trained period](https://docs.prescientai.com/reference/glossary#non-trained-period), [Model Accuracy](https://docs.prescientai.com/reference/glossary#model-accuracy), [Backtest](https://docs.prescientai.com/reference/glossary#backtest), [Out-of-sample](https://docs.prescientai.com/reference/glossary#out-of-sample).\ Learn more: [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit#what-is-the-non-trained-period) ### Non-trained period The most recent period of about 30 days, or about 4 weeks, that the backtest model did not train on. See also: [Holdout](https://docs.prescientai.com/reference/glossary#holdout), [Non-trained Accuracy](https://docs.prescientai.com/reference/glossary#non-trained-accuracy).\ Learn more: [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit#what-is-the-non-trained-period) ## O ### Onboarding The five stages that a new workspace goes through before every product area opens. Data Center shows the stages in the list **Your onboarding**. See also: [Data QA](https://docs.prescientai.com/reference/glossary#data-qa), [Workspace](https://docs.prescientai.com/reference/glossary#workspace).\ Learn more: [Your first days](https://docs.prescientai.com/getting-started/your-first-days) ### Optimization plan A plan type of Media Forecaster that works on live campaigns. Spend flexibility applies to each campaign, and the results have a **Campaign** tab. See also: [Forecast plan](https://docs.prescientai.com/reference/glossary#forecast-plan), [Plan](https://docs.prescientai.com/reference/glossary#plan).\ Learn more: [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built#how-do-optimization-and-forecast-plans-differ) ### Optimized The budget split that Media Forecaster recommends, and what the models forecast that split to deliver over the planning period. See also: [Baseline](https://docs.prescientai.com/reference/glossary#baseline), [Lift](https://docs.prescientai.com/reference/glossary#lift), [Spend flexibility](https://docs.prescientai.com/reference/glossary#spend-flexibility).\ Learn more: [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built#what-is-the-optimized-plan) ### Out-of-sample Data that a model did not train on. A close match on this data shows that the model can predict, not only describe. See also: [In-sample](https://docs.prescientai.com/reference/glossary#in-sample), [Non-trained Accuracy](https://docs.prescientai.com/reference/glossary#non-trained-accuracy).\ Learn more: [Accuracy and fit](https://docs.prescientai.com/model-center/accuracy-and-fit#what-do-in-sample-and-out-of-sample-mean) ## P ### Pace The difference between the actual figure and the expected figure of a tracked goal, as a percentage of the expected figure. Within 5% is **On track**, more than 5% above is **Ahead of plan**, and more than 5% below is **Behind plan**. See also: [Check-in](https://docs.prescientai.com/reference/glossary#check-in), [Tracked goal](https://docs.prescientai.com/reference/glossary#tracked-goal), [Expected to date](https://docs.prescientai.com/reference/glossary#expected-to-date).\ Learn more: [Saved items and goal pacing](https://docs.prescientai.com/library/saved-items-and-goal-pacing#how-does-a-check-in-judge-the-pace) ### Performance Table The table of Attribution that compares results at the levels of the marketing hierarchy: channel, tactic, and campaign. See also: [Channel](https://docs.prescientai.com/reference/glossary#channel), [Tactic](https://docs.prescientai.com/reference/glossary#tactic), [Campaign](https://docs.prescientai.com/reference/glossary#campaign).\ Learn more: [Performance Table options](https://docs.prescientai.com/reference/attribution/performance-table) ### Plan One budget recommendation of Media Forecaster for one goal and one period. The settings of a finished plan are locked, because the results depend on the settings. See also: [Optimization plan](https://docs.prescientai.com/reference/glossary#optimization-plan), [Forecast plan](https://docs.prescientai.com/reference/glossary#forecast-plan), [Baseline](https://docs.prescientai.com/reference/glossary#baseline), [Optimized](https://docs.prescientai.com/reference/glossary#optimized).\ Learn more: [Media Forecaster](https://docs.prescientai.com/media-forecaster) ### Planning period The dates that a plan allocates budget across. The planning period starts 14 days before today or later, and it gives the forecast the seasonality of those dates. See also: [Reference period](https://docs.prescientai.com/reference/glossary#reference-period), [Plan](https://docs.prescientai.com/reference/glossary#plan).\ Learn more: [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built#why-does-a-plan-have-two-periods) ### Powered by A column of the **Channels** and **Integrations** tabs. It names the service or the method that carries the data of the row. See also: [Connection method](https://docs.prescientai.com/reference/glossary#connection-method), [Integration](https://docs.prescientai.com/reference/glossary#integration).\ Learn more: [Channels, integrations, and connection methods](https://docs.prescientai.com/data-center/channels-integrations-and-connection-methods#what-does-powered-by-tell-you) ### Preference Score A number from 0 to 100 that Model Comparison gives to each of the two configs. The product says that the score measures model quality across different criteria. See also: [Config](https://docs.prescientai.com/reference/glossary#config), [Model Comparison](https://docs.prescientai.com/reference/glossary#model-comparison).\ Learn more: [Configs and the Preference Score](https://docs.prescientai.com/model-center/configs-and-the-preference-score#what-is-the-preference-score) ### Prescient AI The product area where a person asks questions about the data of a workspace in a chat. Its screen also shows the state of the connections and the models and the recommendation of the day. See also: [Chat](https://docs.prescientai.com/reference/glossary#chat), [Recommendation card](https://docs.prescientai.com/reference/glossary#recommendation-card), [Library](https://docs.prescientai.com/reference/glossary#library).\ Learn more: [Prescient AI](https://docs.prescientai.com/prescient-ai) ## R ### Recommendation card A card on the Prescient AI screen that summarizes the daily Media Forecaster plan of the workspace, which runs with default settings. The card appears only when the plan found a gain. See also: [Plan](https://docs.prescientai.com/reference/glossary#plan), [Prescient AI](https://docs.prescientai.com/reference/glossary#prescient-ai).\ Learn more: [Where the daily recommendation comes from](https://docs.prescientai.com/prescient-ai/daily-recommendation) ### Reference period Dates in the past that set which media is eligible for a plan and the starting spend of each row. The reference period does not limit what the models know, because the models train on the full history. See also: [Planning period](https://docs.prescientai.com/reference/glossary#planning-period), [Baseline](https://docs.prescientai.com/reference/glossary#baseline), [Inactive campaign](https://docs.prescientai.com/reference/glossary#inactive-campaign).\ Learn more: [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built#why-does-a-plan-have-two-periods) ### Reported A figure that comes from the connected sales sources of a workspace. It is a total for the whole workspace and is not divided by channel. See also: [Modeled](https://docs.prescientai.com/reference/glossary#modeled), [Channel Reported](https://docs.prescientai.com/reference/glossary#channel-reported).\ Learn more: [Modeled and reported figures](https://docs.prescientai.com/attribution/modeled-and-reported-figures) ## S ### Saturation curve A curve that shows the modeled outcome of a campaign, a tactic, or a channel at each level of spend. The **Explore Spend Scenario** panel of Attribution and an answer of Prescient AI can show one. See also: [Confidence band](https://docs.prescientai.com/reference/glossary#confidence-band), [Marginal efficiency](https://docs.prescientai.com/reference/glossary#marginal-efficiency), [Model confidence](https://docs.prescientai.com/reference/glossary#model-confidence).\ Learn more: [Explore a spend scenario](https://docs.prescientai.com/attribution/explore-a-spend-scenario) ### Saved conversation The copy of a chat that the Library holds. The copy keeps the messages, the charts, and the tables as they were on the day of the save, and it does not change when the chat continues. See also: [Chat](https://docs.prescientai.com/reference/glossary#chat), [Library](https://docs.prescientai.com/reference/glossary#library), [Version](https://docs.prescientai.com/reference/glossary#version), [Visibility](https://docs.prescientai.com/reference/glossary#visibility).\ Learn more: [Saved items and goal pacing](https://docs.prescientai.com/library/saved-items-and-goal-pacing#why-is-a-saved-item-a-fixed-copy) ### Shared credential The credential of an integration. A person enters it one time, and each channel that arrives through the integration uses it. See also: [Integration](https://docs.prescientai.com/reference/glossary#integration).\ Learn more: [Set up shared credentials](https://docs.prescientai.com/data-center/set-up-shared-credentials) ### Sign-in code The one-time code that Prescient AI emails to a person who signs in with an email address. The product calls it a one-time code. See also: [Single sign-on](https://docs.prescientai.com/reference/glossary#single-sign-on).\ Learn more: [Sign in to Prescient AI](https://docs.prescientai.com/account/sign-in) ### Single sign-on A setup in which an organization controls access to Prescient AI from its own identity provider. People sign in there, and membership and roles come from the identity provider. See also: [Sign-in code](https://docs.prescientai.com/reference/glossary#sign-in-code), [Admin](https://docs.prescientai.com/reference/glossary#admin), [Viewer](https://docs.prescientai.com/reference/glossary#viewer).\ Learn more: [Single sign-on](https://docs.prescientai.com/account/single-sign-on) ### Source The place where the data of a channel comes from: a platform, a sheet, a table, or a file location. See also: [Channel](https://docs.prescientai.com/reference/glossary#channel), [Connection method](https://docs.prescientai.com/reference/glossary#connection-method).\ Learn more: [Channels, integrations, and connection methods](https://docs.prescientai.com/data-center/channels-integrations-and-connection-methods#what-is-a-channel) ### Spend flexibility A setting of a plan that sets how far the optimizer can move each row from its baseline, as a band such as 0.5× to 1.5×. It changes how the budget is split and does not change the total budget. See also: [Allocation type](https://docs.prescientai.com/reference/glossary#allocation-type), [Baseline](https://docs.prescientai.com/reference/glossary#baseline), [Optimized](https://docs.prescientai.com/reference/glossary#optimized).\ Learn more: [How Media Forecaster builds a plan](https://docs.prescientai.com/media-forecaster/how-plans-are-built#what-is-the-optimized-plan) ### Subscription The billing state of a workspace. It controls access to the product areas for each member. See also: [Workspace](https://docs.prescientai.com/reference/glossary#workspace), [Admin](https://docs.prescientai.com/reference/glossary#admin).\ Learn more: [Subscriptions and access](https://docs.prescientai.com/account/subscription-and-access) ## T ### Tactic A label that a person gives to a campaign in Data Center. Attribution can show one row for each tactic, and a tactic row can contain campaigns of more than one channel. See also: [Campaign](https://docs.prescientai.com/reference/glossary#campaign), [Channel](https://docs.prescientai.com/reference/glossary#channel).\ Learn more: [Label campaigns with tactics](https://docs.prescientai.com/data-center/label-campaigns-with-tactics) ### Target The outcome that a model measures, for example revenue. The selected target sets the efficiency metric that a page shows, for example ROAS. See also: [Model](https://docs.prescientai.com/reference/glossary#model), [Efficiency](https://docs.prescientai.com/reference/glossary#efficiency), [Target of a plan](https://docs.prescientai.com/reference/glossary#target-of-a-plan).\ Learn more: [Overview reference](https://docs.prescientai.com/reference/model-center/overview) ### Target of a plan The total modeled figure that a plan must reach over its planning period. It is not a reported number, and it is not growth on top of the current figure. See also: [Plan](https://docs.prescientai.com/reference/glossary#plan), [Target](https://docs.prescientai.com/reference/glossary#target), [Modeled](https://docs.prescientai.com/reference/glossary#modeled).\ Learn more: [Plan settings](https://docs.prescientai.com/reference/media-forecaster/plan-settings) ### Tracked goal The outcome that the optimized plan expects over its whole planning period, which the Library reads from the plan when the tracking starts and keeps fixed. See also: [Check-in](https://docs.prescientai.com/reference/glossary#check-in), [Pace](https://docs.prescientai.com/reference/glossary#pace), [Plan](https://docs.prescientai.com/reference/glossary#plan).\ Learn more: [Saved items and goal pacing](https://docs.prescientai.com/library/saved-items-and-goal-pacing#what-is-the-goal-of-a-tracked-plan) ## V ### Version A new fixed copy of a saved conversation that a person adds when the item runs again. A version does not replace the earlier one. See also: [Saved conversation](https://docs.prescientai.com/reference/glossary#saved-conversation), [Library](https://docs.prescientai.com/reference/glossary#library).\ Learn more: [Saved items and goal pacing](https://docs.prescientai.com/library/saved-items-and-goal-pacing#how-do-versions-fit-in) ### Viewer The role that can use the product areas. A Viewer cannot change the display currency, the members, the connections, the API keys, or the billing. See also: [Admin](https://docs.prescientai.com/reference/glossary#admin), [Workspace](https://docs.prescientai.com/reference/glossary#workspace).\ Learn more: [Roles and members](https://docs.prescientai.com/reference/account/roles-and-members) ### Visibility The setting of a saved conversation that says who can open it. **Private** is for the person who saved it and Prescient staff, and **Shared with your team** is for each person in the workspace. See also: [Saved conversation](https://docs.prescientai.com/reference/glossary#saved-conversation), [Workspace](https://docs.prescientai.com/reference/glossary#workspace).\ Learn more: [Share and export](https://docs.prescientai.com/library/share-and-export) ## W ### Workspace The unit that holds the data, the models, the plans, the members, and the subscription of one organization in Prescient AI. See also: [Admin](https://docs.prescientai.com/reference/glossary#admin), [Viewer](https://docs.prescientai.com/reference/glossary#viewer), [Subscription](https://docs.prescientai.com/reference/glossary#subscription), [Display currency](https://docs.prescientai.com/reference/glossary#display-currency).\ Learn more: [Workspaces and organizations](https://docs.prescientai.com/account/workspaces) ## Other words on screen The product shows more than one word for some terms. These docs use the term in the last column. | Word on screen | Where | Term in these docs | | ---------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | | Account admin | Some messages of Data Center | [Admin](https://docs.prescientai.com/reference/glossary#admin) | | Company | Some messages of the **API keys** tab | [Workspace](https://docs.prescientai.com/reference/glossary#workspace) | | Connector | Header of the first column of the **Channels** tab | [Channel](https://docs.prescientai.com/reference/glossary#channel) | | Direct connector | Text of the **Add integration** dialog | [Integration](https://docs.prescientai.com/reference/glossary#integration) | | One-time code | The sign-in page and the **Invite member** dialog | [Sign-in code](https://docs.prescientai.com/reference/glossary#sign-in-code) | | Organization | The menu **Switch organization**, the page **No organization access**, and some messages | [Workspace](https://docs.prescientai.com/reference/glossary#workspace) | # What's New Source: https://docs.prescientai.com/whats-new > A dated list of the changes to the Prescient AI product, the API, and the docs, with the newest change first and an RSS feed. This page lists the changes to Prescient AI, the API, and these docs. The newest change is first. To get each new change in a feed reader, subscribe to the RSS feed. ## October 2026 ### October 9, 2026: The API reference is part of the docs New · API, Docs The API tab has guides for the Prescient GraphQL API and a reference page for each query and type. The reference pages come from the schema of the API, so they show the same queries, arguments, and types that the API has. The guides tell you how to authenticate, make a first request, pull metrics, and handle errors. Related docs: [API overview](https://docs.prescientai.com/api), [Make your first request](https://docs.prescientai.com/api/make-your-first-request), [Authentication](https://docs.prescientai.com/api/authentication) ### October 9, 2026: Guides for five more product areas New · Prescient AI, Library, Model Center, Data Center, Account and settings, Docs The docs now cover Prescient AI, Library, Model Center, Data Center, and Account and settings. Each area has an overview, task guides, and concept pages. The **Get started** group has three new pages that tell you how the product is organized and what occurs in your first days. Related docs: [Prescient AI](https://docs.prescientai.com/prescient-ai), [Library](https://docs.prescientai.com/library), [Model Center](https://docs.prescientai.com/model-center), [Data Center](https://docs.prescientai.com/data-center), [Account and settings](https://docs.prescientai.com/account), [How Prescient AI is organized](https://docs.prescientai.com/getting-started) ### October 8, 2026: Guides and reference for Media Forecaster and Attribution New · Attribution, Media Forecaster, Docs The docs now cover Media Forecaster and Attribution, with screenshots of each screen. The docs have task guides, reference pages, and concept pages for two product areas: - **Media Forecaster:** create and run a plan, read the results, manage plans, and fix a failed plan. - **Attribution:** choose what the page shows, compare periods, compare channels, tactics, and campaigns, and export data. Related docs: [Media Forecaster](https://docs.prescientai.com/media-forecaster), [Attribution](https://docs.prescientai.com/attribution) ## September 2026 ### September 29, 2026: API keys with a channel scope return all their rows Fixed · API A key with a channel scope now returns the rows of each data source of its channels, and channelNames follows the scope of the key. - **Fixed:** A key with a channel scope now returns the rows of each data source of its channels. Before this fix, some channels returned no rows in `modeledMetrics` and `reportedMetrics` for a scoped key. - **Changed:** `channelNames` now follows the channel scope of the key. A scoped key gets only the channels that it can read. A key with no channel scope did not change. Related docs: [API changelog](https://docs.prescientai.com/api/changelog), [Authentication](https://docs.prescientai.com/api/authentication) ### September 23, 2026: The API returns the tactic of a campaign New · Data Center, API ModeledMetricRow has a new sourceCampaignTactic field: the tactic that the campaign has in the Data Center. - **Added:** The `sourceCampaignTactic` field on `ModeledMetricRow`. The field is the tactic that the campaign has in the Data Center, or `null` if the campaign has no tactic. A query that does not select the field did not change. Related docs: [API changelog](https://docs.prescientai.com/api/changelog), [Pull modeled metrics](https://docs.prescientai.com/api/pull-modeled-metrics), [Label campaigns with tactics](https://docs.prescientai.com/data-center/label-campaigns-with-tactics) ## July 2026 ### July 27, 2026: The API moved to a new platform with no change for integrations Improved · API The endpoint, the request, the schema, the pagination, and the shape of an error did not change. Repeated authentication failures now cause a temporary block. - **Changed:** The API moved to a new platform. The endpoint, the request, the schema, the pagination, and the shape of an error did not change, so no integration needs a code change. - **Changed:** Repeated authentication failures from one IP address now cause a temporary block. - **Changed:** `models` and `channelNames` now return their items in a stable sorted order. The order was never part of the schema, so treat both lists as lists with no order. Related docs: [API changelog](https://docs.prescientai.com/api/changelog), [Limits](https://docs.prescientai.com/api/limits) ## June 2026 ### June 1, 2026: API keys can have a channel scope New · Account and settings, API A scoped key reads only its channels. The salesChannel argument of modeledMetrics is now a list and returns both sales channels by default. - **Added:** Channel scope for API keys. A scoped key reads only its channels in `modeledMetrics` and `reportedMetrics`. - **Changed:** The `salesChannel` argument of `modeledMetrics` is now a list. If you leave it out, the query returns both `ECOMMERCE` and `RETAIL`. Before this change, the default was `ECOMMERCE` only. Related docs: [API changelog](https://docs.prescientai.com/api/changelog), [Authentication](https://docs.prescientai.com/api/authentication), [Manage API keys](https://docs.prescientai.com/account/manage-api-keys) ## May 2026 ### May 26, 2026: The API returns retail metrics New · API SalesChannelEnum has a new RETAIL value, so modeledMetrics can return retail metrics. - **Added:** The `RETAIL` value of `SalesChannelEnum`, so `modeledMetrics` can return retail metrics. Related docs: [API changelog](https://docs.prescientai.com/api/changelog), [Pull modeled metrics](https://docs.prescientai.com/api/pull-modeled-metrics) ## April 2026 ### April 24, 2026: A workspace can have more than one API key New · Account and settings, API Each key has a name, an optional expiration date, a revoke action, and a record of its last use. - **Added:** More than one API key for a workspace. Each key has a name. - **Added:** An expiration date and a revoke action for a key, and a record of the last use of a key. The API rejects an expired key and a revoked key. Related docs: [API changelog](https://docs.prescientai.com/api/changelog), [Manage API keys](https://docs.prescientai.com/account/manage-api-keys) ### April 23, 2026: The API returns subscription metrics New · API modeledMetrics now returns subscription metrics for a model that measures subscriptions. - **Added:** Subscription metrics in `modeledMetrics`, for a model that measures subscriptions. Related docs: [API changelog](https://docs.prescientai.com/api/changelog), [Pull modeled metrics](https://docs.prescientai.com/api/pull-modeled-metrics) ## March 2026 ### March 3, 2026: The API has a query for reported metrics New · API The new reportedMetrics query returns the figures that your channels report, next to the modeled figures of modeledMetrics. - **Added:** The `reportedMetrics` query, with the `ReportedMetricQuery` and `ReportedMetricRow` types. Related docs: [API changelog](https://docs.prescientai.com/api/changelog), [Pull reported spend](https://docs.prescientai.com/api/pull-reported-spend) ## May 2025 ### May 7, 2025: The Prescient GraphQL API is available as a beta New · API The first release of the API. - **Added:** The first release of the API, as a beta. Related docs: [API changelog](https://docs.prescientai.com/api/changelog), [API overview](https://docs.prescientai.com/api)