🎫

リスナーエンゲージメントを高めるMembership NFTについて

2022/08/19に公開

はじめに

株式会社PitPaはポッドキャスト番組を運営するメディア企業になります。
その運営している番組の1つである、JOI ITO Podcast 変革への道はNFTを活用したリスナーエンゲージメントのプログラムを運用しています。
今回はその仕組みと効果について共有します。

JOI ITO Podcast 変革への道について

このポッドキャストは、元MITメディアラボ所長で、現在は千葉工業大学変革センター所長を務める伊藤穰一さんと運営しているメディアです。
ポッドキャストを軸に、今ではYoutubeblogなどマルチにメディア展開しており、国内外問わず人気な番組になっています。
リスナーを集めたDiscordコミュニティではweb3に関する様々な議論が行われ、今回のMembership NFTもこのコミュニティから生まれました。

Membership NFTについて


Membership NFT
https://prtimes.jp/main/html/rd/p/000000013.000037448.html

毎週配信される番組内では、配信後1週間だけ使えるシークレットキーワードをコンテンツ内でお伝えしていきます。
NFT保有者は、配信後1週間以内に特設サイトにウォレット接続し、
キーワードを打ち込むことで、番組内で流通する独自トークン「HENKAKU」を獲得することが可能です。
貯まったトークンは、数値としてMembership NFT上に表示され、ある一定量貯まると、例えばPodcast Masterなどの称号が与えられる仕組みとなっています。
獲得した称号に応じて発生するイベントも今後企画しており、ファンエンゲージメントを高める設計となっています。
また、トークンは番組コミュニティ内で提供されるサービスの支払いに当てることが可能となっています。
例えば、HENKAKUコミュニティへのInvitaionを買うこともできます。

HENKAKU Invitation

Listen To Earnについて

このMembership NFTはオープンソースになっています。具体的なコードが気になる方はこちらを参照ください
ここでは聴いてトークンを稼ぐ「Listen To Earn」の機能だけ紹介します。
必要なメソッドは2つ。キーワード設定とキーワードのチェックです。

キーワードの設定

    // この関数のコードを実行する前に関数修飾子'onlyOwner'が実行される
    function setKeyword(bytes32 _keyword, uint256 startedAt) public onlyOwner {
        weeklyKeyword = PodcastKeyword(startedAt, _keyword);
    }

このonlyOwnerは関数修飾子(modifier)というもので、指定の関数が実行される前に呼び出されます。
onlyOwnerはOpenZeppelinというフレームワークを利用しており、Ownableというコントラクトに定義されています。
https://docs.openzeppelin.com/contracts/2.x/api/ownership#Ownable
このModifierを関数につけることでコントラクト作成者しかこの関数を実行できなくなります。
このキーワード更新は運営側だけが実行できる必要があるので、onlyOwnerを利用しています。

ちなみにこのOwnerはtransferOwnershipで新しいアドレスに移譲することができます。
https://docs.openzeppelin.com/contracts/2.x/api/ownership#Ownable-transferOwnership-address-
PitPaではこのアドレスをマルチシグのGnosis Safeに設定し、
チームで運用できる状態にしています。
Gnosis Safeについてはまたどこかで紹介しようと思います。

キーワードのチェック

    // この関数のコードを実行する前に関数修飾子'onlyHolder'が実行される
    function checkAnswer(string memory _keyword) public onlyHolder(msg.sender) {
        require(
            weeklyKeyword.keyword == keccak256(abi.encodePacked(_keyword)),
            "WRONG ANSWER"
        );
        require(
            userAttribute[msg.sender].answeredAt <= weeklyKeyword.startedAt,
            "ALREADY ANSWERED"
        );
        userAttribute[msg.sender].point += rewardPoint;
        userAttribute[msg.sender].answeredAt = block.timestamp;
        emit CheckedAnswer(msg.sender, userAttribute[msg.sender].answeredAt);
    }

リスナーが入力するキーワードは、一度Keccak256関数を使って文字列をbytes32型にハッシュ化して比較する必要があります。
あとは、二重トランザクションを防ぐために、タイムスタンプを保持します。

Membership NFTのメディア事業に対する効果

メディア事業はどれくらいアクティブなユーザーがいるか、DAUやMAUといった数字がとても重要なKPIになります。
アクティブユーザー数を伸ばしていくためには、新規のユーザーをどれだけ離脱させないかのリテンション率が重要なキーとなります。
PitPaのメディア事業でも7daysや30daysのリテンション率は重要なKPIとなっています。
今回のMembership NFT保有者と非保有者のリテンションチャートを比較してみました。

30daysで比べると30%ほど改善幅が見えた

新規で100人リスナーが流入したと仮定して、Membership非保有者だと大体1ヶ月後40人しか残らないところ、Membershipを持たせると70人残るという結果を得ました。
ただこれはかなり恣意的な見解になります。Membership NFTを取得した人はそもそもロイヤルティの高いリスナーの可能性があり、この比較は何の価値ももたないという解釈もできます。
一方で、もう少し分析を進めてみると、例えば12週連続でトークンを獲得している(12週欠かさず聴き続けている)リスナーがいることが可視化できて、
リスナーへのエンゲージメントという点で、多少なりとも貢献しているのではないかと考えています。

https://dune.com/queries/833376/1457006

DuneというツールはブロックチェーンにあるデータをSQLをつかって解析できるツールです。BigQueryをイメージして貰えば良いです。
少し脱線しますが、ここに書いたクエリは誰でも参照可能で、透明性の高いデータであると示すことができます。これはweb3の利点の一部だと考えています。
旧来のweb2メディアが出す数字は良くも悪くもブラックボックスなことが多く、この透明性はメディアに対する信頼性・健全性を担保する1つの手段になると考えています。
PitPaではこのように、新しいテクノロジーを応用してメディアのあるべき姿を今後も探求していきたいと思っております。

最後に

PitPaでは web3やメディア事業に興味のあるエンジニアの方とお話できればと考えてます。まだ発表できていないプロジェクトもあるので、ぜひお気軽に代表の石部にご連絡いただけたら幸いです。

▼石部のTwitterアカウントはこちらです。DMでお気軽にご連絡ください!
https://twitter.com/isbtty7

▼【ポッドキャスト公開中!〜PitPaの創業から現在まで〜】
代表の石部より、PitPa創業の話から現在取り組んでいるポッドキャスト事業・Web3事業の現在とこれからについてトークしました。ぜひこちらもご拝聴いただけますと幸いです。
https://open.spotify.com/show/2slv3BafA5c32038qFGYis

PitPa Tech Blog

Discussion