Recommendations that work, even for products nobody's bought yet
Real-time personalized recommendations and smart feeds. Cold-start-capable, scalable to millions of users, integrated with your product. Published on vc.ru for the Factorymarket marketplace case.
Discuss a pilot →Quick facts
- Business size
- Mid-market and enterprise, e-commerce, marketplaces, content platforms, social networks
- Timeline
- 4-6 weeks test, 2-3 months pilot, 4-6 months production
- Budget range
- Pilot from €35k. Scales with catalogue size and traffic.
- Hardware
- Cloud-based recommendation service. GPU helpful for embedder training; CPU sufficient at runtime.
- Data needed
- Product catalogue (with text and image descriptions). User behavior log (clicks, views, purchases). Even minimal interaction data is enough to start; cold-start variants work with no interaction data.
- Evolution
-
- Genesis
- Custom-built
- Product
- Commodity
A vendor sells this result ready-made. We set it up and tune it to you.
What this scale means
Further right means more proven and cheaper. Further left means newer and riskier. Here is the test for each step.
- Commodity
- You could get the result yourself from a ready service, with almost no work. We rarely take these on.
- Product
- A vendor already sells this result turnkey, like shelf recognition from Trax or document reading from ABBYY. If one of them fits you, use it. You come to us when it does not: when it has to run on your own servers, cost less, or fit systems the product cannot reach.
- Custom-built
- Vendors sell only the parts. A tool like Tableau hands you charts, but the dashboards and metrics for your business still have to be built. That build is the work, and that is us.
- Genesis
- The approach exists but does not work reliably yet. You are betting on it maturing, so it costs more and carries more risk.
Expected outcomes
The Problem
Default product or content sorting is one-size-fits-all. New customers see one homepage, repeat customers see it too; today’s user gets the feed last week’s user got. The data needed to do better, clicks, views, purchases, time-spent, sits in the logs. Very few products use it.
The conventional barriers: building a recommendation system that actually works requires real engineering (real-time inference, feature stores, model training pipelines, A/B testing infrastructure). The off-the-shelf “AI recommendations” features in e-commerce platforms often produce mediocre results because they operate on item-ID-only data, missing the content signals (text descriptions, images, attributes) that make recommendations actually relevant.
Then there’s cold-start. The hardest recommendation problem: a marketplace with millions of SKUs, most of which nobody has ever bought. Item-collaborative-filtering can’t help because there’s no item-interaction history. This is the Factorymarket case, and the case where content-based recommendation architectures win.
What the Solution Does
A recommendation engine that produces ranked lists tailored to user, context, and business goal. Real-time, scalable, integrated with your product.
- Ingest, the product catalogue with content (text, images, attributes) and the user behavior log.
- Build embeddings, items and users get represented as vectors in a learned semantic space.
- Score and rank, given a user (or anonymous session), produce ranked items from similarity, behavioral signals and business rules.
- Serve, sub-200ms response from a recommendation API.
- Optimize, A/B test, measure, tune. Recommendations are an ongoing optimization process. The first deployment opens the work; it does not close it.
Where It Fits
This makes sense if you…
- Operate a product where personalization is a meaningful conversion or engagement lever (e-commerce, marketplaces, content, video, social)
- Have at least content data for items (descriptions, images, attributes), even when interaction data is sparse
- Care about cold-start (new users, new items, new categories) as a real product challenge
- Are willing to invest in the measurement and tuning loop, and will not “deploy and forget”
- Can integrate via real-time API into your frontend or product
This is probably not the right time if you…
- Run a small catalogue where uniform sorting is fine
- Have no content data for items (just IDs and prices), which caps recommendation accuracy
- Need recommendations integrated with conversational AI; see ecommerce-product-assistant
- Don’t have the analytics infrastructure to A/B test results, because without measurement recommendations are guesses
Business Value
CTR and engagement. Personalized recommendations typically lift CTR by 15-25% over default sorting. Engagement (time spent in app) lifts 15-30%, stronger for content and social products than for transactional e-commerce.
Conversion on personalized sessions. A session that sees personalized recommendations converts 10-20% more often than one that doesn’t, depending on baseline funnel quality.
Cold-start capability. The Factorymarket architecture demonstrated that content-based recommendations work for marketplaces with millions of SKUs and minimal interaction history. The marketplace doesn’t have to wait three months for purchase data; it can recommend from day one.
Performance. Modern recommendation infrastructure handles sub-200ms response even at millions-of-users scale. Slow recommendations don’t render; fast ones become a sticky feature.
How It Works
We use a hybrid approach. It combines content-based recommendations (the Factorymarket cold-start architecture), collaborative filtering when interaction data is rich, and deep-learning approaches for content and social use cases.
1. Embedder
A neural embedder converts items into 500-700-dimension vectors that capture semantic meaning from text descriptions, images, and attributes. This reuses the architecture from our product categorization work, pretrained on years of supplier feeds and product catalogues.
Users get represented as the centroid (or weighted mix) of items they’ve interacted with, plus explicit signals like preferences, demographic data (if available), and current session context.
2. Scoring
Multiple signals combine:
- Content similarity, items semantically similar to ones the user engaged with.
- Collaborative filtering, items engaged with by similar users.
- Behavioral signals, recent views, items in cart, time-of-day patterns.
- Business rules, in-stock, in-region, profitability weighting, etc.
The mix is configurable per use case. Some products weight content heavily (cold-start matters); others weight collaborative heavily (rich interaction history is the primary signal).
3. Real-time API
The recommendation API serves requests in under 200ms. We use ElasticSearch and vector indexes for retrieval, in-memory caching for hot users, and pre-computation where appropriate.
4. A/B testing infrastructure
Recommendations are an experimentation function. Each algorithm version is testable against a baseline. We deploy with proper A/B testing: traffic split, metric tracking, statistical significance testing. Without this, “are the new recommendations better?” becomes a subjective debate.
5. Continuous improvement
Models retrain on a schedule (weekly to monthly). New items get embedded immediately (no training delay). Behavioral patterns get incorporated as they emerge.
Stack
TensorFlow or PyTorch for deep learning, ElasticSearch and vector indexes for retrieval, Spark for big-data processing, a custom feature store, Datapipe for the training pipeline, and an A/B testing framework. Serving: sub-200ms response time at millions-of-users scale.
What You Need to Make This Work
Data. Product catalogue with content (descriptions, images, attributes). User behavior log (clicks, views, purchases, etc.). For cold-start use cases, content alone is enough; interaction data improves recommendations as it accumulates.
Integrations. Real-time API consumption from your frontend or app. Optional: business-rules system for filters (in-stock, in-region, business-priority).
Hardware. Cloud-based. GPU for embedder training (we run on our side). CPU for runtime inference.
Team. A product owner who knows what to optimize for (CTR? conversion? time-in-app?). A data engineer for the integration (around 25-40 hours during the pilot). An analytics lead who’ll run the A/B testing.
Implementation Roadmap
1. Test (4-6 weeks)
Set up the embedder and retrieval infrastructure. Build the first recommendation algorithm. Validate offline against historical data. Output: working recommendation API, measured offline accuracy, and an A/B test plan.
2. Pilot (2-3 months)
Production deployment to a slice of your traffic. A/B test against baseline. Iterate on the scoring mix based on results. Build the analytics dashboards. Output: working production deployment with documented business outcomes.
3. Production (4-6 months)
Full rollout. Quarterly algorithm review and tuning. Add new use cases (different placements, different goals). Continuous retraining via Datapipe.
Keep in Mind
Where it breaks:
- Recommendations are A/B-test-driven. Without measurement, you can’t tell if recommendations are working. Plan for the analytics infrastructure as part of the deployment.
- Cold-start is solvable, with limits. Content-based recommendations work when items have content (descriptions, images, attributes). They struggle when catalogues are sparse in description.
- Personalization can hurt. Filter bubbles and recommendation echo chambers are real. We tune diversity into rankings as a deliberate counterweight.
- Privacy and personalization conflict. GDPR, CCPA and regional rules constrain how user behavior data can be processed. We design with privacy-by-default and discuss compliance during the pilot.
- The default sorting is your baseline. Recommendation lift is measured against whatever you do today. If your default sorting is already excellent (well-curated bestsellers, for example), the marginal lift from personalization may be smaller. Measure it carefully.
- High-stakes recommendations (financial products, medical) have different design. This use case is for general consumer recommendations. High-stakes contexts need additional review.
FAQ
Does this work for content / video / social, or just e-commerce?
Both. The underlying architecture carries over: items and users sit in a semantic space, scored by relevance and business rules. What counts as “engagement” (purchase, click, video-watch-completion, share) varies by domain.
Can we use this alongside our existing recommendation system?
Yes. A/B testing one against the other is the cleanest way to evaluate. Some operations keep both running and route different segments or placements to different engines.
What about long-tail recommendations?
The content-based architecture (cold-start) is specifically strong on long-tail. Items with little interaction history get recommended from content similarity to popular items. The pattern is “people who liked X might like this similar item nobody’s bought yet”.
How does this differ from off-the-shelf recommendation SaaS (Algolia Recommend, Coveo, etc.)?
Commercial SaaS recommendation systems are excellent for organizations that want a ready-made product to configure. Our approach is the right choice when you need: custom scoring beyond standard collaborative filtering, integration with non-standard data sources, fully on-prem deployment, or a specific cold-start architecture for high-tail catalogues.
Can the recommendations be explainable?
Partially. “Why am I being shown this?” can answer “because you viewed X” for collaborative-filtering items, “because it’s similar to Y” for content-based items. Full causal explanation isn’t feasible with deep-learning models; we provide best-effort explanations.
What about B2B recommendations (e.g., for sales reps)?
That’s the related sales-rep-recommendations use case in Tier 2. It uses a distinct architecture for B2B contexts.
Ready to Discuss?
If you operate a product where personalization is a real conversion or engagement lever, this is a worthwhile pilot. We’ll walk through your catalogue, your interaction data, and your current default sorting, and tell you what to expect from a measurable pilot.
From the Lab