About this site and the person who writes it
Who writes this, how the measuring is done, how sure each page says it is, and what stands in place of a credential nobody here holds.
One person writes this. Sean Flanagan, a software engineer in the United States, working in his own time. He holds no financial licence and no credential of any kind, and you should know that before the first number.
He is not a registered investment adviser. He does not work for a broker or an advisory firm, he is not a financial planner, and he holds no CFA, CFP, CPA, Series 7 or Series 65. No licence, no firm, no professional body, no review board, and nobody reviews a page before it goes up. No employer and no client is anywhere near this work.
How the measuring is done
The order matters more than the machinery. Before anything is run, what is being measured gets written down: which years, which funds, what it will be compared against, what would count as a pass and what would count as a failure. Then it runs, with the real costs of trading and the real tax charged inside it. Then the answer goes up whether or not it is the one we hoped for.
Writing the test down first is the whole trick, and it is there for an unflattering reason. A bar you can move after seeing the number stops being a bar. Nobody moves one on purpose; what people do is notice, entirely sincerely, that the original bar was badly chosen, and that thought only ever arrives in one direction.
Everything is measured against something a person could actually have held instead, usually a cheap index fund. A number with no comparison attached is not a finding. The data is free and public: funds’ own annual filings to the SEC, and the long return series that academics and central banks publish. Every number on the site carries the date it was read, because fund facts go stale.
How sure we are
Every claim here carries one of four words.
Settled Arithmetic, a contract or a tax rule. The only question left is whether you do it.
Probably Measured, larger than the smallest thing the test could have seen, and it held up when we tried to break it. The size is a range rather than a point.
Might work The reason it should work is real and the measurement is thin. Something about the test is wrong, and the page says what.
We can’t tell The range covers real help and real harm. Neither a yes nor a no.
The last of those is the most common verdict on the site, and it is the one most likely to be misread. “We can’t tell” and “no” are different findings. Returns bounce around, and before running a test you can work out how large a difference would have to be before the data could pull it back out of that bouncing. Under that size, a real effect and no effect produce the same-looking answer, so the test proves nothing in either direction.
The rule for selling out of stocks when the market falls below its 200-day average is the cleanest example. Against a fair comparison it came out ahead by a small amount, and the smallest gap that test could have detected was several times larger. The measurement is real and the arithmetic is right, and the honest reading is still that we cannot see. Printing the gap as a finding would report the width of our own ignorance.
Nothing here is ever coloured green for good news. A coloured badge answers two questions with one mark, how sure we are and whether the news is welcome, and those are different questions. A settled claim can be settled bad news, and the best idea on the site might be one nobody can measure yet.
One rule cuts across all four words. Every probability printed here is a best case, because the arithmetic behind it assumes we know exactly how large the advantage is. We do not. The real chance is lower, by an amount nobody can state.
AI wrote most of this, and here is what that means
Almost every line of code, analysis and prose behind this site was drafted by a large language model, then cut and rearranged by a person who is responsible for what it says. Saying so is more useful than the alternative, which you would work out anyway.
The checking is deliberately mechanical, because a model that wrote a number is the wrong reviewer for it. No number is typed into a paragraph: a sentence names a record, the record carries the value, its range, its date and the source it came from, and the site fails to build if that source has moved. A word list fails the build on the vocabulary language models reach for. Every page is read line by line by a person before it goes up.
What none of that catches is the main risk. A model produces a plausible wrong number far more readily than an implausible one, and plausible wrong numbers survive review by other models.
What stands in place of a credential
Shown work, and a great deal of it. Every number names the source it came from and the day that source was read. Every claim that would be worth acting on carries the thing that would prove it wrong, printed beside it. Every error found so far is on the corrections log with its date and what caught it. The code and the data behind the site are public, including the commits that undo the previous week, and the link is at the foot of every page.
None of that makes a conclusion correct. It makes each one checkable, which is the only offer anybody without a licence can honestly make. If you find an error, the fastest way to report it is an issue on that public repository. A number, its source, and the sentence you think it contradicts is enough, and you do not need to be polite about it.
Nothing pays for the site. No advertising, no affiliate links, no sponsors, no paid placement and no money from any fund company, broker or data provider. Nothing to subscribe to and nothing to buy. Hosting costs a few dollars a month and comes out of the author’s own pocket, and the disclosures page lists the interests that do exist. A site with nothing to sell can still be wrong; having no advertiser removes one way of being wrong out of many.
The one thing this site will never do
It will never answer a question about your portfolio. Not by email, not privately, and not with the names changed. Nobody here knows your tax bracket, your job security, what you owe or when you stop working, and a general answer dressed as a personal one is worse than no answer, because you would act on it. The disclaimer says the rest. Questions about the method, the data or an error in a number are welcome.