Proposal  /  Seller Intelligence Platform
Turning Shopee Market Data
into Competitive Advantage
A purpose-built intelligence system for ECOSAM - continuously scraping, structuring, and analysing the Shopee SG marketplace to surface pricing signals, competitive shifts, listing gaps, and growth opportunities in near real time.
4.9
ECOSAM Rating
16.1k
Reviews
200+
Competitor Listings
5 yrs
On Shopee
Prepared for
Sam Leong / ECOSAM
Platform
Shopee Singapore
Category
Hand Sanitizers
Date
April 2026
Overview
What we are building
ECOSAM has built a strong Shopee presence over five years - a 4.9 rating, 16,000+ reviews, and 6,400 followers. The challenge now is not standing out; it is staying ahead. With over 200 active hand sanitizer listings on Shopee SG and competitors adjusting prices, promotions, and listings frequently, manual market monitoring is no longer practical. This system automates the entire intelligence loop - collecting competitor data weekly, structuring it into a queryable database, and running an AI layer on top that delivers pricing recommendations, automated alerts, weekly reports, listing optimisation cues, and a natural language interface for on-demand queries.
Structured Weekly Data Collection
Competitor listings, prices, ratings, sold counts, and listing quality - scraped every Monday and stored with full history to enable trend analysis over time.
AI-Powered Intelligence Layer
An AI layer interprets the data - answering natural language queries and generating structured recommendations without ever hallucinating numbers it hasn't retrieved from the database.
Proactive Alerts and Weekly Reports
The system doesn't wait to be asked. Real-time alerts and weekly digests notify ECOSAM the moment something significant changes - so decisions are made faster than competitors can react.
Data Layer
Collection, schema and cadence
Every competitor product captured by the scraper is stored as a structured record alongside the metadata of the collection run itself. The schema is designed to support exact numerical queries, week-over-week trend analysis, and vector-based semantic search - all from a single PostgreSQL database.
Listing Details
nameFull product listing title
brandExtracted brand identifier
volume_mlPack size parsed from title
pack_sizeSingle / twin / family pack
categoryShopee category classification
keywordSearch term that surfaced it
product_urlDirect link to live listing
image_urlPrimary listing image
Pricing and Performance
price_sgdCurrent listing price (SGD)
price_max_sgdUpper bound if price range
price_bracketbudget / mid / premium (computed)
ratingStar rating 0 – 5.0
rating_countTotal reviews received
historical_soldCumulative units sold
stockUnits currently available
is_official_storeShopee-verified brand flag
Seller Profile
shop_idShopee internal seller ID
shop_nameSeller display name
shop_locationShipping origin (city/region)
is_preferred_plusPreferred seller badge
Collection Metadata
scrape_run_idLinks record to the weekly run
scraped_atTimestamp of collection
price_delta_7dPrice change vs prior week
rank_positionSearch result position at scrape time
embeddingVector embedding for semantic search

Two data sources feed the database. The collection approach is a deliberate hybrid - each source covers what the other cannot access.

Competitor Intelligence
Browser Scraping via Playwright

Playwright-based automation loads Shopee search pages as a real browser, passing all security checks including Akamai Bot Manager, TLS fingerprinting, canvas and WebGL validation. API calls are made from within the authenticated browser session - making requests indistinguishable from real user behaviour. Runs on a weekly cron job via residential proxies.

Own Store Data
Shopee Open Platform API

Shopee's official seller API provides ECOSAM's own store metrics - real order volumes, actual revenue data, ad spend performance, and fulfilment rates. This data is exact and real-time. It cannot cover competitor stores, which is why the browser scraper handles the external landscape.

Mon 2 AM
Scraper Runs
Automated job collects all competitor listings across target keywords
Mon 3 AM
Data Stored
Snapshot written to DB, price deltas computed against prior week
Mon 4 AM
Alerts Fired
Price drops, new entrants, stock-outs flagged and sent via WhatsApp
Mon 7 AM
Report Delivered
Weekly intelligence digest with ranked action items sent to ECOSAM
Database Design
Tables and relationships
The database is built on PostgreSQL (hosted on Supabase) with pgvector for semantic search. Six tables cover the full data lifecycle - from raw collection through intelligence outputs - with relationships maintained via foreign keys and indexed for query performance.
scrape_runs Audit log of every weekly collection job Audit
idSERIALAuto-incrementing run identifierPK
run_atTIMESTAMPTZWhen the scrape job startedIDX
keywordTEXTSearch keyword used for this run
total_productsINTEGERNumber of products successfully collected
pages_scrapedINTEGERNumber of search result pages covered
statusTEXTsuccess / partial / failed
error_logJSONBAny errors encountered during the run
products Full competitor product snapshot per scrape run Core
idSERIALInternal row identifierPK
scrape_run_idINTEGERReferences scrape_runs.idFK
item_idTEXTShopee's internal product identifierIDX
shop_idTEXTShopee's internal seller identifierIDX
nameTEXTFull product listing title as shown on Shopee
brandTEXTExtracted brand name
price_sgdDECIMAL(10,2)Listed price in Singapore dollarsIDX
price_max_sgdDECIMAL(10,2)Upper price if listing shows a range
price_bracketTEXTbudget / mid / premium - computed on insertGEN
ratingDECIMAL(3,2)Product star rating
rating_countINTEGERTotal number of reviews
historical_soldINTEGERCumulative units sold (Shopee-reported)
stockINTEGERCurrent stock count
is_official_storeBOOLEANShopee official store badge
is_preferred_plusBOOLEANShopee Preferred Plus seller badge
shop_nameTEXTSeller display name
shop_locationTEXTSeller shipping origin
rank_positionINTEGERPosition in search results at time of scrape
keywordTEXTSearch keyword this product appeared under
product_urlTEXTDirect Shopee product page URL
image_urlTEXTPrimary listing image URL
embeddingVECTOR(1536)OpenAI text embedding for semantic search (pgvector)IDX
scraped_atTIMESTAMPTZExact timestamp of this record
price_history Week-over-week price and rank change tracking per product Trend
idSERIALRow identifierPK
item_idTEXTShopee product identifier (matches products.item_id)IDX
recorded_atTIMESTAMPTZWhen this price point was observedIDX
price_sgdDECIMAL(10,2)Price at this point in time
price_deltaDECIMAL(10,2)Change from prior week (positive = increase)
ratingDECIMAL(3,2)Rating at this point in time
rank_positionINTEGERSearch rank at this point in time
historical_soldINTEGERCumulative sold count at this snapshot
seller_snapshots ECOSAM's own store data pulled from Shopee Open Platform API Own Store
idSERIALRow identifierPK
recorded_atTIMESTAMPTZSnapshot timestampIDX
total_orders_7dINTEGEROrders received in last 7 days
revenue_7d_sgdDECIMAL(12,2)Revenue in last 7 days (SGD)
ad_spend_7d_sgdDECIMAL(10,2)Shopee Ads spend in last 7 days
conversion_rateDECIMAL(5,4)Orders / product page views
shop_ratingDECIMAL(3,2)ECOSAM's store rating at snapshot time
follower_countINTEGERStore follower count
alerts_log Record of every alert triggered and its delivery status Alerts
idSERIALAlert identifierPK
alert_typeTEXTprice_drop / new_entrant / stock_out / rank_dropIDX
triggered_atTIMESTAMPTZWhen the alert condition was detected
item_idTEXTProduct that triggered the alert
messageTEXTHuman-readable alert message sent to ECOSAM
delivered_viaTEXTwhatsapp / email / dashboard
delivered_atTIMESTAMPTZConfirmation timestamp from delivery provider
recommendations AI-generated recommendations stored for audit and dashboard display Intelligence
idSERIALRecommendation identifierPK
scrape_run_idINTEGERThe weekly run this was generated fromFK
typeTEXTpricing / listing / promotion / positioning / keywordIDX
headlineTEXTOne-line summary of the recommendation
detailTEXTFull recommendation text with data references
data_snapshotJSONBThe exact data rows used to generate this recommendation
generated_atTIMESTAMPTZWhen the AI generated this recommendation
statusTEXTpending / actioned / dismissed by seller
Intelligence Layer
From data to decisions
Raw data has no value until it drives action. The intelligence layer sits on top of the database and translates weekly snapshots into specific, timely outputs across pricing, promotions, listing quality, competitive positioning, and market gaps - delivered proactively without waiting to be asked.
Weekly Intelligence Report
Every Monday morning, ECOSAM receives a structured digest - search ranking vs last week, price vs market average, new competitor entries, and 2–3 prioritised action items derived from the week's data. No login required. Designed to be read in under 60 seconds.
Email and WhatsApp, every Monday 7AM
Weekly
Real-Time Market Alerts
The system monitors four alert conditions: competitor drops below ECOSAM's price, an official brand store enters the category, a top-3 competitor goes out of stock (a sales opportunity), or ECOSAM's search ranking falls more than 3 positions in a week. Each alert includes context and a suggested response.
Instant WhatsApp on trigger event
Real-time
Pricing Recommendation Engine
Compares ECOSAM's price against competitors in the same size bracket and rating tier. Identifies whether ECOSAM is leaving margin on the table or is vulnerable to undercutting - and outputs a specific recommended price point with data-backed reasoning. Given ECOSAM's 4.9 rating, the system can identify whether they are systematically underpricing relative to what their rating would support.
Included in weekly report
Weekly
Promotion Calendar and Timing Signals
By tracking week-over-week price drops in the price_history table, the system identifies when competitors collectively discount - signalling platform events like 9.9, 11.11, and 12.12. ECOSAM receives a forward-looking calendar 4–6 weeks ahead with a recommended discount percentage based on what drove volume in prior cycles.
Monthly calendar update
Monthly
Listing Quality Scorer
ECOSAM's product titles are automatically benchmarked against top-ranked competitors on six criteria - keyword presence, volume/size mention, alcohol percentage, benefit claim, title length, and brand name placement. The output is a specific rewrite suggestion, not a score alone. Flagged automatically when the score drops below the category average.
Weekly, included in report
Weekly
Market Gap Finder
Analyses the full competitive landscape to surface underserved positions - pack sizes with no strong seller, price brackets with disproportionately low competition, bundle configurations nobody offers well. Turns market data into concrete product and catalogue expansion ideas rather than reactive positioning.
Monthly analysis
Monthly
Natural Language Query Interface
A conversational interface where ECOSAM can ask market questions directly - "What price should I set to sell 100 units this month?", "Who are my 5 closest competitors?", "Has any competitor improved their rating significantly this week?" The AI always retrieves real database values before answering. It is structurally prevented from generating numerical claims not grounded in actual data.
Web dashboard and WhatsApp
On demand
Ad Keyword Intelligence
Top-ranked listings consistently reveal which title keywords Shopee's algorithm rewards. The system extracts these patterns weekly and surfaces terms that high-volume competitors use that ECOSAM's listings are missing - feeding directly into Shopee Ads keyword targeting without requiring separate paid research tools.
Monthly keyword report
Monthly

Sample weekly report output

ECOSAM Weekly Intelligence Digest Monday, 14 April 2026
Search Ranking
#4
▼ 1 position from last week
Price vs Market Avg
+13%
SGD 12.90 vs avg SGD 11.40
New Competitors
2
Both budget tier, rating below 4.0
Listing Score
3 / 6
▼ Below category avg (4.8)
This Week's Action Items
1
Add "75% Alcohol" and "Kills 99.9% Germs" to product title - present in 8 of top 10 ranked listings, missing from ECOSAM's current title.
2
Monitor Guardian SG - third consecutive weekly price drop (SGD 10.90 → SGD 8.50). Pattern consistent with clearance behaviour, not permanent repositioning.
3
HOSPICARE 500ml is out of stock this week. Consider a short ad spend increase on your 500ml listing to capture redirected demand.
Decision Support
What ECOSAM can act on
With a 4.9 rating and five-year Shopee track record, ECOSAM's opportunity is not in building from scratch - it is in defending a strong position and identifying where the market is moving before competitors do. Every feature in this system is designed to surface a specific type of decision.
Pricing
  • Is my current price above or below what my rating justifies?
  • What price bracket has the highest sales volume right now?
  • Do I have room to increase price without losing ranking?
  • Which competitors are most price-aggressive this week?
  • At what price should I sell to move 100 units this month?
Promotions
  • When should I run my next flash deal?
  • What discount percentage moved the most volume historically?
  • Are competitors preparing for an upcoming platform event?
  • Should I match a competitor's current promotion or hold price?
  • What is the optimal promotion window before 11.11?
Listing Quality
  • What is my title missing compared to page-one listings?
  • Which keywords should I add to improve search visibility?
  • What benefit claims do top sellers make that I don't?
  • What pack sizes or bundle formats are selling best?
  • Is my listing quality score above or below category average?
Competitive Positioning
  • Am I losing ground to official brand stores?
  • Which competitors are vulnerable due to low ratings?
  • Is there a price-size combination no strong seller owns?
  • Where does ECOSAM rank relative to last week?
  • Which competitor improved their position the most this week?
Architecture
How the system is structured
The system is built in four independent layers - collection, storage, intelligence, and delivery. Data flows upward from scraping through the database into the AI engine, and out to ECOSAM through multiple delivery channels. Each layer can be scaled or modified without rebuilding the others.
Data Sources
Shopee Search Pages
Competitor listings, prices, ratings
Shopee Open Platform API
ECOSAM's own orders, revenue, ads
Collection Layer
Playwright Scraper
Headless browser + residential proxies
API Client
Authenticated Shopee API calls
Weekly Cron Scheduler
Triggers every Monday 2AM SGT
Storage Layer
PostgreSQL (Supabase)
products, price_history, scrape_runs, seller_snapshots, alerts_log, recommendations
pgvector Extension
1536-dim product embeddings for semantic search
Intelligence Layer
Claude API
Query answering and recommendation generation
Alert Engine
Monitors price, rank, stock thresholds
Report Generator
Assembles weekly digest from fresh data
Query Functions
Pre-built SQL tools the AI selects from
Backend API
FastAPI Backend
/query  /  /alerts  /  /dashboard  /  /recommendations
Delivery Channels
Web Dashboard
Charts, competitor map, chat interface
WhatsApp Alerts
Instant alerts and chatbot via Twilio
Weekly Email Digest
Formatted report via SendGrid

Technology stack

Component Technology Purpose
Scraper Playwright (Python) Headless browser automation - the only reliable method for bypassing Shopee's bot detection at the session level
Proxies Residential Proxy Pool Rotates IP addresses to prevent rate limiting across weekly scrape runs
Database PostgreSQL via Supabase Relational storage for all tables, free tier available, managed hosting with built-in REST API
Vector Search pgvector Semantic similarity search on product embeddings - runs in the same PostgreSQL instance, no separate service needed
Embeddings OpenAI text-embedding-3-small Converts product text to 1536-dimension vectors for semantic matching and RAG retrieval
AI / LLM Claude API (Anthropic) Intent classification, query answering, recommendation generation - always grounded in retrieved data
Backend API FastAPI (Python) Serves all endpoints - query, alerts, recommendations, dashboard feed
Scheduler Cron (Railway / Render) Triggers the weekly scrape job and Monday report generation
WhatsApp Twilio WhatsApp API Delivers real-time alerts and powers the WhatsApp chat interface
Email SendGrid Delivers the formatted weekly intelligence digest
Frontend Next.js (React) Web dashboard - charts, competitor tables, AI chat, alert history
Hosting Railway or Render Managed hosting for the FastAPI backend and scheduled jobs

On AI accuracy: The intelligence layer uses pre-built query functions - not open-ended text generation. The AI selects which function to call, retrieves real database values, and interprets them into a human answer. It is structurally prevented from generating numerical claims not grounded in actual scraped data. No fine-tuning of any AI model is required - the system works entirely through context, retrieval, and structured tool use.