{"kind":"how_it_works","lang":"ja","path":"/ja/how-it-works/","canonical":"https://goodhand.app/ja/how-it-works/","indexable":false,"noindex_reasons":["below_threshold"],"title":"GoodHandの職人ランキングの仕組み：星ではなく確認された仕事","description":"GoodHandが職人を並べる仕組み：証明のはしご、正確な重みと計算式、誰が仕事を確認するか、職人による架空の顧客づくりを何が防ぎ、何が防げないか。","og_image":"https://goodhand.app/ja/og/site.png?v=1","alternates":[],"languages":[{"lang":"ja","path":"/ja/how-it-works/"},{"lang":"en","path":"/en/how-it-works/"},{"lang":"es","path":"/es/how-it-works/"},{"lang":"pt","path":"/pt/how-it-works/"},{"lang":"fr","path":"/fr/how-it-works/"},{"lang":"de","path":"/de/how-it-works/"},{"lang":"it","path":"/it/how-it-works/"},{"lang":"pl","path":"/pl/how-it-works/"},{"lang":"uk","path":"/uk/how-it-works/"},{"lang":"tr","path":"/tr/how-it-works/"},{"lang":"hi","path":"/hi/how-it-works/"},{"lang":"id","path":"/id/how-it-works/"},{"lang":"zh","path":"/zh/how-it-works/"},{"lang":"ar","path":"/ar/how-it-works/"},{"lang":"ca","path":"/ca/how-it-works/"},{"lang":"fa","path":"/fa/how-it-works/"},{"lang":"sq","path":"/sq/how-it-works/"},{"lang":"hy","path":"/hy/how-it-works/"},{"lang":"nl","path":"/nl/how-it-works/"},{"lang":"sv","path":"/sv/how-it-works/"},{"lang":"az","path":"/az/how-it-works/"},{"lang":"bs","path":"/bs/how-it-works/"},{"lang":"bn","path":"/bn/how-it-works/"},{"lang":"bg","path":"/bg/how-it-works/"},{"lang":"ms","path":"/ms/how-it-works/"},{"lang":"dz","path":"/dz/how-it-works/"},{"lang":"be","path":"/be/how-it-works/"},{"lang":"el","path":"/el/how-it-works/"},{"lang":"cs","path":"/cs/how-it-works/"},{"lang":"da","path":"/da/how-it-works/"},{"lang":"am","path":"/am/how-it-works/"},{"lang":"et","path":"/et/how-it-works/"},{"lang":"fi","path":"/fi/how-it-works/"},{"lang":"fo","path":"/fo/how-it-works/"},{"lang":"ka","path":"/ka/how-it-works/"},{"lang":"hr","path":"/hr/how-it-works/"},{"lang":"ht","path":"/ht/how-it-works/"},{"lang":"hu","path":"/hu/how-it-works/"},{"lang":"he","path":"/he/how-it-works/"},{"lang":"is","path":"/is/how-it-works/"},{"lang":"ky","path":"/ky/how-it-works/"},{"lang":"km","path":"/km/how-it-works/"},{"lang":"ko","path":"/ko/how-it-works/"},{"lang":"kk","path":"/kk/how-it-works/"},{"lang":"lo","path":"/lo/how-it-works/"},{"lang":"si","path":"/si/how-it-works/"},{"lang":"lt","path":"/lt/how-it-works/"},{"lang":"lb","path":"/lb/how-it-works/"},{"lang":"lv","path":"/lv/how-it-works/"},{"lang":"ro","path":"/ro/how-it-works/"},{"lang":"sr","path":"/sr/how-it-works/"},{"lang":"mk","path":"/mk/how-it-works/"},{"lang":"my","path":"/my/how-it-works/"},{"lang":"mn","path":"/mn/how-it-works/"},{"lang":"tl","path":"/tl/how-it-works/"},{"lang":"mt","path":"/mt/how-it-works/"},{"lang":"dv","path":"/dv/how-it-works/"},{"lang":"ny","path":"/ny/how-it-works/"},{"lang":"no","path":"/no/how-it-works/"},{"lang":"ne","path":"/ne/how-it-works/"},{"lang":"ur","path":"/ur/how-it-works/"},{"lang":"ru","path":"/ru/how-it-works/"},{"lang":"rw","path":"/rw/how-it-works/"},{"lang":"sl","path":"/sl/how-it-works/"},{"lang":"sk","path":"/sk/how-it-works/"},{"lang":"so","path":"/so/how-it-works/"},{"lang":"th","path":"/th/how-it-works/"},{"lang":"tg","path":"/tg/how-it-works/"},{"lang":"tk","path":"/tk/how-it-works/"},{"lang":"to","path":"/to/how-it-works/"},{"lang":"sw","path":"/sw/how-it-works/"},{"lang":"uz","path":"/uz/how-it-works/"},{"lang":"vi","path":"/vi/how-it-works/"},{"lang":"bi","path":"/bi/how-it-works/"},{"lang":"sm","path":"/sm/how-it-works/"},{"lang":"zu","path":"/zu/how-it-works/"}],"breadcrumbs":[{"name":"GoodHand","path":"/ja/"},{"name":"GoodHandの職人ランキングの仕組み","path":"/ja/how-it-works/"}],"data":{"slug":"how-it-works","h1":"GoodHandの職人ランキングの仕組み","lead":"職人は星ではなく、確認された仕事で順位が決まります。このページの数字はすべて、順位付けを行うコードから読み取っています。","sections":[{"id":"no-stars","h":"星も、口コミ文もありません","paras":["GoodHandには星評価も口コミ文もありません。職人の評価は仕事の件数で決まり、証明が多い仕事ほど大きく数えられます。"]},{"id":"ladder","h":"証明のはしご","paras":["どの仕事も5つの段を上ります。段が高いほど、仕事が実際にあり、作業が持ちこたえた証拠が多いことになります。各段には重みがあり、ランキングはその重みを足し合わせます。","点数が引かれるものが2つあります。顧客が30日後の質問に「いいえ」と答えると、その仕事は−0.6として数えられます（持続の失敗）。職人が現れず、無断欠席として報告されると、−1として数えられます。"],"table":{"head":["段","意味","重み"],"rows":[["自己申告","仕事があること。顧客が職人の提案を受け入れたか、職人が過去の仕事を登録した状態です。まだ何も確認されていません。","0.05"],["写真","職人が作業前と作業後の写真を撮り、どちらも登録済みのスマホで署名されています。","0.15"],["現場確認","職人が顧客のドアコードをスキャンしました。顧客のスマホには120秒ごとに変わるコードが表示され、2台のスマホは150 m以内にある必要があります。","0.4"],["顧客確認","顧客が自分のスマートフォンで作業を確認し、支払った金額を入力しました。","0.7"],["持続","顧客確認から30日後に、GoodHand は作業がまだ問題なく機能しているか顧客に尋ねます。「はい」と答えると、その作業は持続になります。登録した過去の作業はこの段階には達しません。","1"],["登録した過去の作業、顧客確認済み","GoodHand を使う前に職人が登録した作業で、その後、顧客がメールで届いたリンクから確認したものです。直接確認した人はいないため、0.3として数えられます。両方のスマートフォンで現場確認された作業より重みは小さくなります。登録した過去の作業が「持続」の段階に達することはありません。","0.3"]]}},{"id":"who-confirms","h":"誰が仕事を確認するか","paras":["確認できるのは顧客だけです。次の4つの操作はスマホを持つ本人が行う必要があり、エージェントは拒否されます（エラー agents_cannot_confirm）：door_scan_start, finish_location, customer_confirm, hold_answer。職人は自分の仕事を確認できません。また、仕事の双方で同じスマホや同じアカウントを使うことも拒否されます。"]},{"id":"formula","h":"計算式","paras":["職人は1つのスコアで並べられ、ウェブサイト、API、MCPツールのどれでも同じ方法で計算されます。すべての入力値は検索結果ごとに返されるので、誰でも再計算できます。","他の入力値はありません。特に、スコアに関わるものはお金で買えません（料金を参照）。"],"items":["数える仕事：その職人の過去365日の仕事。キャンセルされた仕事と無断欠席は除きます。同じ職人について、1人の顧客は最大3件まで数えます。","raw = （検索した仕事の種類について、その職人の仕事の重みの合計）+ 0.5 ×（同じ職種の他の仕事の種類についての同じ合計）− 0.6 × 持続の失敗 − 1 × 無断欠席","n = 検索した種類の仕事数 + 0.5 × 同じ職種の仕事数。shrunk = n / (n + 5) × raw + 5 / (n + 5) × 市の平均。仕事が少ないうちは市の平均がスコアを中央に引き寄せるため、運よく1件取れただけの新人が一番上になることはありません。","score = shrunk × (0.6 + 0.4 × 返信率) × 1 / (1 + 距離(km) / 10)。返信率は、24時間以上前の依頼のうち、職人が提案を返した割合です。まだ依頼がない職人は0.5として扱います。10 km離れた職人のスコアは、すぐ近くにいる同じ職人の半分になります。"]},{"id":"faking","h":"職人による架空の顧客づくりを防ぐもの","paras":["現在のコードが行っていること、そして行っていないことです。"],"groups":[{"h":"あるもの","items":["現場確認には、150 m以内にある2台の別々のスマホと、120秒ごとに変わる顧客のコードが必要です。双方で同じスマホやアカウントを使うことは拒否されます。","作業前後の写真は、登録済みのスマホで署名されたものだけが数えられます。","1人の顧客が1人の職人を押し上げられるのは、最大3件までです。","職人が顧客の代わりに確認することはできません。登録した過去の仕事は、顧客にメールで送るリンクからしか確認できず、職人自身のログイン用メールアドレスは顧客として拒否されます。このような仕事は、最高でも「顧客確認」までで、「持続」には届きません。","顧客が作業は持ちこたえなかったと答えた場合や無断欠席の場合は、スコアから引かれます。","職人本人のスマホやネットワーク(過去30日間に職人が使ったすべてのアドレス)から届いた確認は、記録されて職人にも表示されますが、件数には数えません。","職人が登録できる新しい過去の作業は、直近24時間で最大200件、1回のリクエストにつき500行までです。超えると取り込みは拒否され、再試行できる時刻が表示されます。","登録した過去の仕事のうち10件以上に回答があり、そのうち10件に1件を超える顧客が「自分の仕事ではない」と答えた場合、GoodHandが確認するまで、その職人の登録済みの過去の仕事は件数に数えません。現場確認の仕事は引き続き数えます。"]},{"h":"まだないもの","items":["顧客の本人確認はありません。掲載された過去の仕事は、職人が顧客の名前、月、金額を入力し、「顧客確認」は入力されたメールアドレスを管理している人がリンクをクリックしたことだけを意味します。いとこや友人、職人本人が確認することも防げません。同じアドレスは最大3件まで数えられ、別のアドレスは別の顧客として数えられます。","1人が持てるアカウントやスマホの数に制限はありません。スマホとアカウントを2つずつ持つ職人は、自分自身を相手に現場確認を通せます。拒否されるのは、同じスマホか同じアカウントの場合だけです。","金額は双方が入力した内容です。確認する人が支払った額を入力します(空欄の場合は職人本人の金額になります)。領収書や支払いとの照合は行われません。","通報は毎日のまとめとしてGoodHandの運営者に送られ、自動で削除されることはありません。ログインしなくても誰でも職人を通報でき、誰が通報したかは職人に伝わりません。登録された過去の仕事の覚えがない顧客は、届いたリンクからその旨を伝えられます。その仕事は件数に数えられなくなり、何人の顧客がそう答えたかが職人のページに表示されます。","取り込みに生涯の合計上限はなく、ペースの制限のみです（職人1人あたり直近24時間で新規の過去の作業200件、1回のリクエストにつき500行）。職人は時間をかければ何件でも過去の作業を登録でき、顧客はみな同じ重みで数えられます。他で GoodHand を使ったことのある顧客だからといって重みが増えることはありません。","持続は、「まだ問題なく使えていますか?」に対する顧客自身の回答です。ほかに確認する仕組みはありません。"]}]},{"id":"agents","h":"エージェント向けの同じ数値","paras":["このアドレスに ?format=json を付けるか、Accept: application/json を送ると、上記の重みと定数をすべてデータで取得できます。検索APIは、職人ごとにスコアの入力値をすべて返します。"]}],"numbers":{"proof":{"on_site_radius_m":150,"door_code_ttl_sec":120,"hold_after_days":30,"customer_cap_per_master":3,"rung_weight":{"claimed":0.05,"photo":0.15,"on_site":0.4,"confirmed":0.7,"held":1},"imported_confirmed_weight":0.3,"failed_hold_weight":-0.6,"no_show_weight":-1,"request_targets_max":3,"request_ttl_hours":72},"ranking":{"rungs":["claimed","photo","on_site","confirmed","held"],"prior_k":5,"trade_weight":0.5,"neutral_reply_rate":0.5,"decay_km":10,"window_days":365,"score":"shrunk * (0.6 + 0.4 * reply_rate) * 1 / (1 + distance_km / decay_km)","shrunk":"n / (n + prior_k) * raw + prior_k / (n + prior_k) * city_prior","raw":"sum(rung_weight * jobs_of_type) + trade_weight * sum(rung_weight * jobs_of_trade) + failed_holds * failed_hold_weight + no_shows * no_show_weight"},"import_limits":{"perDay":200,"linkTtlDays":30,"reviewMinResolved":10,"reviewDisputeShare":0.1},"phone_only_acts":["door_scan_start","finish_location","customer_confirm","hold_answer"],"facts":{"sessionDays":90,"linkHours":24,"anonymousIdleDays":180,"homeRes":7,"homeKm2":5.2,"requestRes":8,"requestKm2":0.7,"problemPhotoDays":90,"inboundMailDays":30,"logDays":30,"backupDays":7,"rateWindowHours":2,"eventDays":30,"netDays":30}},"commit":"8f5f3b6c76a0"}}