We graded our own Copy Score against 30 days of outcomes. No signal yet.
Every scoring product claims its number works. In May 2026 we started grading ours against what a simulated copier would actually realize over the next 30 days — and we wrote down how we'd read the result, and committed to publishing it either way, before the first cohort matured. The cohort has now matured, and here is the honest read: across 336 matured, active 30-day outcomes, the rank correlation between Copy Score and realized copier return is Spearman ρ = −0.001 — statistically indistinguishable from zero. No measurable signal yet. This post is that number, the investigation behind it, and what changes (and what deliberately doesn't) as a result.
All figures below are point-in-time pulls from CopyGrade's live scored set via the read-only database, dated in-text; the method is documented here and every published aggregate is here.
What we measured — and why the method came first
The trap with self-graded metrics is that you get to choose the test after you see the data. So we didn't. Back on 2026-06-11, before a single 30-day outcome existed, we published the track-record methodology and a pre-committed decision tree: which query, which score bands, which sample floor, and — critically — what we'd do at each possible outcome (signal, no signal, or inverse). The point of pre-commitment is that a null result becomes as publishable as a flattering one.
The measurement itself: for every wallet we scored, we snapshot the Copy Score, then 30 days later we replay a simulated copier who started at the snapshot — mirroring only positions the wallet opened in the window, counting only round-trips that closed inside it, net of modeled fees. We exclude windows where the wallet did nothing (a copier with nothing to mirror didn't "earn 0%" — there was no observation), and we grade on rank correlation, not averages, because averages over a few dozen wallets are dominated by outliers. The question is simply: did the wallets we scored higher go on to deliver better realized copier outcomes?
The result — no euphemism
At 30 days, they did not. Here is the live band table (the same one on /methodology) — the three score bands that clear our n ≥ 30 sample floor, counting only outcomes where the wallet actually traded in-window (a single wallet scored below 30 is omitted; all 336 active outcomes feed the correlation below):
| Copy Score band | Outcomes (n) | Median 30d return | Mean 30d return | % positive |
|---|---|---|---|---|
| 75–100 | 32 | 0.00% | −6.71% | 6.3% |
| 50–74 | 121 | 0.00% | +0.71% | 38.0% |
| 30–49 | 182 | −0.24% | +4.85% | 24.2% |
The headline statistic is the rank correlation: Spearman ρ = −0.001 (n = 336). That is zero to three decimal places. The 7-day read tells the same story on a much larger sample (ρ = −0.039, n = 6,162), so this isn't a one-horizon fluke.
Read the table carefully before drawing the wrong conclusion. The top band's −6.71% mean looks alarming, but its median is 0.00% and only 6.3% of its wallets finished positive — because of 32 outcomes there, four heavy losers (roughly −46%, −42%, −42%, −23%) supply about 71% of the entire band's loss, sixteen landed at exactly zero, and just two finished up. Trim those four and the band's average is ≈ −2.2%. A mean over ~25 wallets is not a stable number; that's the whole reason we grade on rank correlation, and on rank correlation there is simply no relationship — up or down — between the score and the outcome on this cohort.
One more honest caveat visible in the table: the bands differ in composition, not just score. Farming-flagged wallets are capped in score, so they concentrate in the lower bands — 0% of the 75–100 band carries a farming risk flag, versus about three-quarters of the 30–49 band. So the lower band's positive average isn't "low scores predict high returns"; it's a different, mostly-flagged population sampled over one particular month.
Why an honest model can land here
A ρ of zero on the first read is disappointing but not surprising, and it does not mean the model is broken. Four reasons it can happen to a model built in good faith:
- The v1 weights were never fit to outcomes. The Copy Score is a documented heuristic — sensible priors about edge, risk-adjusted return, drawdown, consistency, and farming — that we've said from day one is unvalidated until data like this arrives. This is the data arriving. It grades the priors; it doesn't indict the framework.
- The realized metric understates patient wallets. It counts only round-trips that closed inside the window. A disciplined wallet holding good positions that haven't resolved shows up as 0.00% — which is exactly why half the top band is a flat zero, and why we also track a forward-looking mark-to-market companion (itself only mildly negative, and explained by open positions marked mid-move, not by skill).
- One month is one regime. 336 outcomes over a single month is a thin, correlated sample — several bands rest on a few dozen distinct wallets. A rank correlation on that will move; the discipline is to re-run it monthly and look for persistence, not to over-read run one.
- The farming veto compresses the top. The cleanest, highest-scored wallets are few (the veto caps flagged records), so the band that most tests the thesis is also the smallest — 25 wallets — where noise dominates.
What we're doing about it — and what we're not
Per the pre-committed decision tree, a ρ ≈ 0 read triggers a specific, boring response:
- We publish the number. This post, a dated changelog entry, and the live band table that anyone can recompute.
- We run the calibration job propose-only. It reads the now-cleaner outcome target and can propose a re-weighting — but a proposal ships only if it improves a held-out check and clears a deliberate operator promotion. On a thin, outlier-heavy, single-month cohort, the honest default is to promote nothing until a second read agrees.
- We hold the weights. We did not retune the model in response to this read. Retuning a documented heuristic to fit one noisy month is exactly the fit-on-noise mistake the whole exercise exists to avoid.
What we are explicitly not doing: quietly deleting the table, moving the goalposts, or relabeling "no signal" as "early promise." The Copy Score keeps its "documented v1 heuristic, openly stated as unvalidated" description until a retuned or vindicated model earns better across multiple monthly reads.
The standing offer
The band table on /methodology#track-record recomputes live on every sync, and the methodology documents the exact join, band cutoffs, and sample floor — so anyone can re-run this check against our own data and hold us to the next read. That's the point of publishing a null result: a scoring product that only shows you its wins hasn't shown you anything. The Copy Verdict still computes the full five-factor read and farming risk per wallet — as a due-diligence lens on a public record, not a promise of returns.
Figures are a point-in-time pull (30-day outcomes matured by 2026-07-01; n = 336 active), computed by the current model and recomputed on every sync; they'll move as coverage grows and the model is recalibrated in public. CopyGrade is analysis-only — it never executes trades or holds funds. Not financial advice.