Provenance
Football data is presented with Opta as its originating source. Attribution does not imply partnership, sponsorship or endorsement.
Methodology
We document provenance, preparation, criteria and limits so analysis can be interpreted in context.
Football data is presented with Opta as its originating source. Attribution does not imply partnership, sponsorship or endorsement.
Available information is structured so matches and variables can be analysed consistently.
Statistical procedures produce probabilities and confidence signals, not a promise of outcome.
The same dataset, version and parameters can reproduce a software output. The real match remains uncertain.
Every historical reading needs a period, sample, definition and update date.
Review the published historyThe ensemble
THE EDGE combines six independent statistical models. Each measures something different about the match; none decides alone.
All six models compute their own probability for each match. THE EDGE combines them into a final probability using weighting recalibrated against already-settled outcomes — not a simple average: each model weighs in proportion to how well it has performed historically.
With the Brier Score, which measures how close the estimated probability was to the real outcome, and with calibration: if the system says 70% many times, does that outcome happen close to 70% of the time? Both metrics are computed only over already-settled predictions, never over future matches.
Every published prediction is recorded before the match is played. Once settled, the result is folded into the aggregate metrics on /resultados without being excluded afterwards. The recent-hits examples shown separately are curated highlights; they do not replace the full history.
Probabilities summarise available information; they do not remove the real uncertainty of a match. Data coverage varies by league and period, so an estimate is not equally solid in every case. No Choco Bets prediction guarantees a result.
Real accuracy and calibration data: performance report and calibration report.
MEGAFIJAS
MEGAFIJAS doesn't look for picks that declare a high number: it looks for subtypes whose real, already-settled accuracy is high. It scans every match of the day and only shows what clears the four filters below, in this order. Most days that means showing little, or nothing.
Current generator status
The system measures a real ~78-80% accuracy today in its best band, against a ~48% baseline for the rest of the product. MEGAFIJAS filters on that measured ceiling, not on a promised number. We are actively working to raise the generator's ceiling -- progress is published here, measured on a 30-day rolling basis, without exception.
Only picks from sources with real settled volume enter (minimum 100 in 30 days). No aggregate hit-rate requirement: mixing low- and high-declared-confidence picks into one number says nothing on its own.
Every market + selection + line combination is evaluated with a 95% Beta-Binomial credible lower bound over the real outcome -- if it doesn't have enough of its own sample (30+), it widens to "same market, all lines" and then to "the whole category", never mixing opposite selections. It must reach 0.65 at minimum, and each individual candidate's probability also passes through a calibration curve (declared→real) that corrects the model's bias.
Of that level's last 10 settled results, at least 6 must have hit.
At most one pick per market and match, at most two per match, and a daily cap of 2 to 3 selections in total.
Why calibration + Beta-Binomial, not the declared probability?
The probability each model declares is measurably overconfident at the high end: over the full settled history, the declared 90-95% band actually hit between 81% and 87%, not the 90-95% it claimed. That is why MEGAFIJAS does not filter on what the model says, but on a calibration curve trained on that same history (declared→real) combined with a Beta-Binomial credible lower bound over what actually happened -- the two unbiased figures that exist today.
Measured state
The section is in its calibration window: there isn't yet enough of its own sample for a reliable 30-day rolling figure. The source and subtype locks are already active from day one.
What we don't negotiate
Transparency
When a real data problem affects what's published, it gets documented here with its scope, its measured impact and what changed so it doesn't repeat the same way -- whether or not it stays around over time.
On September 22, 2026 we detected that an internal process was grouping different clubs under the same catalog identifier, mixing their match history in the calculation of some predictions. The cause was an identity write with no prior coherence check: before attaching a new club to an existing identifier, the process did not verify whether that identifier already belonged to another club.
We audited the complete universe, not a sample: 105 matches across 37 real clubs had some prediction generated with this mixed history -- 569 predictions in total, between July 5 and September 20, 2026. Of those, 72 matches met the conditions to appear in the public "featured hits" showcase (no account needed), and 8 individual predictions were reachable by direct link outside that showcase. Both surfaces are already corrected -- see "What we did" below.
"Engine" measures only the deterministic engine's predictions (MOTOR Choco Bets, provider='engine'); "combined" measures every prediction in the system, including the complementary models -- they are not the same number shown twice. We recalculated every aggregate metric shown on /resultados and /metodologia with and without these 569 predictions. The movement was marginal across all four: engine accuracy (78.97% → 78.98%), engine calibration (34.60 → 34.58), combined accuracy (71.86% → 71.80%) and combined calibration (25.58 → 25.42) -- all with a difference under 0.2 points. The public performance numbers were not materially distorted by this incident.
September 22: detected. September 23: we disabled the unvalidated identity-writing mechanism and the history provider that exposed the mixed data to predictions; the pick generator was stopped. September 23: we deployed a guard that rejects, before writing, any second club competing for an identifier already assigned -- tested against the 11 known groups and 3 legitimate cases that should not be blocked. September 23: we fixed both public surfaces (the featured-hits showcase and the predictions demo) to exclude these matches while the separation is in progress. Before the history provider and pick generator are reactivated, three conditions must be met: the guard tested against the full catalog (not just the already-known cases), the 11 groups separated into their real clubs one by one, and a verification run confirming zero new groups.
Before this incident, "audited universe" meant "the tables we already knew to check" -- the first measurement covered one table, and a second table, with more than double the affected matches, was left out until someone specifically asked about it. So that this doesn't depend on the auditor's memory, every table that consumes club identity history gets registered in a single consumer catalog. It is now established that any change adding a new consumer of the history provider must be registered there; the registry is checked at PR review.
Estimated close: October 15, 2026 (estimated date; updated here if it changes).