星別件数から商品の加重平均評価を計算
5段階のレビュー分布を、購入者やEC運営担当者にとって重要な2つの指標である加重平均評価とレビュー総数に変換します。1つ星から5つ星まで、各段階に記録された件数をご入力ください。各件数に星の値を掛け、加重した得点を合計して全レビュー数で割ります。同時に、5つの区分を合計して正確なレビュー総数も返します。計算は常に同じ入力から同じ結果を得られ、商品IDは不要です。すべて0の空の分布は、誤解を招く評価0として表示せず、入力エラーとして扱います。
無料で実行
評価分布を5段階すべて入力してください
ショップ、マーケットプレイスのエクスポート、レビューサービス、または集計データベースにある5つの件数をご用意ください。1つ星レビューの件数を最初の欄に入力し、2つ星、3つ星、4つ星、5つ星についても同様に入力します。それぞれの値は実際のレビュー件数を表すため、0以上の整数でなければなりません。割合や計算済みの評価点は入力しないでください。レビューがない星区分も省略せず、0と入力します。安全な整数の範囲内であれば、レビューが1件だけの新商品にも、数百万件ある定番商品にも使用できます。必ず同じ商品、同じバリエーション範囲、同じ販売チャネル、同じ集計時点のデータをそろえてください。累計の5つ星件数と月間の1つ星件数を混ぜると、計算自体は可能でも、実在する母集団を表さない結果になります。情報源が割合しか示していない場合は、丸められた割合から正確な総数を復元できないことがあるため、可能な限り元の件数を取得してください。条件のそろった5つの値を、1つの分布としてまとめて送信します。
加重平均の仕組みをご確認ください
5区分の件数を単純に平均しても、商品の平均評価にはなりません。この計算では、各区分に星の値を重みとして与えます。1つ星レビュー1件は1点、2つ星レビュー1件は2点となり、5つ星レビュー1件は5点として加算されます。すべての得点を合計した加重得点を、5区分を合わせたレビュー総数で割ることで平均評価を求めます。たとえば、5つ星レビューが10件あれば50点を生むため、10点となる1つ星レビュー10件の5倍の影響を持ちます。返される平均値は最大6桁の小数に丸められ、一般的な商品画面より高い精度を保ちながら、安定した出力になります。レビュー総数は平均値から推定せず、独立した値として返します。5つの件数がすべて0の場合は母集団が存在せず、加重平均も定義できません。そのため、実際の顧客評価と誤認されかねない0つ星を作るのではなく、無効な入力として明確に通知します。
結果を一貫した方法でご利用ください
平均評価は、商品カタログの品質確認、社内ダッシュボード、商品フィードの補完、マーケットプレイスとの照合、表示ルールなどに利用できます。ショップ上での見せ方は別途お決めください。小数第1位または第2位まで表示したり、星を図形で塗り分けたりしながら、比較用には精度の高い返却値を保持できます。平均値の横には必ずレビュー総数も示してください。2件に基づく評価と2万件に基づく同じ評価では、信頼性も商業的な意味も大きく異なります。複数チャネルを比較する場合は、まず各チャネルをそれぞれの5区分から計算します。全体評価が必要な場合は、同じ星区分の件数を先に合算してから、統合した分布を計算してください。チャネルごとの平均値をそのまま平均すると、レビューが少ないチャネルを過大評価する場合があります。自動処理では、入力項目ではなくても、情報源の日時と商品キーを結果とともに保存すると追跡しやすくなります。ブラウザーでの利用は無料で、APIリクエストは$0.002です。同一の計算方式により、同じ入力からは常に同じ結果が得られます。
活用例
商品ページの概要を作成
商品に保存された5つの評価区分から、商品名のそばに表示する平均評価とレビュー総数を算出します。
マーケットプレイス報告を照合
エクスポートした星別件数から評価を再計算し、分布と一致しない集計値を見つけます。
複数のレビューチャネルを統合
各チャネルの同じ星区分を合計し、統合したレビュー全体に対する正しい加重平均を求めます。
よくある質問
計算の料金はいくらですか?
このページのブラウザー機能は無料です。APIリクエストは1回あたり$0.002です。
5つの件数をすべて0にできないのはなぜですか?
レビューが1件もない母集団には平均が定義されません。0を返すと、顧客が0つ星を付けたという誤解を招きます。
星別件数に小数を入力できますか?
いいえ。件数は個々のレビューを表すため、0以上の整数である必要があります。
平均値はどのように丸められますか?
精度と安定性を保つため、最大6桁の小数に丸めます。ショップ表示では別の桁数に丸めても構いません。
複数ショップの評価を統合する方法は?
1つ星同士、2つ星同士という順に各区分を合計し、その5区分から評価を計算してください。ショップ別の平均値を再び平均してはいけません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/ecom/review-rating-average \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"one_star_count":4,"two_star_count":6,"three_star_count":10,"four_star_count":30,"five_star_count":50}'const res = await fetch("https://api.kit.forhosting.com/ecom/review-rating-average", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"one_star_count": 4,
"two_star_count": 6,
"three_star_count": 10,
"four_star_count": 30,
"five_star_count": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ecom/review-rating-average",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"one_star_count": 4,
"two_star_count": 6,
"three_star_count": 10,
"four_star_count": 30,
"five_star_count": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ecom/review-rating-average", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"one_star_count":4,"two_star_count":6,"three_star_count":10,"four_star_count":30,"five_star_count":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"one_star_count":4,"two_star_count":6,"three_star_count":10,"four_star_count":30,"five_star_count":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ecom/review-rating-average", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"one_star_count": 4,
"two_star_count": 6,
"three_star_count": 10,
"four_star_count": 30,
"five_star_count": 50
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ecom.review_rating_average",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |