前のページへ

日本商品ディシジョンチェーン

難しいのは、買うことでも売ることでもない

日本で中古品を仕入れて転売するとき、厄介なのは買うことでも売ることでもなく、その間の三十秒です。店頭に並ぶカメラの値札が 12000 円なら、その場で買うかどうかを決めなければなりません。

その判断に必要なものは実に具体的です。この型番は最近いくらで落札されているのか、説明文に「正常に動作する」と書かれているか、以前に仕入れたことがあるか、その一台は最終的にいくらで売れたか。情報はすべて存在していました。ただ、以前は三つの場所に散らばっていました。

三つのツールが、一工程ずつ受け持つ

  • 日本商品レーダー——ヤフオクの落札品と出品中商品を監視し、型番ごとに実際の価格帯を算出して、相場より明らかに安いものをスマートフォンへ送る
  • 店舗判断——出かける前にルートを組み、入店後はその型番が相場のどこに位置するかを確認する
  • 販売記録——仕入れたら一件、売れたらもう一件を記録し、コスト、実際の受取額、利益を明らかにする

三つのツールは同時に作ったものでも、同じ目的のために作ったものでもありません。完成してずいぶん経ってから、端と端がつながり、ちょうど一本のチェーンになることに気づきました。

けれど、使うときは三つに分断される

それぞれ単独では使えますが、合わせて使うと動作は三つに分断されていました。

ヤフオクで価格を見つけたら、二つ目のツールを開いてこの型番にいくら出せるかを調べる。商品を仕入れたら、三つ目を開いて帳簿に一件記録する。「この一台は以前にも仕入れたか、前回はいくらで売れたか」を知りたければ、三つの画面を行き来しなければなりません。同じ品物について三か所に不完全な記録が一つずつあり、互いの存在を知りませんでした。

店に立っているとき、この往復がいちばん致命的でした。

一つのパネルにまとめる

2026 年 8 月、三つのツールを一つのパネルにまとめました。

まとめたのは画面であって、データではありません。三つのデータは今も元の場所にあり、パネルが同時に読み取るだけです。複製も同期もないので、「二つのデータが食い違ったらどちらを信じるか」という問題そのものがありません。

商品

すべての商品を一つのページに並べ、上部でレーダー商品と自作商品を切り替え、その横でカテゴリーを絞り込みます。

レーダー商品:型番と価格帯の一覧

レーダー商品はレーダーが監視している型番です。各行の右側に価格帯があり、実線部分は落札価格の 25% から 75% の範囲、中央の目盛りは中央値、両端の破線はその場で計算する分布の裾を示します。実線部分とは異なる基準であることを、画面上にも明記しました。表全体で同じ対数目盛りを使うため、どの型番が高く、どれがばらついているかを一目で見分けられます。

成熟度は三段階で、判定条件も画面に直接書いてあります。「基準使用可」は価格帯が二倍以内でサンプルが三十件以上、「サンプル少」は同じく二倍以内だが十五〜二十九件、「ばらつき大」は価格帯が二倍を超えるか、サンプルが不足している状態です。

自作商品:仕入れ、売却、粗利の一覧

自作商品は自分で追加した品物です。レーダーとは無関係で相場基準がないため、その欄には仕入価格、販売価格、粗利を表示します。保有中 / 売却済みで絞り込み、粗利順に並べることもできます。

一つの型番の詳細

レーダー商品を開くと、まずその型番の台帳が表示されます。型番、ブランド、カテゴリー、ヤフオクと閑魚それぞれの検索語、検品ポイントです。その下の参考仕入価格は、現行基準の 25% 分位と 75% 分位を使い、データの締切日も示します。

一つの型番の台帳と参考仕入価格

相場データは一つのボタンの中に畳み、必要なときだけ開きます。展開すると状態別の四つの基準——全件、動作確認済み、記載なし、問題あり——が表示され、それぞれに価格帯とサンプル数があります。サンプルが足りない区分は、無理に数字を出さず「サンプル不足」と明記します。さらに下には、過去の基準、検品ポイント、最近の落札一覧、出品中の該当品と、発報済みの安値アラートが続きます。

状態別の相場と過去基準

一つの実物の詳細

レーダー商品は型番であり、自作商品は具体的な一つの実物です。写真と三言語の販売文は実物に付き、型番には付きません。そのため、まだ仕入れたことのない型番を開くと、「まず仕入取引を一件記録してからアップロードしてください」と明示します。

一つの実物の台帳

実物の台帳は、名称、番号、カテゴリー、メモを直接編集できます。参考仕入価格は自分で入力する一つの数で、次回仕入れの参考にだけ使います。取引が紐づく商品は削除できず、アーカイブのみ可能です。

実物写真と三言語の販売素材

実物写真はファイル選択でもドラッグでも追加できます。中国語、日本語、英語の販売素材はそれぞれ独立して入力し、保存時にまとめて送信します。パネルが自動翻訳をしないことも画面に明記しました。販売用コンセプト画像と実物写真は別々に保管し、販売ページで使います。

販売素材と商品に紐づく取引

最下部には、この品物に紐づくすべての取引があります。そのまま「もう一件記録」でき、同じ商品を何度仕入れて売っても、一巡ごとにこの品物の一件として残ります。

取引

一件の記録作成から完了までの全過程です。上部の四つの数字は、手元に残る数量、そこに拘束された金額、売却済みの数量、合計利益を示します。

保有中の取引は「売却結果を入力」で完了でき、売却済みの取引は「編集して再計算」できます。完了済み取引の変更は過去の統計に影響するため別の経路を通り、画面上でも明確に警告します。

記録作成から完了までの取引記録

販売分析

集計するのは完了した取引だけです。まだ手元にあり売れていないものは、どの数字にもどのグラフにも入りません。この一文をページの最上部に記載しています。

販売概要と利益推移

六つの数字は、累計完了、進行中、仕入原価、実際の受取額、利益、全体利益率です。その下に利益推移グラフがあります。

カテゴリー別利益とチャネル比率

カテゴリー別利益は、成約時に保存したカテゴリースナップショットを使い、商品の現在のカテゴリーは使いません。あとから商品を別カテゴリーへ移しても、過去の成約は元のカテゴリー名で集計されます。チャネル比率は完了した取引の件数で計算し、停止済みチャネルも含めるため、過去統計は停止の影響を受けません。

カテゴリーとチャネル / 店舗

カテゴリーと販売チャネルの管理

カテゴリーとチャネルは別々に管理します。ここには誤解しやすい点があります。販売記録の商品カテゴリーとレーダー SKU のカテゴリーは別体系で、同じ場所では編集せず、互いに影響しません。あるカテゴリーが商品 0 件と表示されても、そこにまだ実物が紐づいていないという意味にすぎず、レーダー側の SKU 数とは無関係です。この説明を画面に直接書きました。

チャネルは停止できますが削除できません。過去の取引が紐づいており、削除すると統計のつながりが切れるためです。

店舗ルート、現場メモ、地図への入口

店舗はルート一、ルート二、機動の三つに分けます。各店に住所と短い現場メモ(カメラとレンズが多い店、入口に安いジャンク特売がよく出る店、ゲーム類が高めの店)、Apple Maps と Google Maps のリンクを付け、出かける日はスマートフォンからそのままナビを開きます。

意図して選んだこと

「推奨入札額」は出さない。当初は出すべき価格を計算させようとしましたが、やめました。プラットフォームごとに手数料が異なり、日本で売る場合と中国へ持ち帰って売る場合ではコスト構造がまるで違い、為替も毎日動きます。もっと根本的には、粗利率は意思決定変数ではありません。5% でも一万円稼げるなら、30% で千円しか稼げないものより明らかに価値があります。だからパネルは相場だけを示します。

商品ページは一階層だけ。以前の販売記録は、まずカテゴリーカードを開き、次に商品を見る二階層でした。統合時には踏襲しませんでした。現在の商品は百点余りで、六カテゴリーのうち二つは空です。六枚のカードのために一回多く押す利点はありません。本当に数百点まで増えたら二階層へ戻します。手を抜いたのではなく、今の規模に合わせた形です。

画面に専門用語を出さない。分位数はそのまま「低 / 中 / 高」、成熟度は「基準使用可 / サンプル少 / ばらつき大」とし、その横に「価格帯が二倍以内で、サンプルが三十件以上」のような平易な判定条件を書きました。見栄えのためではありません。店頭で三十秒以内に判断するとき、頭の中で一度翻訳しなければならないものはすべて障害になります。

どう動かしているか

パネルは自宅の Mac mini で動き、Cloudflare Tunnel を通して外へ出ています。店頭でスマートフォンから開くのは公開ドメインですが、リクエストは最終的に自宅のその一台へ届きます。

三つのデータはすべてローカルの SQLite にあり、パネル側には一件も複製していません。このうち販売記録のデータベースは純粋なローカル自用で、もともと認証がありません。そこで、パネルによるすべての読み書きをバックエンド経由にし、そのポートは一歩もローカルの外へ出していません。

入口は自作です。一度合言葉を入力すれば、Cookie が半年間覚えます。既製の企業向けログインの方が形式上は整っていますが、期限切れのたびにメールの確認コードを待たなければなりません。店頭でカメラを手に持ち、店員が横で見ているとき、その三十秒は待てません。

フロントエンドにフレームワーク、CDN、ネットワークフォントはありません。データは一度にすべて渡し、絞り込みはローカルで行います。店内の回線が不安定なとき、この選択はどんな最適化より効きます。