Le SOPR, pour Spent Output Profit Ratio, compare ce que valaient en dollars les bitcoins dépensés sur une période donnée quand ils ont bougé avec ce que valaient ces mêmes coins à leur création. Une valeur de 1,02 signifie que les sorties (outputs) dépensées sur cette période valaient, prises ensemble, 2 % de plus à la dépense qu'à leur création.
La définition s'arrête là, et elle est plus étroite que son nom ne le laisse croire. Le « profit » dont il est question est une comparaison comptable entre deux références de prix, pas la trace d'une vente. Des coins bougent pour toutes sortes de raisons : un paiement, une opération interne d'une plateforme d'échange, quelqu'un qui déplace des fonds entre ses propres wallets. Le SOPR les compte tous. Gardez cela en tête et l'indicateur devient utile. Oubliez-le, et il se met à raconter des histoires que les données ne soutiennent pas.
Que mesure le SOPR de Bitcoin ?
Le SOPR ne regarde qu'une tranche de la blockchain : les coins qui ont été dépensés. Tout ce qui est resté immobile sur la même période lui échappe.
Qu'est-ce qu'une sortie dépensée ?
Bitcoin ne tient pas de soldes de compte. Le réseau gère des UTXO (unspent transaction outputs), c'est-à-dire des sorties non dépensées : des montants distincts de BTC, chacun verrouillé par un script et rattaché au bloc qui l'a créé. Une transaction consomme une ou plusieurs de ces sorties comme entrées et en crée de nouvelles. Une sortie consommée est dépensée et ne peut plus jamais servir (guide développeur Bitcoin : transactions).
Le point délicat : une sortie ne se dépense pas en partie. Imaginons que votre wallet contienne une seule sortie de 1 BTC et que vous envoyiez 0,2 BTC à quelqu'un. La sortie de 1 BTC est consommée en entier. La transaction envoie 0,2 BTC au destinataire et vous renvoie les 0,8 BTC restants, frais déduits, sous forme d'une nouvelle sortie de monnaie rendue. Pour le SOPR, c'est la totalité du 1 BTC qui entre dans le calcul, alors qu'un cinquième seulement a quitté vos mains. Le guide sur les bases de l'analyse on-chain détaille le modèle UTXO.
Quels coins entrent dans une valeur journalière ?
Uniquement les sorties dépensées à l'intérieur de la fenêtre. Sur CoinVett, cette fenêtre dure 24 heures : une valeur journalière du SOPR décrit les sorties consommées ce jour-là, et rien d'autre. Un coin qui dort en cold storage depuis 2017 n'a aucun effet sur le chiffre tant qu'il ne bouge pas.
L'échantillon change donc chaque jour : la valeur du lundi et celle du mardi décrivent deux ensembles de coins différents.
Comment se calcule le SOPR ?
Glassnode, l'un des fournisseurs de données on-chain les plus connus, définit le SOPR comme la valeur réalisée d'une sortie dépensée en USD, divisée par la valeur en USD de l'UTXO d'origine à sa création (Glassnode : SOPR). Pour une journée entière, on additionne les deux côtés sur l'ensemble des sorties dépensées, puis on divise :
SOPR = somme des valeurs en USD des sorties dépensées au moment de la dépense ÷ somme des valeurs en USD de ces mêmes sorties à leur création
Aucune de ces deux valeurs n'est inscrite sur la blockchain, qui enregistre des montants et des horodatages de blocs, pas des prix. Les montants en dollars proviennent d'un historique de prix BTC/USD, appliqué à la création et à la dépense de chaque sortie. La « valeur à la création » est donc le prix de marché de l'époque multiplié par le montant, pas ce que quelqu'un a réellement payé.
Un exemple hypothétique avec deux sorties
Les chiffres sont inventés pour garder un calcul lisible. Supposons qu'un jour donné, seules deux sorties soient dépensées, avec un prix de référence de 60 000 dollars ce jour-là.
- Sortie A : 0,5 BTC, créée quand le prix de référence était de 40 000 dollars. 20 000 dollars à la création, 30 000 à la dépense. Ratio de 1,50.
- Sortie B : 2 BTC, créée quand le prix de référence était de 70 000 dollars. 140 000 dollars à la création, 120 000 à la dépense. Ratio d'environ 0,86.
Faites la moyenne des deux ratios et vous obtenez à peu près 1,18, ce qui ressemble à une journée de gains. C'est pourtant la mauvaise méthode. Le SOPR divise les totaux : 150 000 dollars à la dépense contre 160 000 à la création, soit 0,94. La sortie B pèse quatre fois plus que la sortie A, c'est donc elle qui détermine le résultat. Additionner d'abord les valeurs en dollars revient à pondérer chaque sortie par sa taille, et c'est la seule lecture cohérente pour un indicateur agrégé.
Et 0,94 ne signifie pas que « le marché » a perdu de l'argent : dans ce minuscule échantillon, la plus grosse sortie avait simplement été créée à un prix de référence plus élevé. Rien de plus.
Qu'est-ce qui change avec le SOPR ajusté ?
Glassnode publie aussi un SOPR ajusté, l'aSOPR. La formule est la même, mais toutes les sorties âgées de moins d'une heure au moment de leur dépense sont écartées (Glassnode : aSOPR). Les sorties très jeunes, souvent de la monnaie rendue ou des coins déplacés d'une adresse à l'autre, tournent presque mécaniquement autour de 1 : en une heure, le prix bouge à peine. Les retirer déplace le résultat.
Les deux séries ne sont pas interchangeables : vérifiez laquelle un graphique affiche.
Que signifient les valeurs au-dessus, en dessous et autour de 1 ?
Au-dessus de 1, en dessous de 1, autour de 1
Sur le plan arithmétique, la lecture est simple :
- Au-dessus de 1 : les sorties dépensées sur la période valaient, au total, davantage à la dépense qu'à leur création.
- En dessous de 1 : elles valaient moins.
- Autour de 1 : les deux valorisations se rejoignent à peu près, ce qui peut arriver quand une bonne partie des coins déplacés a été créée récemment, à des prix proches.
Aucune de ces lectures ne dit comment s'en sort une personne en particulier. Un SOPR de 1,05 est compatible avec des milliers de petites sorties dépensées en dessous de leur valeur de création, pourvu que quelques grosses sorties anciennes aient bougé avec un fort gain. Comme une seule grosse sortie peut peser plus que des milliers de petites, une journée peut basculer sur une poignée de transactions.
Vous trouverez des commentaires qui interprètent les mouvements autour de 1 comme un signal de marché. C'est une interprétation ajoutée au calcul, et le calcul ne justifie aucune règle de timing.
Une valeur isolée ou une série
Une valeur journalière est un instantané d'une seule fenêtre. Avant d'y lire quoi que ce soit, vérifiez la date des données et la fenêtre couverte.
Une série apporte plus de contexte qu'un jour isolé, puisqu'elle montre si une valeur sort de l'ordinaire ou reste dans sa fourchette habituelle. Mais le contexte n'est pas une prévision : une suite de jours au-dessus de 1 décrit le passé et ne dit rien de fiable sur le lendemain.
Ce que le SOPR ne peut pas vous dire
Bouger n'est pas vendre
C'est la limite la plus importante. Une sortie dépensée prouve qu'une transaction l'a consommée. Elle ne prouve ni un changement de propriétaire, ni une vente sur une plateforme, ni un gain arrivé sur le compte bancaire de qui que ce soit.
Prenez une plateforme d'échange qui regroupe des milliers de petites sorties de dépôt sur une seule adresse de cold storage. Les coins restent chez la même entreprise, et pourtant chacune de ces sorties compte comme dépensée et se voit valorisée au prix du jour face à son prix de création. Si les dépôts datent de plusieurs mois et que le prix a monté entre-temps, le SOPR augmente. Rien n'a été vendu. Même chose quand un détenteur de longue date transfère ses coins vers un nouveau hardware wallet : les anciennes sorties sont dépensées, de nouvelles sont créées, et leur prix de création repart du niveau actuel.
L'inverse est vrai aussi. Entre clients d'une même plateforme, un échange ne modifie en général que les registres internes de celle-ci, sans toucher à la blockchain ; la BCE parle alors de transactions off-chain (BCE, Economic Bulletin 5/2019). Une bonne partie des ventes réelles échappe donc au SOPR. La formulation exacte est « des sorties ont été dépensées avec un gain agrégé », et non « les investisseurs ont pris leurs bénéfices ».
Plusieurs fournisseurs, plusieurs versions
Le SOPR est un concept, pas une norme unique. CoinVett lit la série sopr_24h du Bitcoin Research Kit (BRK), un logiciel open source qui calcule des indicateurs on-chain à partir d'un nœud Bitcoin (BRK sur GitHub). D'après la documentation de BRK, la série rapporte la valeur à la dépense à la valeur à la date de création, pour toutes les sorties dépensées sur les 24 dernières heures (BRK : sopr_24h). La source privilégiée est un nœud auto-hébergé ; à défaut, l'instance publique de BRK sur bitview.space prend le relais (méthodologie de CoinVett).
Même idée que chez Glassnode, pas forcément la même implémentation : sources de prix, limites de journée et cas particuliers peuvent différer. Un écart à la troisième décimale ne rend aucun des deux graphiques faux.
Lire le SOPR de Bitcoin sur CoinVett avec les autres données
La page Bitcoin affiche le SOPR à côté du MVRV, du NUPL et du prix réalisé (Realized Price), avec la date des données, une fourchette sur 30 jours et la source de la mesure. Si la synchronisation n'a pas de valeur récente, le chiffre peut manquer ou être dépassé : regardez la date avant le nombre.
Les quatre indicateurs mesurent des choses différentes. Dans le bloc on-chain de la page Bitcoin, ils sont donc présentés côte à côte au lieu d'être fondus dans un score unique :
- Le SOPR décrit les sorties dépensées sur une fenêtre de 24 heures.
- Le prix réalisé est le prix de revient de l'offre entière, établi selon le moment où chaque coin a bougé pour la dernière fois.
- Le MVRV rapporte la valeur de marché à cette valeur réalisée.
- Le NUPL exprime le gain ou la perte latente de l'offre entière par rapport à la valeur de marché.
Quand le SOPR et le MVRV semblent aller dans des directions opposées, c'est en général parce qu'ils portent sur des ensembles de coins différents, pas parce que l'un des deux serait défaillant. En tirer un signal de trading reviendrait à prêter aux données ce qu'elles ne contiennent pas.
Le SOPR répond bien à une question précise : comment les sorties dépensées sur cette période étaient-elles valorisées par rapport à leur création ? Qui a vendu, pourquoi les coins ont bougé, où va le prix : ce sont d'autres questions, et le chiffre n'y répond pas.
Questions fréquentes
Un SOPR supérieur à 1 prouve-t-il que des bitcoins ont été vendus avec un bénéfice ?
Non. Il indique seulement que les sorties dépensées sur la période valaient, au total, davantage à la dépense qu'à leur création. Ces sorties comprennent des transferts vers soi-même, de la monnaie rendue et des opérations internes de plateformes. Savoir si quelqu'un a vendu, et à quel prix de revient personnel, est impossible à partir de ce chiffre.
En quoi le SOPR diffère-t-il du MVRV et du NUPL ?
Le SOPR ne regarde que les coins dépensés sur une fenêtre donnée ; le MVRV et le NUPL décrivent l'offre entière, à partir de la valeur réalisée de tous les coins. Les guides consacrés au MVRV et au NUPL les expliquent en détail.
Le SOPR de CoinVett est-il le même que l'aSOPR de Glassnode ?
Non. CoinVett affiche la série sopr_24h du Bitcoin Research Kit. Selon la documentation de BRK, elle utilise toutes les sorties dépensées, y compris celles de moins d'une heure. Le filtre d'une heure est ce qui définit le SOPR ajusté (aSOPR), la variante que documente Glassnode. BRK calcule avec la série asopr_24h sa propre version, que CoinVett n'affiche pas.
Avertissement : ces chiffres décrivent des données on-chain historiques ; les sources sont liées dans le texte. À titre d'information uniquement, il ne s'agit pas d'un conseil en investissement.