3y3anaaCore Concepts

Core Concepts

This page explains the ideas that make 3y3anaa more than a star-rating widget: the Trust Score, the Reviews = Complaints model, the subject types it can reason about, the verification signals that anchor trust, and how it handles Google reviews as a reference-only external signal.

Trust Score (0–100)

Every business carries a single Trust Score from 0 to 100. It is a weighted composite of five components — designed to be hard to game and easy to explain. The component breakdown is always stored on the business and surfaced for transparency (no black box).

ComponentWeightMax pointsWhat it measures
Community Review Quality30%30Credibility-weighted ratings, review quality, volume, verified-experience ratio
Business Responsiveness20%20Response rate to complaints + response speed
Resolution Track Record20%20Share of complaints actually resolved (penalised for disputed/unresolved)
Verification Signals15%15Phone, location, Ghana registration, claimed status
External Signals15%15Google Places rating (reference-only, never merged)

A brand-new business starts at a neutral 50 — not penalised for having no history. Components with no data (no reviews, no complaints, no external link) contribute a neutral mid-value rather than zero, so absence of data is never mistaken for bad data.

How each component scores

Community Review Quality (0–30). Combines a credibility-weighted average rating (40%), average review quality score (30%), review volume on a logarithmic scale (20%), and the verified-experience ratio (10%). Each review’s weight is 0.5 + (reviewerCredibility / 100), so trusted reviewers count more and shadow-weighted reviews are excluded entirely.

Business Responsiveness (0–20). Response rate to complaints (60%) plus response speed (40%): under 24h is full marks, ~72h is half, a week or more trends to zero. No complaints ⇒ neutral.

Resolution Track Record (0–20). Driven by the resolution rate, with penalties for disputed and unresolved complaints.

Verification Signals (0–15). Additive: phone +3, location +3, Ghana business registration +5, claimed status +4.

External Signals (0–15). Derived from a cached Google rating (rating 80% + volume 20%). Reference-only — see Google reviews.

Only the server can write trustScore and trustBreakdown; the frontend is blocked from setting them.

Reviews = Complaints

3y3anaa unifies reviews and complaints. A negative review is a complaint, and the business is expected to respond in the open.

  • A complaint severity is inferred from the rating and text: none (4–5★) · low (3★) · then low/medium/high/critical for 1–2★, escalating on keywords like fraud, scam, food poisoning, dangerous.
  • Complaints carry a resolution status that drives the lifecycle:
pending → responded → in_progress → resolved
                                  └→ unresolved → disputed
  • The business responds publicly; the review author later confirms whether the issue was resolved or unresolved.
  • History is immutable. Reviews and responses are an audit trail. Authors may delete their own review only within 24 hours; after that, removal goes through support/moderation — never a silent edit.

Resolution is what feeds the Resolution Track Record component. Responding fast and actually fixing the problem is the highest-leverage way for a business to raise its score.

Subject types

A review always targets a subject, identified by subjectType + externalId. The canonical Duabalabs subject types:

Subject typeExampleTypically reviewed by
productA Sellub catalog itembuyers (verified purchase)
shopA seller’s storefrontbuyers
supplierA wholesale suppliersellers
courierA delivery rider/partnersellers / buyers
businessA listed business (BBB core)clients
artisanA tradespersonbusinesses / clients
clientA customerartisans / businesses

The subjectType field is an open union — any string is accepted by the store — but these are the typed, canonical values.

The “proxyfidelity” model

artisan, business, and client can each be both a subject and a reviewer. That lets any party rate any other party they transact with:

  • a client reviews a business,
  • a business reviews an artisan it hired,
  • an artisan reviews a client.

Each reviewer carries a role (e.g. buyer, seller, client, artisan, business, courier). 3y3anaa surfaces the whole network’s reviews for a subject — across every integrated app — on that subject’s profile.

Verification signals

Trust starts with knowing who is behind a listing. 3y3anaa supports a layered verification model, each layer adding to the Verification Signals component:

SignalHow it’s earnedTrust points
Phone verifiedSMS code during claim (6-digit, 15-min expiry, 3 attempts)+3
Location verifiedConfirmed during admin-reviewed claim+3
Ghana registrationRegistration number + document, reviewed in 3–5 business days+5
ClaimedAn owner claimed the listing+4
⚠️

Verification flags can never be set directly from the frontend or by the business owner. They’re written only by the verification cloud functions after a real check. A searchBusinesses result is marked verified only when phone verification plus at least one of location/registration is present.

A business is also claimed when an owner takes it over (see For Businesses). Claiming unlocks the ability to respond to reviews and request higher-trust verification.

Reviewer credibility

Every reviewer has a credibility score (0–100, starting at 50). It rises with review volume, helpful votes, account age, varied (non-uniform) ratings, and verified purchases — and falls with reports and rejected reviews. Credibility ≥ 70 marks a reviewer trusted. Because Community Review Quality is credibility-weighted, a trusted reviewer’s verdict counts for more, and a suspicious account’s counts for less.

Google reviews (reference only)

3y3anaa can display a Google rating to avoid an “empty site” at launch, but treats it as an external reference signal — never a substitute for community data. The rules are non-negotiable (Google Places ToS):

  • Pulled via the official Google Places API (New) only — never scraped.
  • Cached 15–60 minutes (default 30), then dropped. Review text is never stored permanently.
  • Always labeled and attributed to Google with a “View on Google Maps” link.
  • Never merged with community reviews and never interactive.
  • Linked only to claimed businesses by default (a cost-control gate).

$0 by design. Google “reviews” calls hit a SKU with a free allotment of 1,000 calls/month. 3y3anaa caps usage at the free tier; once exhausted it serves a free reference-only “View on Google” card for the rest of the month.