サービス

冷凍総菜のおまけ抽選に人生を浪費し過ぎていたので自作サービスで改善した件

宅配の冷凍総菜の「旬すぐ」を定期的に買っているのですが、パッケージのQRを読み取るたびに流れる抽選ルーレットの演出を眺めている時間が、どう考えても人生の無駄遣いだと思えてきました。

【公式】旬をすぐに|国産ハイブランド冷食(旬すぐ)
国産ハイブランド冷凍食品。定期購入は6千円以上で送料無料。食品添加物 82 種類を不使用で安心です。インジェクション・結着剤を使用していません。

そこで、パッケージのQRをまとめて読み取って、クーポンコードだけを一覧で取り出す 旬パス というツールを作りました。

旬パス
冷凍食品ブランド「旬をすぐに」のパッケージQRからクーポンコードをまとめて取り出す非公式ツールです。
旬パスは個人が作成した非公式のツールです。
旬すぐの運営とは一切関係がなく、提供・許諾・推奨を受けたものでもありません。
スポンサーリンク

通常の手順を分解してみる

旬すぐの冷凍総菜には、パッケージにQRコードが印字されています。これを読み取ると抽選が行われて、当たりだと冷凍ごはんと引き換えできるクーポンコードがもらえる、という仕組みです。

ごはんはありがたいので、タダならもらっておきたいところ

やることは単純なのですが、実際の流れを分解すると以下のようになります。

1. QRを読み取ってページが開くまで:約10秒

スマホのカメラをQRに向けて、リンクをタップして、ページが表示されるまで。ここがなぜか高確率で読み込みに失敗します。失敗するとリロードするので、実際にはもう少しかかっている気がします。

読み込み失敗の原因は結局わからずじまいです。
回線側なのか、サイト側なのか、切り分けはしていません。

2. 抽選ルーレットの演出:約20秒

ここが本題です。ルーレットがくるくる回って、結果が確定するまで待たされます。

時々〇NE PIECEや北〇の拳などをイメージした茶番劇が流れることもある

結果はサーバー側ですでに確定しているはずなので、この20秒は演出以外の何物でもありません。待つだけなら、1回くらいは「まあ、こういうものか」で済む話です。

しかも、待たされる中身も良くありません。有名な少年漫画のキャラクターを思わせる格好をした人が、著作権に抵触すれすれのお粗末な茶番劇を演じる回があります。長いだけでも十分つらいのに、加えて不快でした。

一応、Chromeなら演出のムービーをロングタップするとファイル名が表示され、当たり外れが概ね予想できます。
これで10秒ほど短縮できるのですが、そのぶん操作が増えるので、毎回やるには面倒でした。
後述の計算では、この裏技を使わない通常の手順で数えています。

3. コードを控える:約15秒

当たりだったらクーポンコードが表示されるので、コピーしてメモアプリなりに貼り付けます。

合計すると 1個あたり約45秒。そしてこれを、買ってきた個数だけ繰り返します。

年単位で計算してみたら結構な数字になった

私は隔週で10個ずつ買っています。つまり年間で26回、260個。

45秒 × 260個 = 11,700秒 = 3時間15分

1回の配送分あたりで見ても、10個を順番に処理すれば7分30秒です。座って黙々とQRを読んではルーレットを眺める7分30秒。

「隔週10個」は私の消費ペースです。
買う量が多い人ほど、この数字はそのまま比例して増えます。

年3時間15分ということは、10年で32時間半です。丸一日以上をルーレットの前で溶かしている計算になります。さすがに作ったほうが早いと思いました。

旬パスを使うとどうなるか

旬パスは、QRを連続でスキャンして溜め込み、まとめて処理するという作りにしています。

flowchart LR
    subgraph s0_before["通常手順(1個ごとに繰り返し)"]
        direction TB
        s0_a["QRを読み取る<br/>約10秒"] --> s0_b["抽選演出を眺める<br/>約20秒"]
        s0_b --> s0_c["コードを控える<br/>約15秒"]
        s0_c -->|次の1個へ| s0_a
    end

    subgraph s1_after["旬パス(10個まとめて)"]
        direction TB
        s1_a["旬パスを開く<br/>約5秒"] --> s1_b["QRを連続スキャン<br/>1個あたり約3秒"]
        s1_b --> s1_c["まとめて実行<br/>あとは放置"]
        s1_c --> s1_d["Google Tasksへ一括登録<br/>約5秒"]
    end

    s0_before ~~~ s1_after

ポイントは、演出を待つ時間が「拘束される時間」ではなくなることです。

旬パスも旬すぐ側への問い合わせ自体は1件5秒ほどかかりますし、サーバーの負荷に配慮して1件ずつ順番に処理しています。ただ、実行ボタンを押したあとは画面を見ている必要がありません。放置して他のことをしていれば終わっています。

拘束される時間だけを数えると、10個あたりこうなります。

通常手順 旬パス
旬パスを開く 5秒
QRの読み取り 10秒 × 10個 3秒 × 10個
抽選演出 20秒 × 10個 0秒(放置)
コードの記録 15秒 × 10個 5秒(一括)
合計 7分30秒 40秒

年間に換算すると、こうなります。

通常手順 旬パス 差分
年間(260個) 3時間15分 17分20秒 2時間57分40秒
10年 32時間30分 2時間53分 29時間36分
30年 97時間30分 8時間40分 88時間50分

30年で約3.7日分。人生から3日以上が返ってきました。

冷凍庫に詰める際に一括スキャンして、段ボールを片付けてる間に抽選完了!

できること

旬パスの機能はこれだけです。

  • カメラでQRを連続スキャンする
  • QRのURLをテキストで貼り付けて一括処理する
  • 取れたクーポンコードを一括コピー、または Google Tasks へ書き出す

Google Tasks への書き出しは、クーポンの有効期限を忘れないようにするために付けました。結構使い忘れが発生しやすいので重要なポイントだと思っています。

使い方は、スマホで旬パスを開いてカメラを起動し、パッケージのQRを順番にかざしていくだけです。スキャンし終わったら実行ボタンを押して放置します。

カメラが使えない環境向けに、QRのURLをテキストで貼り付けて処理するモードも用意しています。

ご利用にあたって説明したいこと

非公式ツールなので、後ろ暗いところがないことは明示しておきたいと思っています。

抽選結果は書き換えていません。 当落は旬すぐ側のサーバーで確定しているもので、旬パスはその結果を読み取って表示しているだけです。クーポンを使用済みにする操作も行いません。

データは保存していません。 ブラウザから旬すぐへ直接アクセスすることはCORSの制約でできないため、旬パスのサーバーが通信を中継しています。そのためQRに含まれる商品コードとシリアル、取得したクーポンコードはサーバーを通過しますが、データベースを持たず、メモリ上で処理して応答後に破棄しています。ログにも出力していません。

このあたりは実際のコードで確認できるようにソースを公開しています。

GitHub - seizu-dev/shunpass: 旬すぐのパッケージQRを一括処理してクーポンコードを取り出す非公式の個人ツール。お問い合わせはIssuesへどうぞ。
旬すぐのパッケージQRを一括処理してクーポンコードを取り出す非公式の個人ツール。お問い合わせはIssuesへどうぞ。 - seizu-dev/shunpass
ライセンスは付与していません。閲覧・検証のための参照は自由ですが、再配布や複製デプロイは想定していません。

免責事項やデータの取り扱いの詳細は、アプリ内のページにまとめています。

旬パスについて
旬パスが何をするツールか、どのデータがサーバーを経由するか、免責事項をまとめたページです。

おわりに

当選確率は体感で20個に1個あるかどうか、当たっても248円の冷凍ごはんが1個です。この労力は本当に妥当なのかと前からずっと疑問だったのですが、計算してみたらやはりかなり損をしていました。

年260個なら当たりは13個ほど、金額にすると約3,200円。これを得るために3時間15分を使っていたので、時給に換算すると1,000円弱ということになります。旬パスなら同じ3,200円が17分20秒で手に入るので、時給換算では11,000円を超えます。

というより、45秒もかかるなら読み取る気にならず、スキャンしないままパッケージを捨てている人のほうが大勢いるのではないかと思っています。1個あたり4秒なら、捨てる理由はなくなります。

旬すぐのQRをまとめて抱えている方、あるいは面倒で捨ててしまっている方にこそ、使って時間の節約を実感できると思います。

なお、旬すぐ側の仕様変更で予告なく動かなくなる可能性はあります。そのときはまた記事にします。

以上!

コメント

タイトルとURLをコピーしました