The two reports have the same shape. Only the name of the value changes.
A row of the visibility report
Each row is one brand in one period: your brand and, withcompetitors=true
(the default), each competitor.
The summary and the rank of your brand
info.summary gives the last period of your brand, and its place among each
brand of that period:
One series for each answer engine
Addgroup_by=model for one series for each answer engine. Each row then has
model, and info.summary has one item for each engine.
Filters of the visibility reports
Visibility and recommendation by topic
Two more routes give one value for each topic, and for each scenario of the topic, in place of one value for each period:
These are the numbers of the Topics page of the dashboard. Each row is one
topic that has answers in the range:
The filters are
start_date, end_date, models and topic_ids, as above.
Add scenarios=false to get the topics only. That report is faster.
The report of one scenario, day by day
Two routes give the report of one scenario, with one row for each day and each brand:
The rows and
info.summary have the shape of the report of the brand, thus
the same code reads the two reports. change and significant compare a day
with the previous day with answers. The filters are start_date, end_date,
models and competitors. A scenario has one period for each day, thus these
routes have no granularity, no group_by and no topic_ids.
A scenario of another brand gets 404.
How the platform calculates the value of a period
The value of a day is not the share of the answers of that day only. The platform reads a sliding window: the newest answers up to the end of that day. The dashboard shows the same values.The sliding window of one day
For each day with answers, the platform does these steps:- For each scenario and each answer engine, the platform starts at the newest answer of the day. Then it adds older answers, one at a time.
- It stops when the confidence interval is narrow enough, or when the range has no older answer. The confidence level and the maximum width of the interval are settings of your brand.
- The value of the scenario on the engine is the share of the answers in the window that mention the brand.
- The value of the day is the average of the engines of each scenario, and then the average of the scenarios.
An example of a sliding window
A scenario runs on ChatGPT once each day, with 8 answers each time. The window needs 24 answers for a narrow interval.
The two windows share the answers of 9 and 10 September. Thus the value
changes slowly from one day to the next day. One bad day does not make the
value fall to zero.
Weeks and months
conversations gives the answers of the sliding window of the last day of the
period. A day with no answers has no row.
The first days of a range
The sliding window does not read an answer beforestart_date. Thus the first
days of a range read fewer answers, and their intervals are wider. To get a
full window for each day that you need, start the range some days earlier.