edgeful ships 150+ reports, and Analyze Reports lets you pull them into a chat and reason over them. but sometimes the exact question you want answered isn't a report that exists yet.
that's what custom reports are for. you describe the report you want in plain English, edgeful AI writes the analysis and runs it against your market data, and you get a working report back — with the method, the code, and the assumptions all laid out. confirm it's measuring what you meant, save it, then run it over any ticker, session, and date range whenever you want.
video walkthrough
Andre builds a custom report start to finish: starting from a template, improving the prompt, checking the 3-month sample against the chart, adding a column before saving, and then running and questioning the finished report in the analyze tab.
prefer to read? everything in the video is written out below.
what a custom report is
Analyze Reports works with the reports already on the platform. a custom report is different — it builds a brand new analysis from your description, one that doesn't exist in the catalog.
think of it as the difference between reading a report and commissioning one. with Analyze Reports you pick from the picker. with a custom report you write the spec — what to measure, how to define each term, which ways to slice it — and edgeful AI turns that into real analysis code and runs it.
four things to know before you start:
custom reports are included on every plan — essential, pro, and all access. there's nothing to upgrade before you start
the build tab is for building only. you won't have a back-and-forth conversation with your data there. building happens in build, then you move back to analyze to run the report and ask questions about it
the first run is a 3-month sample — a methodology check to confirm the logic is right, not a finished stat you should trade off yet
a saved report can't be edited afterwards. the structure is locked once you hit save, so get it right in the build phase (more on this in step 3)
here's the flow, start to finish.
step 1: start a custom report
open edgeful AI from the left sidebar. at the top of the chat, switch from analyze to the build tab — you'll see the headline build any report, no code required.
below the message box, make sure custom reports is selected — the build tab also creates custom indicators, which is a separate thing. from here you've got two ways to start:
describe your own report — type exactly what you want measured into the box (how to write a good description is below)
start from a pre-built template — edgeful lists ready-made starters like how often does the New York session engulf the prior New York session's range? clicking one pastes the full prompt for you, and you can run it as-is or edit it first
once your description is in, hit the send arrow to kick off the build.
the improve prompt button
you don't have to write six paragraphs to get a good report. write the main point plus your key assumptions, then click improve prompt and edgeful AI will rewrite it into a fuller, more precise spec.
one important habit: always read the improved prompt before you send it. improving a prompt means the AI is filling in gaps, and it may add something you didn't ask for — a ticker, a date range, a definition it assumed. that's usually helpful, but it's your spec, so check it says what you meant before you run it.
writing a good description
this is the part that matters most — the quality of your description is the quality of your report. you don't need to know how to code, you just need to be clear about what you want measured. a strong request usually covers:
what it measures — the core question in a sentence or two
strict definitions — spell out every term. be mechanical — "a 1-minute close through the level" beats "price breaks the level"
the outputs you want — hold rate, continuation rate, average points, sample size, whatever the numbers are
the slices — how to break it down: by weekday, by time of day, by size bucket, by trend day vs chop day
sanity checks — sample size per bucket, and flagging thin buckets as low confidence
here's a compact example that runs cleanly:
build a report called "first candle follow-through" for ES. for each RTH session, look at the direction (green or red) of the first 5-minute candle after the 9:30 ET open. then measure how often the daily close finishes in the same direction as that first candle. report the follow-through rate overall, split by weekday, and split by whether the first candle was green vs red. include sample size (n sessions) for each bucket and flag anything under n=20 as low confidence.
notice what that does — it names the report, defines green/red precisely, says exactly what to measure, lists the slices, and asks for sample sizes with a low-confidence flag. that's the level of detail that gets you something usable on the first try.
step 2: confirm the methodology
edgeful AI drafts the analysis code, runs it on a 3-month sample, and returns a methodology check for you to confirm before committing. the banner says it plainly — review the sample to make sure it's calculating your report correctly.
three things to review:
method — a numbered, plain-English writeup of exactly what the analysis did. this is where you catch the AI interpreting your spec differently than you meant
assumptions — every assumption it made where your spec left room for interpretation: which date field it used, how it handled ties, what it skipped
report data — the per-day rows in the panel on the right, with copy JSON and column controls so you can check the raw output
you can also click view code to see the actual Python it ran, or review results to dig into the detailed rows. nothing here is a black box — the method, the assumptions, and the code are all on the table to check.
spot-check a few rows against your chart
the fastest way to trust the logic is to pick two or three dates out of the sample table and pull them up on your chart. take a row the report flagged as a hit and a row it flagged as a miss, and confirm on the chart that each one really did what the report says.
if a row looks wrong, don't just reply "this is wrong." tell it what you're seeing and where: on July 15 this is marked as no touch, but price did trade through the prior low. can you double-check the logic? the more specific you are, the better the correction.
refine before you commit
the 3-month sample is deliberate — enough data to confirm the logic without waiting on a full history. not quite right? just say so in the chat — something like only count a 1-minute close as a break, not a wick, split trend days from chop days, or add a weekday column. each reply re-drafts the code and re-runs.
after every follow-up, edgeful AI shows you what changed — which columns were added, which assumptions moved. read that summary each time rather than assuming your instruction landed the way you intended. keep going until the method reads exactly the way you'd describe the setup yourself.
step 3: save your report
saving locks the report. once you save, you can't go back and change how it works — not the logic, not the definitions, and not the columns. if you later realise you also wanted the prior day's size, or a weekday breakdown, or a different label for a column, you'll need to copy your prompt and build the report again from the start.
so before you save, run through the sample one last time and ask yourself: is every column I want already here? are the names right? is anything I'd want to slice by later missing? add it now, while it's still editable.
when the method reads right, click save report. name it in the save custom report dialog (up to 80 characters) — that's what you'll pick it by later — then save. saving is also what unlocks running the full AI analysis over the range you choose.
your saved reports live under custom reports in the edgeful AI menu — selectable anytime, right alongside edgeful's built-in reports.
step 4: run your report
saving opens the run analysis window, back on the analyze side. on the custom reports tab, set four things:
report — your saved report
date range — anything from 1 month up to 5 years, or a custom range on the calendar
ticker — the instrument to run it on
session — NY, London, or Asian
then click analyze to run it over the full window. this is the real read — not the 3-month sample. the result opens in a panel on the right with a sortable table and the ticker / session / date range it ran on.
because you set the ticker, session, and lookback fresh on every run, one saved report becomes a template — build the logic once, then run it on NQ, on ES, on the London session, over 6 months or 3 years, whenever you want the read.
step 5: ask about your report
this is where you're back in the analyze tab and the conversation opens up. a custom report isn't just a static table — you can ask edgeful AI about it the same way you would any analyzed report. once it's run, it'll offer to summarise it for you, and from there you can keep asking:
which weekday has the strongest follow-through?
find commonalities on the days this setup worked
how does the last month compare to the full range?
turn this into a simple table broken out by each scenario
submit your questions and edgeful AI reads your report's data and answers directly. that back-and-forth is where a custom report turns into an actual read on your setup. if you ever forget exactly what the report measures, the method and assumptions stay visible at the top of the results panel — and you can collapse the per-day rows if you only care about the summary.
managing your saved reports
every custom report you save is listed in the sidebar, so nothing gets lost once you've built up a few. from there you can:
search your reports by name, which matters once the list grows
review the methodology of any saved report, so you can re-read exactly what it measures months later
rename a report
delete one you no longer want
renaming and deleting are available on a saved report. the underlying logic isn't editable, so if a report needs to work differently, build a new one from your original prompt.
tips for getting it right
be mechanical. "held = closes back on the original side within 5 minutes, and a wick doesn't count" beats "held = the level defends"
use improve prompt, then read what it wrote. it saves you the long-form writing, but it can add assumptions you didn't intend
name the report clearly. it makes the save step and the method writeup easier to follow
always ask for sample size. and flag thin buckets, so you know which numbers to lean on
read the assumptions before the numbers. catching a wrong assumption early is the fastest path to a good report
get your columns right before saving. this is the one step you can't undo
the methodology check is a 3-month sample by design. confirm the logic there, then save and run over a longer window for the real, full-length read
like everything on edgeful, a custom report is a starting point — a clear spec, a couple rounds of refinement, and enough data behind it before the numbers are worth trading off of.



