date in group_by. That gives daily points. There are no week or month buckets, so weekly and monthly points are one call per week or month, each computed from every answer in it.
How this example works
- Daily: one call with
group_by: ["date"](add"platform"for a line per engine). One row per day with answers. - Weekly or monthly: split the range into buckets and make one call per bucket with no
group_by. Thirteen weeks is thirteen calls, well inside 120 a minute; if you do hit the limit, the SDKs wait outRetry-Afterand retry. - Write a CSV you can chart anywhere.
Notes
- Partial buckets. The first and last week of a range are often shorter than seven days. Label them, or start the range on a Monday.
- Small days are noisy. One engine on one day may rest on a handful of answers. Plot
answersbeside the score, or use weekly points. - 92 days per call. For a longer daily history, request quarter by quarter and concatenate; daily rows never overlap.
- Engines started on different days have no rows before their first scan. A missing row means no data, not a score of zero.
Common follow-ups
Compare competitors over time
Add a line per competitor.
Segment by engine, category or prompt
Break one period down instead of over time.