Settings

Configuration overview. Edit these values in src/lib/config/index.ts

Environment

ANTHROPIC_API_KEYNot set: execution disabled
Default Claude Modelclaude-sonnet-4-6
Live ExecutionDisabled

Owned Domains

3 domains

Sources matching these domains receive owned_brand classification and quality tier bonus.

clicks.co.zaapp.clicks.co.zaclicksgroup.co.za

Competitor Dictionary

12 entries
Dis-Chembrand
Checkersbrand
Pick n Paybrand
Spar Pharmacybrand
Woolworthsbrand
Superbalistbrand
Takealotbrand
The Body Shopbrand
Skin Functionalbrand
Wellness Warehousebrand
Foschinibrand
Sorbetbrand

Framing Tags

19 tags
trusted_pharmacypositive+4 pts
loyalty_leaderpositive+3 pts
value_for_moneypositive+3 pts
health_focusedpositive+3 pts
convenientpositive+2 pts
wide_product_rangepositive+2 pts
local_favouritepositive+3 pts
pharmacist_expertisepositive+2 pts
beauty_destinationpositive+2 pts
category_leaderpositive+4 pts
mass_marketmixed0 pts
corporate_retailermixed-1 pts
crowded_storesmixed-2 pts
promotions_dependentmixed-1 pts
dischem_preferrednegative-4 pts
overpricednegative-3 pts
stock_issuesnegative-2 pts
declining_servicenegative-3 pts
losing_groundnegative-3 pts

Scoring Weights

Presence (max 25)

Present: 25Absent: 0

Mention Rank (max 25)

First: 25Top 3: 18Later: 10Absent: 0

Directness (max 20)

Direct: 20Category incl.: 12Category excl.: 0

Framing (max 15) · Source Support (max 15)

Framing: tag-based, see tag weights above. Source: owned domain +6, multi-domain +4.

Recommendation Action Types

Content StrategyEditorial calendar and owned narrative
Content OptimizationExisting page relevance
SEO / DiscoverabilityOrganic search presence
Messaging & PositioningBrand narrative and framing
Campaign PlanningPaid and activation strategy
Product-Proof StorytellingPerformance and durability evidence
Retail / Ecommerce ContentPDP and retailer language
Editorial / PR InfluenceThird-party editorial coverage
Knowledge Ecosystem HygieneWikipedia and reference sources
Sustainability CommunicationEnvironmental narrative
Comparison StrategyHead-to-head competitive content
Community / Creator InfluenceCreator and community ecosystem
Reputation & TrustBrand trust and substantiation
CRM / App ExperienceFirst-party data and loyalty
Owned Source StrengtheningCitation authority

How Scoring Works

Query Visibility Score (0–100) is a composite score with five transparent components: Presence (25), Mention Rank (25), Directness (20), Framing (15), and Source Support (15). All weights are defined in config/index.ts.

Weighted Visibility Index (WVI) is the priority-weighted average of the latest Query Visibility Score across all active queries: Σ(score × priorityWeight) / Σ(priorityWeight). Queries with priorityWeight=5 count five times more than weight=1.

Framing Score is the sum of per-tag score impacts, clamped to 0–15. Positive tags (premium, technical, trusted) add points. Mixed tags (expensive, legacy) are neutral or slightly negative. Negative tags (overrated, eco_concern) reduce the score.

Source Support Score rewards owned domain citation (+6), breadth of distinct credible domains (+4 for 3+), and penalises zero-source answers.

This score is a directional brand intelligence tool, not a scientific measurement. Use it to identify patterns, prioritise action, and track relative change over time, not as an absolute truth.

How Recommendations Work

Query-level recommendations are generated immediately after each run using deterministic rules applied to the analysis output. Each rule checks specific conditions (e.g. brand absent AND priority ≥ 4) and produces a typed recommendation with an evidence payload that links back to the specific run.

Cluster recommendations are generated across the latest run for each active query. The engine detects patterns such as repeated absence across a category, or eco_concern framing appearing multiple times in skepticism queries.

Global recommendations are generated from aggregate statistics across all latest runs. They fire when thresholds are exceeded (e.g. absence rate > 40%, eco concern rate > 30%).

All recommendation rules are implemented as readable application logic in src/lib/recommendations/engine.ts. No ML or opaque AI reasoning is used. Recommendations are guidance informed by evidence, not certainty.