> ## Documentation Index
> Fetch the complete documentation index at: https://docs.readyforcommerce.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Ready for Commerce is an ecosystem that currently contains two products, PIM and Repricer, standing on one shared foundation: one identity, one organization, one team, one bill. Do not call it a platform with features, and never hint at an unreleased product.
> PIM connects to Shopify, Amazon, Square, Google Merchant Center and BigCommerce. Repricer connects to Amazon, Walmart, Shopify, BigCommerce, eBay and Square. The two products do not share one list, and each integration is authorized separately inside each product. The roster grows on purpose, so describe what the product does and let a table carry which integrations do it today, instead of counting them or writing that only one does something.
> Integration is the word this product uses, and it is the default in the documentation: the connection, the account, the Integrations screen, the per-account settings and the sync state are all integrations. Channel is reserved for the narrow sense of a destination where a listing lives, as in a product being live on a channel or archived on the channel.
> Newegg is not a supported channel. Do not describe it.
> On Amazon, PIM manages the offer only: price, availability and condition. It does not publish listing content such as titles, descriptions, images or specifications.
> Sign-in is passwordless: a single-use code emailed to the user, or Google. There are no passwords anywhere, so never describe a password, a sign-up with a password, or an email confirmation link.
> There is no public API for customers and no customer-facing webhooks. There is no organization-wide activity feed and no audit export, but the PIM does keep version history on products, brands, categories, tags and specifications, with who changed what and a restore, so never write that changes are not recorded or that an edit cannot be undone. Do not describe capabilities that are not documented here.
> Never write that the products have no AI, and never write that anything is AI-powered. Both are wrong. The PIM's image Optimizer runs AI-backed transforms the seller starts on purpose: Upscale, Remove background, and the region selection behind Refine. The Repricer reads competitor prices off web pages on the server. No control, badge or tooltip in either product names AI, and the seller never writes a prompt, so describe what the buttons do in the app's own words instead of reaching for the word.
> A PIM product, brand, category or variant can be switched off per connected integration account. Hover the channel badge and the switch is beside the account name in the card that opens. It carries no visible caption, so never call it the Sync switch: Sync is only its accessible name. On a variant-grained provider, Amazon today, the switch moves into the variant editor. On a product it asks whether to delete it from the channel, archive it there, or leave it live. Disabling stops publishing, not reading. There is still no per-field sync toggle.
> The PIM's image Optimizer replaced a feature called Squarify, which no longer exists. It resizes to an aspect ratio or to exact dimensions, removes backgrounds, upscales, trims the transparent margin around a cutout and re-centers it, pads, fills and re-encodes, and it always publishes a new asset instead of changing the original. Nothing crops into the picture: the subject is always contained whole.
> The PIM has no repricing engine and never reacts to a competitor's price. It does build the price it publishes to each integration account from the seller's own fields, configured in that account's settings, so do not write that the PIM has no pricing rules.
> Neither product has an in-app notification center, bell or inbox. Notifications are delivered by email only.
> Billing is per organization and per product, and only the organization owner can see or change it. Team members are free and uncounted, so never describe seats or per-user pricing.
> The seller never picks a plan. Each product has twelve price tiers assigned automatically from usage: the PIM from catalog product count, which includes drafts and archived products, and the Repricer from trailing 30-day sales. Nothing is feature-gated by plan and exceeding a tier never blocks work, so never write that a feature requires a higher plan.
> A subscription that is past due or paused makes the product read-only, which stops repricing and blocks edits without deleting data. Only a canceled subscription locks the seller out. Nothing is ever charged without a payment method on file.
> Pages containing the text 'This page has not been written yet', or its Spanish equivalent 'Esta página todavía no está escrita', are placeholders. Do not treat their headings as documented behavior.

# Insights

> The Insights tab on a listing shows your profit and margin, your price limits, where your price is against the market, and how the item has been selling.

Every listing in the Repricer has a tab that does nothing but show you numbers. It answers three questions about that one item: whether you are making money, where your price is against the rest of the market, and whether the item is selling.

You cannot change anything on it. Your [listings table](/repricer/listings) gives you one of these answers per column, and you have to hold several columns in your head at once to get the picture. This tab puts the whole picture for one item in one place, and it shows you the sum behind each number instead of only the answer. Most people open it for one of three reasons: a profit figure that looks wrong, a price not winning the Buy Box, or an item that has stopped selling.

Click `Listings` in the sidebar down the left, then click a row. The listing opens in a dialog, and `Insights` is the third tab across the top of it. What you get is four cards of headline numbers, and under them a grid of larger cards, each one a box with its own title.

## Before you start

### What your role lets you do

Every role can open the `Insights` tab and read every number on it, `Analyst` included. There is nothing on the tab you can change, so no role unlocks anything here. Roles are set in [team, roles and permissions](/team#what-each-repricer-role-can-do).

### Three of the four cards need a cost first

`Profit`, `Margin` and `ROI` are all worked out from what the item costs you. On a listing with no cost, all three read as a dash, and the `Product cost` line on the `Margin Analysis` card is empty too.

Type the cost into `Unit Cost` on the `Pricing` tab, one tab to the left, and the three cards fill in. See [cost, fees and profit](/repricer/listings/costs-and-fees#where-your-cost-comes-from) for where a cost comes from and what else it changes.

## How to read a listing's insights

<Steps>
  <Step title="Open the listings table">
    Click `Listings` in the sidebar down the left.
  </Step>

  <Step title="Open the listing">
    Click any cell in the row except `Strategy`, `Cost`, `Manual Price`, `Min`, `Max`, `MAP` or `MSRP`. Those seven columns open an edit inside the table instead, and every other cell opens the listing in a dialog over the rows.
  </Step>

  <Step title="Go to the Insights tab">
    The tabs run across the top of that dialog. Click `Insights`, the third one.
  </Step>

  <Step title="Read the four cards first">
    `Profit`, `Margin`, `ROI` and `Fees` run along the top of the tab. Hover any one of them and you get the sum behind it.
  </Step>

  <Step title="Open the card that answers your question">
    Under those four are up to six larger cards, each with its own title. Go to the one named for what you came to find out.
  </Step>
</Steps>

That is the whole tab. Everything on it is read-only, so there is nothing to save and nothing to undo. What you do about a number happens on the `Pricing` tab or in your strategy.

Everything below goes through the four cards at the top and then each larger card in turn. You do not need any of it to read a number off the tab.

## Every card in detail

The `Insights` tab is the same on every integration. Four cards run across the top, and under them the larger cards come in this order: `Sales`, `Market Position`, `Price Activity`, `Margin Analysis` and `Price Guardrails`. A sixth, `B2B Market`, is only on a listing that has business market data on it.

Two of the larger cards, `Sales` and `Price Activity`, cover a period you choose. The four at the top and the other four larger cards show what is true right now.

### The four cards across the top

Four large numbers run across the top of the `Insights` tab, above every card. They are the headline answer to whether this listing is worth selling, and each one is about a single sale at today's price.

| Card | What it is |
| --- | --- |
| `Profit` | What is left of one sale after the channel's fee and your cost |
| `Margin` | Your profit as a share of the price, to 1 decimal place |
| `ROI` | Your profit as a share of your cost, rounded to a whole number |
| `Fees` | The channel's referral fee, plus its fulfillment fee on an Amazon listing the channel ships |

`Profit` and `Margin` are green when you are making money on the listing and red when you are losing money on it, and the strip behind all four takes a faint tint of the same color. `Fees` is amber whatever the number is, because a fee is money leaving you either way.

**Hover a card and you get the sum behind it.** Each of the four opens a breakdown: `Profit breakdown`, `Margin breakdown`, `ROI breakdown` and `Fee breakdown`. Each one lists the numbers that went in, then the answer, then the formula in plain arithmetic.

| Card | The formula at the foot of its breakdown |
| --- | --- |
| `Profit` | `Profit = Price − Fees − Cost` |
| `Margin` | `Margin = (Profit ÷ Price) × 100` |
| `ROI` | `ROI = (Profit ÷ Cost) × 100` |
| `Fees` | `Fees = Referral fee + Fulfillment fee`, or `Fees = Referral fee` where the channel does not ship the item |

<Accordion title="Every line the four breakdowns show you">
  | Breakdown | The lines above the formula |
  | --- | --- |
  | `Profit breakdown` | `Selling price`, `Total fees`, `Product cost`, then `Net profit` in green or red |
  | `Margin breakdown` | `Net profit`, `Selling price`, then `Margin` |
  | `ROI breakdown` | `Net profit`, `Product cost`, then `ROI` |
  | `Fee breakdown` | `Referral fee`, `Fulfillment fee`, then `Total fees` in amber and `Fee rate` as a percentage of the price |

  A line the listing has no number for reads as a dash instead of a zero, so a missing cost never looks like a free item.
</Accordion>

The price in all four is what the item is selling for on the channel right now, and the cost is whatever you have in `Unit Cost` on the `Pricing` tab. Type a different cost there, come back to `Insights`, and the cards have already moved, saved or not.

On a store of your own and on Square there is no fee estimate, so `Fees` reads as zero and `Profit` is your price minus your cost.

### How the item has been selling

`Sales` is the first card under the four at the top of the `Insights` tab, at the left. It is the only place on a listing that tells you whether the item is actually moving.

| Row | What it tells you |
| --- | --- |
| `Units sold` | How many units sold in the period you picked. Returns are not taken off, so this is gross |
| `Revenue` | What those units brought in |
| `Last sale` | The day the item last sold, whatever period you picked. It turns amber once that day is more than 30 days ago |

Under the rows is a bar chart, one bar per day. Hover a bar and you get that day's date, its units and its revenue. A day's unit count on its own does not say whether those units went out at one price or several. The chart needs at least 2 days to draw, so `Today` and `Yesterday` give you the rows and no chart.

**The period is a dropdown at the top right of the card**, reading `Last 30 days` when you arrive. Open it and you get `Today`, `Yesterday`, `Last 7 days`, `Last 14 days` and `Last 30 days`. Changing it changes `Units sold`, `Revenue` and the chart, and leaves `Last sale` alone. On a listing with nothing sold in the last 30 days the dropdown is not there at all, because no period you could pick would show you anything.

**`Revenue` counts one currency at a time.** An account selling into two currencies has days whose money is in the other one. Those sales are counted in `Units sold` and left out of `Revenue`. A small amber triangle appears beside the number when that has happened, and hovering it says so.

### Where you are against the market

`Market Position` is the second card on the `Insights` tab, in the middle of the top row of cards. It is your price against everybody else's, on the product this listing is.

| Row | What it tells you |
| --- | --- |
| `Buy Box status` | `Winning`, `Not Winning` or `Suppressed`, the same badge your listings table shows |
| `Buy Box price` | What the Buy Box is going for |
| `Lowest competitor` | The cheapest offer anybody has on the product |
| `Competitors` | How many offers are on the product |

What each of the three statuses means is on [listing and repricing status](/repricer/listings/statuses). The `Competitors` tab, two tabs to the right of `Insights`, is where you find out who those competitors are.

**The gap is the small colored number to the left of a price.** You get one beside `Buy Box price` and one beside `Lowest competitor`. It is how far your own price is from that one, in money and as a percentage. Red means you are the pricier of the two, green means you are cheaper, and gray means the two are the same. Hover a gap and you get `Your price`, the price you are being compared against, `Gap`, and the formula, which reads `Gap = Your price − Buy Box price`.

One amber line can appear under the four rows, and it reads `You have the lowest price but aren't winning the Buy Box.` You get it when three things are true at once. You are not winning, nothing has said your offer cannot compete for the Buy Box, and your price is at or below the lowest competitor. It is worth reading as a signal to stop cutting the price, because something other than price is deciding this one.

### What the price has been doing

`Price Activity` is the third card on the `Insights` tab, at the right of the top row of cards. It is a summary of what repricing has done to this listing, and the `Activity` tab in the same dialog is the full list.

| Row | What it tells you |
| --- | --- |
| `Changes` | How many times the price changed in the period you picked |
| `Last change` | The most recent change, from one price to the next, with the percentage beside it |
| `Most common reason` | The reason given for more of the changes in that period than any other |

`Last change` ignores the period. It is the most recent change ever recorded on this listing, so it has a date on it even when `Changes` reads a small number.

Under the rows is a line chart with one point per day, holding the last price forward across days when nothing changed. A flat stretch means the price held, and the line rescales when you change the period, so 7 days really does look like 7 days.

**The period dropdown is at the top right of this card too**, with the same five choices as `Sales` and the same `Last 30 days` to start. It is missing on a listing whose price has not changed in the last 30 days.

Only the prices your ordinary shoppers see are counted here. A change to your business price never appears on this card, and the `Activity` tab has both kinds together.

<Accordion title="Every reason a price change can be given">
  | Reason | What it means |
  | --- | --- |
  | `Undercut competition` | The price went under the offer your strategy is aiming at |
  | `Matched competition` | The price was set to the same as that offer |
  | `Priced above market` | The price was set deliberately above the market |
  | `Margin recovery` | The price went up to win back margin you were giving away |
  | `Hit price floor` | The price your strategy wanted was under your floor, so the floor was used |
  | `Hit price ceiling` | The price your strategy wanted was over your maximum, so the maximum was used |
  | `Protecting profit` | The price stopped where it did to keep the profit your strategy asks for |
  | `Can't compete on price` | Going low enough to compete would have broken one of your limits |
  | `Manual price` | You put a fixed price on the listing yourself |
  | `No competitors` | Nothing was there to price against, so your fallback decided the price |
  | `Initial price` | The first price the Repricer set on this listing |
  | `Seeking Buy Box` | The price came down a step at a time, looking for the Buy Box |
  | `Optimizing Buy Box` | The price went up a step at a time while you held the Buy Box |
</Accordion>

### Where the money goes on one sale

`Margin Analysis` is the fourth card on the `Insights` tab, first in the second row of cards. It takes one sale apart a line at a time, from the selling price down through the channel's fee and your cost to what is left. Each deduction is also given as a percentage of your price.

Open it when a card gives you a number you did not expect, because it shows you which line is taking the money. See [cost, fees and profit](/repricer/listings/costs-and-fees#what-is-inside-a-fee-estimate) for the card row by row, and for what a fee estimate leaves out.

### The limits your strategy has to work inside

`Price Guardrails` is the fifth card on the `Insights` tab, in the middle of the second row. It is the numbers you set on the `Pricing` tab, read back to you next to what the item is selling for now.

| Row | What it is |
| --- | --- |
| `Minimum` | The lowest price the Repricer will publish for this listing |
| `Maximum` | The highest price it will publish |
| `MAP` | The lowest price you are allowed to advertise |
| `MSRP` | The price the manufacturer suggests |
| `Req. profit` | The profit per sale your strategy has to protect. It is only there when your strategy asks for one |

The color of a number is the answer you came for. Red means your price today breaks that limit, either under `Minimum` or `MAP` or over `Maximum` or `MSRP`. Amber means your price is exactly on it. Anything else is plain. `Req. profit` goes green when the `Profit` card meets it and red when it does not.

A limit you have not filled in reads `Not set`. That is not an error on most of your listings, because a maximum, a MAP and an MSRP are all optional.

`Minimum` sometimes has a small `Auto` label beside it. That means your strategy calculates the floor from your cost instead of taking a number from you, and hovering `Auto` gives you the whole calculation. See [pricing on a listing](/repricer/listings/pricing) for which strategies do that and how to type your own minimum again.

Reading a red row here is not the same as fixing one. Every number on this card is set somewhere else, on the `Pricing` tab or in the strategy.

### The market for business buyers

`B2B Market` is the sixth card on the `Insights` tab, and it is the one that is not always there. You get it on a listing that has business market data on it, which in practice means an account selling to business buyers.

| Row | What it tells you |
| --- | --- |
| `B2B Buy Box status` | Whether your business offer has the featured position |
| `B2B Buy Box price` | What the business Buy Box is going for |
| `B2B lowest competitor` | The cheapest business offer anybody has |
| `B2B competitors` | How many business offers are on the product |
| `B2B minimum` | The floor your strategy works to on business orders |

The gaps on this card are against your business price and not your ordinary one. Your business price is not a row here, because it is already in the header at the top of the dialog, as `Current B2B`.

`B2B minimum` is only there when your strategy prices business orders against the market. A strategy that gives business buyers a fixed price, or a set percentage off your ordinary price, has no separate business floor to show. See [business pricing](/repricer/strategies/b2b-pricing) for all three ways a strategy can price a business order.

### Limits

| What | Limit |
| --- | --- |
| The longest period you can pick | 30 days |
| Periods in the dropdown | 5 |
| Days before `Last sale` turns amber | 30 |

### What the Insights tab cannot do

| You cannot | Do this instead |
| --- | --- |
| Change any number on the tab | Type it on the `Pricing` tab, or change the strategy |
| Look further back than 30 days | Open the [reports](/repricer/reports), which run over your whole catalog |
| Put a period on the market cards, the guardrails or the four at the top | Those show what is true right now, and nothing else |
| See every price change instead of a count | Open the `Activity` tab in the same dialog |
| Find a change to your business price in `Price Activity` | Open the `Activity` tab, which has both kinds |
| Compare two listings side by side | Open each one, or read the columns in your listings table |
| Take these numbers out of the Repricer | Run an [export](/repricer/uploads/exports) |
| Get an email when one of these numbers moves | Nothing here watches a number for you |

## How current these numbers are

Two of the cards fill in once and the rest are always live, and knowing which is which explains a number that will not move while you watch it.

`Sales` and `Price Activity` fill in when you open the `Insights` tab and not again. Changing the period brings in nothing new, because both cards already have the whole 30 days and cut your period out of it. To see newer numbers, click another tab and click `Insights` a second time.

`Market Position`, `B2B Market`, `Price Guardrails` and the four cards at the top come from the same numbers as your listings table, so they change while you are looking at them as new readings come in. How often market data is collected is on [competitors](/repricer/listings/competitors).

**A day here is a day in UTC, not a day on your own clock.** `Today` is the current UTC day and `Yesterday` is the one before it. `Last 7 days` is the last 7 of them, counting today. So an evening sale in Los Angeles is counted into the following day, and `Today` can read zero on an afternoon when you know something sold.

## When something goes wrong

### A card with nothing in it

Three of the cards can come up empty, and each one tells you which kind of empty it is. Read the title, because the three kinds mean different things and only one of them is worth acting on.

| What the card says | What it means |
| --- | --- |
| `No sales yet` | Nothing has ever sold on this listing |
| `No recent sales` | It has sold before, and not in the last 30 days |
| `No sales in this period` | It sold inside the last 30 days, and not in the period you picked |
| `No price changes yet` | The Repricer has never changed this listing's price |
| `No recent price changes` | It has been repriced before, and not in the last 30 days |
| `No changes in this period` | It was repriced inside the last 30 days, and not in the period you picked |
| `No market data yet` | Nothing has been read about the other offers on this product |

The two ending in `in this period` are the ones you can act on. Pick a longer period from the dropdown at the top right of that card and the numbers come back.

`No market data yet` tells you why underneath, and it gives one of three reasons. The listing is `Inactive` on the channel, and nothing is collected for an inactive listing until you put it back on sale. Or the listing is on a store of your own, where the competing prices come from addresses you supply, so the answer is to add one on the `Competitors` tab. Or the first reading is simply not in yet, which normally takes minutes.

### A number that does not match your listings table

`Fees` is the one that surprises people here. The card adds up the referral fee and the fulfillment fee, which is what the formula under it says it does. The `Fees` column in your listings table adds up the whole estimate. On some channels that has a fixed charge per order in it as well, so the card reads a few cents better than the column on the same listing.

The column is the number your strategy prices against. [Cost, fees and profit](/repricer/listings/costs-and-fees) has the difference in full.

## Where to go next

<Columns cols={2}>
  <Card title="Cost, fees and profit" icon="receipt" href="/repricer/listings/costs-and-fees">
    Where your cost comes from, and what the Repricer estimates on top of it.
  </Card>

  <Card title="Competitors" icon="users" href="/repricer/listings/competitors">
    Who the other offers belong to, and how often the market numbers are read.
  </Card>

  <Card title="Pricing on a listing" icon="tag" href="/repricer/listings/pricing">
    The tab where every number on the guardrails card is set.
  </Card>

  <Card title="Listing and repricing status" icon="signal" href="/repricer/listings/statuses">
    What `Winning`, `Not Winning` and `Suppressed` each mean.
  </Card>
</Columns>
