← Back to app
◆ MODEL CHANGE LOG

How the model has changed

Rotator's scoring engine is not fixed. When it changes, the numbers it produces change with it — and sometimes the published accuracy counter has to restart, because an old score and a new one are not measuring the same thing. This page lists every change, what it moved, and what it did not.

01Why this page exists

The counter on the track record page has restarted several times, all of them in September 2026. Without an explanation that looks like a tool hiding a bad run, so here is the explanation.

Rotator publishes a running accuracy figure. That figure is only meaningful if every call inside it was produced the same way. Change how the model scores, and the calls before and after are two different measurements — averaging them into one number would report something that was never true of either.

So the record restarts instead. It costs the history, and it is still the honest option. The retired engine's final figure is kept and shown separately rather than quietly folded in.

02When the counter restarts

Two things force a restart. Nothing else does.

The test

1. A score changed meaning. The same number now describes something different, so old and new calls cannot share an average.

2. The published selection changed. The scores are identical, but a different set of assets reaches the shortlist — so the calls being graded are drawn from a different population.

Most releases below moved no score. They were built that way deliberately: a change that only adds information, without touching any existing number, leaves the record intact and comparable. That is worth designing for, and it is why 2.2.0 was built as a separate classification rather than as another term inside the score.

Two exceptions, stated plainly. 2.11.0 changed which coins can be selected, and 2.12.0 moved the insight score. By the test above, both should have restarted the counter. The owner chose to keep it running instead, so the first 30-day results would not be pushed back again. Both entries below say so.

03The releases

2.0.0 5 SEP 2026 no score moved
A second model was built, measured, and not shipped

A redesigned scoring model was built alongside the live one and tested against 771 days of price history, measuring whether its scores actually related to what assets did next.

They did not — no better than the existing model, and on one measure worse. So it was not shipped. It still runs alongside the live model on every update and is recorded, unpublished, in case later evidence changes the answer. The live scoring was left untouched.

2.1.0 7 SEP 2026 score moved · counter restarted
A market-cap adjustment was doing the opposite of its job

Smaller assets carried a size adjustment meant to dampen their scores. Because of how it was applied, on assets already scoring negatively it raised the score instead of lowering it — moving exactly the assets it was meant to hold back toward the top of the shortlist.

It affected 145 of 191 tracked assets, so this was the normal case, not an edge case. Rewriting it changed 93 scores and moved 4 assets between bands. Assets in the mid-cap range were unaffected, exactly as expected — that zero is what confirmed the fix behaved as designed.

A 2.1.0 score is a different quantity from the one before it, so the counter restarted here.

2.2.0 8 SEP 2026 no score moved
The shortlist learned to say no

Until this release, an asset reached the rotation shortlist by scoring low and having fallen over the past month. Nothing checked whether the fall had stopped, whether the weakness was confirmed by anything other than past performance, or whether the asset had already moved sharply in the other direction.

On one recorded day the shortlist included an asset that had risen 46.8% in 24 hours. Every other component scored it well, and nothing was watching the one number that mattered.

Five checks now run before anything is presented as a new rotation candidate: an extreme recent move, whether a pullback exists at all, whether the decline is accelerating, whether RSI confirms the weakness, and whether prices have steadied. Assets that fail are still shown and still scored — they are labelled rather than promoted.

No score, ranking or band changed. The shortlist narrowed: on live data it went from nine candidates to three. Two of those removed had actually risen over the previous week and were on the list purely because their 30-day figure was negative.

2.3.0 8 SEP 2026 no score moved counter restarted
The last calculation left the browser

Part of the model still ran in your browser rather than on the server. That had two consequences worth stating plainly. The number was not the same for every visitor — it was calculated on a different scale depending on which assets you happened to be tracking. And where real RSI was unavailable, it substituted a stand-in derived from an asset's ranking against the others, which is not the same measurement and should not have carried the same name.

All of it now runs once, on the server, from real indicator data. Every visitor sees the same number, and the stand-in has been removed rather than kept as a fallback.

No score and no band changed in production — checked against live data before and after the update. The counter restarted here for 2.2.0's reason, not this one: the shortlist is now drawn from a stricter selection than the calls recorded the day before.

2.4.0 9 SEP 2026 no score moved
Every update now says what changed since the last one

Each update now lists which assets moved rank, moved score, changed band or changed class since the previous update. This is the data behind "what changed" on the main page, and the same list feeds the Telegram channel and alerts, so they can never disagree with each other.

No score, ranking or band changed. Found while building it: two different coins both report as FRAX, so the comparison is keyed on the coin itself, not its ticker. Keyed on the ticker, an identical rerun had reported a 9-point move that never happened.

2.4.1 10 SEP 2026 no score moved
The movers list stopped leading with untradable coins

The biggest mover in one update was a coin with $686 of daily trading volume, and it was leading the brief. Movers already excluded for being untradable are now left out of the list. A coin excluded for another reason, for example being delisted on one exchange while trading over $100 million a day elsewhere, is still reported.

2.5.0 10 SEP 2026 band moved · counter restarted
A label stuck to assets long after their score had left

To stop assets flickering in and out of a band, a label is held for a while after the score leaves it. That hold ran all the way back to 50, so an asset that entered the buy band at 38 kept the label until 50. Nobody chose those distances, and they changed with the market cycle.

Across 501 stored updates, 41% of published SELL labels and 14% of published BUY labels were on assets whose score no longer met the line the label claimed. The hold is now 4 points past whichever line the asset crossed, the same in every cycle. Bands moved, so the counter restarted.

2.6.0 10 SEP 2026 score moved
The supply reading no longer depended on one missing field

How much of a coin's supply is already unlocked was read from its maximum supply only. 55 of 166 assets have no maximum, so they all took the same flat penalty: a coin with 100% in circulation scored the same as one with 25%. The reading now falls back to total supply, which every asset has.

Scores moved for those 55 assets, by +7.7 points on average (from −15 to +10). The other 111 did not move.

2.7.0 10 SEP 2026 no score moved
Futures data was added, and given no weight on purpose

Funding rates, open interest, the long/short ratio and taker buy/sell volume from Binance futures were brought into every update for the first time. They are shown, but they count for nothing in the score: there was not yet enough history to show that they predict anything, and in the few days available, funding pointed one way and then the other.

A test runs the same day with and without the futures data and requires identical scores, rankings and bands. If the data is ever given weight, that test has to change, and the change has to come with the measurement that justifies it.

2.8.0 11 SEP 2026 selection changed · counter restarted
Coins Binance may delist were hidden on the page, but not in the alerts

Binance's Monitoring Tag marks a pair that still trades but is under review for possible delisting. The website already hid these coins, but the engine did not, so the alerts would have sent them. Across every stored update, 308 of 685 buy candidates (45%) carried that tag.

The tag is now an exclusion inside the engine, so the page, the stored data, the alerts and the bot all share one answer. The tracked list also grew from 194 to 250 assets. The selection changed, so the counter restarted.

2.9.0 11 SEP 2026 score moved · selection changed
The unlock penalty was pushing coins onto the buy list

Bug fixed. A coin with a large token unlock due within 30 days lost 15 points. In this model a low score is the buy side, so the penalty pushed those coins toward being recommended. It had never fired, because no unlock data existed. When a real unlock feed arrived, the first coin it touched went from neutral (50) to the buy list (35) purely because of the penalty.

An unlock above 5% within 30 days now keeps a coin off the buy list instead, and takes no points from the score. A coin you already hold is still scored and reported. The coin window shows the unlock percentage and date, and says "no schedule" where none is known, rather than a dash that would look like "none due".

2.10.0 15 SEP 2026 no score moved
A flag for when the whole market is oversold

Each update now records whether the market as a whole is oversold: the share of tracked coins whose 4-hour RSI is below 20. It describes the market, not any single coin, and is shown as context only.

No score, ranking, band or class changed: a test runs the same day with and without the flag and requires identical results. The counter did not restart.

2.11.0 1 OCT 2026 no score moved counter not restarted
The coin list follows the market, and thin coins are listed but not put forward

The tracked list is now rebuilt every week from the market. A coin that trades under $5 million a day on average, or one of three meme fillers in the list, is still listed and scored, but is never put forward as a leader or as a coin that may be turning.

No score, ranking or band changed. The new list does change which coins can be selected, which would normally restart the counter. The owner chose to keep it running, so the first 30-day results still arrive from 11 October.

2.12.0 5 OCT 2026 insight score moved counter not restarted
The insight said the opposite of what the numbers showed

Bug fixed: this week was compared with the wrong week. The insight compared an asset's last 7 days with its 14-day and 30-day changes. Those two figures already include the last 7 days, so the comparison was mostly measuring the week before, with the sign flipped. One asset up 71% in a week, after 19% the week before, was labelled "Momentum Decelerating". On 5 October, 117 assets that rose over the week were labelled "Weakening Trend". It now compares the last 7 days with the 7 days before them, and with the average weekly pace of the last 30 days. Both numbers are printed next to the label, so you can check it yourself.

Bug fixed: RSI words that sounded like a direction. The insight called an RSI of 38–45 "Cooling" and 55–62 "Warming", which reads as "falling" and "rising". The label only ever looked at the level, never at how RSI had moved, and one asset was "Cooling" while its RSI had climbed from 34.8 to 42.3. It also used different band names from the RSI panel: 72 was "Hot Zone" in one place and "overbought" in the other. The insight now uses the panel's words (oversold, low, neutral, elevated, overbought), and they describe the level only.

Smaller fixes. "MACD Bullish Cross" described a state, not a cross that just happened, and is now "MACD Above Signal". In the coin window, the RSI line now ends at the live reading shown above it, and its caption gives the last 7 days and the whole recorded period separately, each with its own numbers.

The insight score moved on most assets, and through the insight's small nudge it shifted 7 of 177 effective scores in the reference test. The main score, the rankings and the thresholds did not change. The counter was kept running: the owner chose not to restart it for this fix.

04What has not changed

SinceUnchanged across every release
momentumThe 7 / 14 / 30-day ranking blend at the core of the score. Re-weighting it was tested and moved the ordering so little it was left alone.
eligibilityThe liquidity floor, market-cap sanity and delisted-pair exclusion. Exclusions have been added since (Binance's Monitoring Tag in 2.8.0, pending unlocks in 2.9.0, thin-volume coins in 2.11.0); none of the original ones was removed or loosened.
dataPrices and market data from CoinGecko; exchange and indicator data from Binance. Sources have been added since (Binance futures in 2.7.0, DefiLlama unlock schedules in 2.9.0); none was replaced.

One thing that did change: how a call is graded. Until 17 September 2026 a call counted as right if the price cleared a fixed bar (1.5% to 5% by market cap) within 7 to 14 days. A blanket call on every coin cleared those bars 66–72% of the time, so they proved little. Since then every call is judged by whether the coin beat the median tracked coin over the next 30 days, which a coin flip wins half the time. This is part of the track record page, not the engine, so it has no version number above.

05Where the numbers on this page come from

Every figure quoted here was measured, not estimated. Model changes are tested against a frozen day of real market data before release, then checked again on live data afterwards — comparing the update before against the update after, so what moved is observed rather than assumed.

One correction worth recording. The retired engine's final accuracy was published as 66%. Re-grading the stored calls under the same rules gives 76.2% across 863 calls. The difference was a fault in how the page loaded price history, not in the calls themselves — it had been under-reporting. The figure now shown is the re-graded one.

Accuracy is graded on the best price reached inside the 7–14 day window, so read it as an upper bound rather than a typical outcome.