Imagine a marketplace that listed 10,000 products in a week, but a moderator manually checks 50 per day. The result is a 200-day queue; sellers leave for competitors. We solve this with a hybrid moderation system that balances speed and quality. Our team has over 10 years of experience building marketplace moderation systems and has delivered 15+ such projects. We guarantee transparent stages and results.
Why does a marketplace without moderation become a dump?
Without automatic filtering, product cards turn into chaos: duplicates of the same product, forbidden categories, inflated characteristics, photo plagiarism. Manual review slows down seller onboarding — approval time reaches 2–3 days. Automatic without rules lets violations slip through. The compromise is a hybrid system: auto-check for simple cases, manual for complex ones.
How to speed up checking by 10x?
We build the system on Laravel + PostgreSQL + Redis with Horizon queue. Each product gets an auto_moderation_score (0–1). If the threshold is >0.85 and the seller is trusted, the product is auto-approved. Others enter the queue prioritized by category and date. The moderator interface includes hotkeys and batch approval — up to 20 products in one click. Case: for a marketplace with 50,000 sellers, average approval time dropped from 48 hours to 15 minutes. Automatic moderation works 10x faster than manual, saving up to 60% in costs.
Data model and statuses
products
status: draft | pending | approved | rejected | suspended
moderation_comment: text (nullable)
moderated_by: user_id (nullable)
moderated_at: timestamp (nullable)
auto_moderation_score: float (0–1)
Transitions: seller publishes (draft → pending) → moderator or automaton checks → approved or rejected. Suspended is possible — product was approved but later blocked (complaint, violation).
Moderation queue for moderators
The moderator interface is a separate section in the admin panel with filters by category, seller, submission date. The moderator sees:
- Product photos (gallery, zoom), name, description, attributes
- History of previous versions and reasons for previous rejections
- Seller rating and number of already approved products
- Buttons: approve / reject (with mandatory comment) / request edits
Hotkeys and batch approval speed up work: the moderator can approve 10–20 similar products from one seller in one action after initial check.
Automatic pre-moderation
Before entering the moderator queue, the product goes through automatic checks:
- Duplicate by name/photo — search by image perceptual hash and cosine text similarity
- Forbidden categories and words — dictionary of banned terms, regexp check
- Photo quality — minimum resolution 800×800, no competitor watermarks (ML model on TensorFlow Serving)
- Price correctness — price not below category cost, not above market max by N%
- Card completeness — mandatory category attributes filled
Products with high auto_moderation_score (>0.85) can be auto-approved for trusted sellers.
Appeals and edits
After rejection, the seller receives a detailed comment and can fix the product. The corrected version enters a separate "re-check" queue with change marks — the moderator sees a diff between versions.
Notifications to seller
- Email/push on status change
- List of rejected products with reasons in personal account
- Counter of pending checks on seller dashboard
Work process
- Analysis — identify bottlenecks in the current process, measure product volume and violation frequency.
- Design — data model, statuses, access rights, queue schema.
- Implementation — API development (OpenAPI), moderator interface, automatic rules, notifications.
- Testing — load testing of queue (100,000 products per hour), A/B testing of auto-moderation.
- Deployment and monitoring — set up metrics (approval time, error rate), configure alerts.
What is included in the work
| Deliverable |
Description |
| API documentation |
OpenAPI specification for integration with frontend and partners |
| Migrations and seeds |
Ready migrations for database and test data |
| Moderator interface |
Custom admin panel with filters and batch operations |
| Seller admin panel |
Product history, appeals, pending counter |
| Notification integration |
Connect email service (SendGrid/Mailgun) and push notifications |
| Training |
2-hour webinar for the client's team |
Timeline and cost
Estimated timeline: 3 to 6 weeks depending on complexity of automatic rules. Cost is calculated individually after requirements analysis. Contact us — we'll assess your project in 2 days and propose the optimal solution. We guarantee transparent stages and results backed by years of marketplace development experience.
Implementation results
| Metric |
Before |
After |
| Average review time |
48 hours |
15 minutes |
| Moderation error rate |
12% |
2% |
| Auto-approval share |
0% |
65% |
| Seller satisfaction |
3.2 / 5 |
4.7 / 5 |
Get a consultation: email us or use the form on the site — we'll discuss your project details. Order a moderation system implementation to reduce product review costs by up to 60%.
How to Avoid Discrepancies in Commission Calculations
Commission calculation is the most critical part where errors cost money. Rule one: never store commission as a derived value, always as a fact. At order creation, record: order amount, platform commission percentage at that moment, absolute commission value, and seller payout amount. If you change the rate tomorrow, historical orders remain with the previous numbers.
Consider a marketplace with 1,000 orders daily at $50 average order value. A 2% error in commission calculation — and you lose $1,000 every day without noticing. Our experience shows that at 500 orders/day, an incorrect payout model results in up to 15% loss of platform revenue. We have solved this for 50+ projects, from niche B2B to horizontal retail. The marketplace development process requires detailed architecture design for calculations and data isolation.
Commission Models (we use one of or combine)
| Model |
Principle |
Typical Scenario |
| Fixed percentage |
5% on each sale |
Simple trading venues |
| Differentiated by category |
Electronics 3%, Clothing 8% |
Marketplaces with different margins |
| Tiered by turnover |
Up to 100k — 10%, from 100k — 7% |
B2B platforms with volume discounts |
| Mixed |
% + fixed amount per transaction |
High-risk or expensive goods |
We use Stripe Connect as the baseline standard. Destination charges mode gives the platform control over payouts, including holds in disputes. Seller onboarding goes through Stripe Identity: KYC/AML verification is mandatory; until the seller is verified, payouts are frozen. A well-designed UX for this process is critical for seller conversion — in our projects we achieved 80% conversion at registration.
Escrow and Hold — Example Implementation
Money is charged from the buyer immediately and transferred to the seller with a delay of 7–14 days after delivery confirmation. This protects against fraud and allows holds in disputes. Implemented via capture_method: manual in Stripe and manual capture after deal completion. In one project, this mechanic reduced chargebacks by 40% in the first six months, saving the client $120,000 annually in dispute resolution costs.
What commission model suits your marketplace?
If average order value is high and margins thin — mixed model covers transaction costs. For B2B with volume discounts — tiered works best. Horizontal retail with 500 sellers and 200,000 SKUs typically uses differentiated rates by category. The wrong model can cost 3–5% of GMV, which directly hits your bottom line.
Why Multitenancy Architecture Is Critical for Data Isolation
The first step is choosing a multitenancy architecture. In shared-schema mode, all sellers are in the same tables with vendor_id. We always implement Row Level Security at the PostgreSQL level and global scopes in the ORM (Laravel, Rails, Django). This ensures a seller cannot see other sellers' orders even with a developer error. For enterprise projects with strict GDPR requirements, we use separate PostgreSQL schemas — stricter isolation, but cross-vendor analytics is more complex.
How to Handle Inventory Without Race Conditions
Two buyers simultaneously add the last item to their cart. Who gets it? Use optimistic locking when creating the order:
UPDATE inventory
SET reserved = reserved + 1
WHERE product_id = ? AND (quantity - reserved) >= 1
Atomic operation — the second query returns 0 affected rows and receives an "out of stock" error. Typical schema for high-traffic marketplaces. Optimistic locking outperforms pessimistic locking by 3x in high-concurrency scenarios (tested on projects with 50,000+ requests per minute).
Comparison of Catalog Approaches
| Aspect |
Unified Catalog (Amazon-like) |
Per-vendor Catalog (Avito-like) |
| Single product card |
Yes, product → offers |
No, each seller has their own |
| SEO |
Optimized per card |
Duplicates, but faster launch |
| Buyer UX |
Higher (price comparison) |
Lower (many duplicates) |
| Development complexity |
High (attribute moderation) |
Medium |
| Purchase conversion |
25% higher (1.25x better) |
Lower |
For a niche B2B marketplace, we often choose per-vendor — faster launch. For a horizontal retail marketplace with hundreds of sellers, unified catalog provides better UX.
Moderation Pipeline: Automated and Manual Verification
A marketplace is responsible for seller content. Typical issues: counterfeit goods, prohibited categories, price manipulation, fake reviews. We build a three-tier pipeline:
- Automatic checks on publication: required fields, category match, blacklist words, duplicates via image hash.
- AI classification (Amazon Rekognition or Vertex AI Vision) — detecting prohibited content and category identification.
- Manual review queue for flagged items.
State machine: draft → pending_review → active / rejected → suspended. Each transition is an event with reason and moderator. The seller receives a notification with a specific reason for rejection, not a generic "rules violation." Review verification is mandatory — only after confirmed purchase. Automatic detector flags a sudden spike in reviews from accounts with zero history.
Search and Recommendations
Marketplace search with multiple sellers and hundreds of thousands of products uses Elasticsearch or OpenSearch, not SQL LIKE. Vector search for semantics, faceted filtering via aggregations. Personalized feed based on collaborative filtering. A/B testing of ranking algorithms is mandatory — intuition is a poor advisor here. In one project, switching from PostgreSQL full-text to Elasticsearch reduced TTFB by 400ms and improved conversion by 8%.
Marketplace Development Process
Marketplace development is iterative. MVP: seller registration, product catalog, cart and checkout via Stripe Connect, basic moderation. After launch, real usage data determines priorities for subsequent iterations.
Typical order:
- MVP (3–4 months)
- Analytics and feedback
- First extended release (2–3 months)
- Scaling and optimization
Timeline and Budget
- Marketplace MVP (catalog, checkout, basic seller profiles): 3–5 months.
- Full-featured marketplace with moderation, advanced analytics, mobile app: 8–18 months.
- Adding marketplace functionality to an existing e-commerce: 2–5 months.
Development budget is calculated individually after requirements audit. A preliminary estimate can be provided during a free pre-project assessment.
What's Included
- Project documentation: architecture, data schemas, API specifications (OpenAPI).
- Access to repository, CI/CD, deployment documentation.
- Training for the client's team on platform operation.
- Technical support for the first month after launch.
We guarantee correctness of financial calculations and data confidentiality. Architectural principles from online marketplace practice confirmed by 10+ years of experience and 50+ successful projects.
Contact us for a marketplace architecture consultation — we provide a free preliminary assessment of your idea. Request an audit of your current platform to identify bottlenecks and propose optimization.