User Guide

Export your picks

Every column of the strategy picks export, in Excel or CSV, and example rows that tell a rule change from a late alert.

Strategies

A strategy is your own radar.

What the export contains

One row per pick. Each value is tied to its moment, and the column prefix says which one.

One row per pick. Each value is tied to its moment, and the column prefix says which one. Times are in UTC.

pick_id · triggered_at_utc
The pick, and the exact moment the strategy fired, to the millisecond.
match_id · home_team · away_team
The match, then its league, country, kick-off and status. match_id is the same in every export, so picks from several strategies can be matched up.
target · verdict · verdict_source
The outcome the strategy follows, how the pick settled, and whether that came from the app (auto) or from your own correction (manual).
rules_version · rules_definition
The version of the rules that fired the pick (v1, v2…) and those rules in one line. Editing a rule starts a new version, so picks from before and after a change can be told apart.
telegram_status · telegram_sent_at_utc · telegram_accepted_at_utc
Whether the alert was delivered, when it left our queue, and when Telegram accepted it. Empty when no alert was sent for that pick.
pick_type · pick_minute · pick_
In-play or pre-match, the minute of play (empty before kick-off), then the score and live stats at that minute: xG, possession, shots, corners, attacks, cards, momentum and more. The score is the one shown live at that moment — a goal ruled out later still counts here.
odds_captured_at_utc · live_
The live odds at the alert minute, and when they were read. They are read once per minute of play, so they usually date from a few seconds to a minute before the alert — compare the two times to see how fresh they were.
pre_
Before the match: 1X2, goal lines, BTTS and half-time odds, team form, season rates and head-to-head.
ht_ · final_
The same stats at half-time and at the final whistle, so the three moments compare column by column. Then the 90-minute score and the minute of each goal, per side.
bet_placed · odds_placed · stake · profit_loss
The bet you recorded on the pick, if any.
An empty cell means the value is unknown — never zero. Some stats are not available for every match: their cells stay empty rather than show a 0 that was never measured. Rule versions and Telegram times are recorded for picks from October 16, 2026 on; for in-play alerts, Telegram times go back to August 28.

Reading an alert in the export

Four example rows: how to tell a rule change from a late alert.

Four picks from the same strategy, with the columns that tell why an alert arrived when it did. Times are UTC and all on the same day, so only the time of day is shown. The export gives the full date.

triggered_at_utcrules_versiontelegram_sent_at_utctelegram_accepted_at_utc
18:42:07.412v118:42:07.43018:42:07.601
20:15:31.058v220:15:31.07120:15:31.244
21:03:12.880v221:03:17.95421:03:18.120
21:37:45.301v221:37:45.32221:37:47.958

The rules_definition column gives each version in one line:

v1
Minute ≥ 60 AND Shots On Target Total ≥ 5
v2
Minute ≥ 55 AND Shots On Target Total ≥ 5
Row 2: the rules changed
rules_version moves from v1 to v2, and rules_definition shows what changed: the minute went from 60 to 55. The pick fired on time, under the rules in force at that moment. A rule change never delays an alert, it changes which matches fire.
Row 3: late on our side
Five seconds between triggered_at_utc and telegram_sent_at_utc: the alert waited in our sending queue. That gap is usually under a second.
Row 4: late on Telegram's side
The alert left on time, but Telegram took over two seconds to accept it (telegram_sent_at_utc to telegram_accepted_at_utc). That gap is usually well under a second.
These rows are an example, not real data. In your own export, telegram_status says whether the alert was delivered or failed, and the Telegram columns stay empty for picks that sent no alert.
TriggerStats · User Guide · Last updated September 2026