Paying five figures per month for a personalisation SaaS vendor that runs a black-box model on your data and charges per API call as your traffic grows?
Your marketing team sending the same message to every customer segment because building individual-level personalisation requires ML infrastructure your data team hasn't had time to build?
AI Personalisation Engine Development
A personalisation engine that scores recommendations, predicts next-best actions, and serves dynamic content for each individual customer -- without paying per-API-call fees to a vendor running a black-box model on your data.
We build custom AI personalisation engines for marketing teams, e-commerce companies, and MarTech companies building personalisation as a product feature. You own the model, you own the data, and there is no vendor lock-in.
Product and content recommendation models
Next-best-action and propensity scoring
Real-time personalisation API under 100ms
A/B testing and lift measurement built in
An AI personalisation engine uses customer behavioural and transactional data to score recommendations, predict next-best actions, and serve dynamic content at the individual level in real time. RaftLabs builds custom personalisation engines for MarTech companies and e-commerce businesses that want to own their model, own their data, and avoid per-API-call vendor fees. Most builds deliver in 10 to 14 weeks at a fixed cost.
100+Products shipped
·Real-timeAPI scoring
·FixedCost delivery
·10-14Week delivery
The cost of a black-box personalisation vendor grows with your traffic
Off-the-shelf personalisation platforms are fast to trial and slow to scale. The pricing model charges per API call, so the bill grows every time your traffic grows. The model runs on the vendor's infrastructure using your data, so you have no visibility into why a recommendation was made or how to improve it. Switching vendors means losing the model state and restarting the data pipeline.
A custom AI personalisation engine runs on your infrastructure, trains on your data, and serves results through an API you control. The model is yours. The data does not leave your warehouse. Pricing scales with infrastructure cost, not request volume. When the model needs improvement, your team can see the features, the training data, and the outputs -- not just a confidence score from a black box.
We build personalisation engines for marketing teams that want individual-level targeting without a data team bottleneck, e-commerce businesses with enough transaction history to train useful models, and MarTech companies building personalisation as a product feature they need to own.
What we build
Product and content recommendation models
Collaborative filtering using customer purchase and browsing history to identify customers with similar behaviour and surface items those customers engaged with. Content-based similarity using product attributes and tags to recommend items with matching characteristics. Hybrid model combining both approaches so recommendations are useful for both new and returning customers. Cold-start handling for new users with no history and new products with no interaction data, using category affinity and item attribute matching as fallback. Real-time scoring API returning ranked recommendations per user in under 100ms so the recommendation layer does not add latency to page load.
Next-best-action modelling
Multi-armed bandit or supervised model predicting the best next offer, message, or channel for each individual customer. Configurable action space covering email, push, SMS, in-app messaging, and paid retargeting so the model selects from the channels available in your stack. Business rules overlay to prevent margin-destroying offers being sent to low-LTV customers regardless of model prediction. Daily scoring batch for scheduled campaign use with real-time fallback for trigger-based sends. Action and outcome logging that feeds back into model training so the model improves as campaign data accumulates.
Propensity and churn models
Purchase propensity score per customer updated on a configurable schedule, using recency, frequency, and monetary signals alongside browsing behaviour and category affinity. Churn risk score with configurable threshold that triggers win-back campaign entry automatically. Upgrade propensity for subscription businesses identifying customers likely to convert to a higher tier. LTV prediction for acquisition ROI calculation and bid optimisation in paid media. Scores published to your CDP or CRM so campaign segmentation uses model outputs directly rather than requiring a data team export for each campaign build.
Dynamic content personalisation
Personalisation API called at email or web render time returning the right hero image, subject line variant, product tile, or offer for each individual user based on their current score and segment membership. Template variable system for integration with email tools including Klaviyo, Salesforce Marketing Cloud, and Braze so personalisation works within your existing send infrastructure. Web personalisation via JavaScript snippet for client-side rendering or server-side integration for frameworks that support it. Fallback content for users with insufficient data so personalised surfaces never return empty results.
A/B testing and lift measurement
Experiment framework for comparing personalised vs. control experiences across email, web, and in-app surfaces. Statistical significance tracking so tests run long enough to produce reliable results before a winner is declared. Holdout group configuration for measuring incremental lift from personalisation vs. no personalisation for contacts who receive default content throughout the experiment. Revenue-per-visitor and conversion-rate lift reporting per experiment. Multi-armed bandit for continuous traffic allocation shifting toward winning variants as data accumulates, without waiting for a fixed experiment duration to end.
Model monitoring and retraining
Automated data pipeline from your data warehouse or CDP to the model training environment so retraining runs on fresh data without manual data exports. Scheduled model retraining on a configurable cadence -- daily, weekly, or triggered by data volume thresholds. Performance drift detection with alerts when model accuracy degrades below a configurable threshold, so the team knows when the model needs attention rather than discovering it in campaign results. Feature importance reporting that shows which signals drive the model outputs so marketing teams understand why customers receive specific recommendations. Feedback loop from campaign outcomes -- clicks, purchases, conversions -- into model training data so the model learns from real campaign performance.
Frequently asked questions
Salesforce Einstein and Adobe Target are off-the-shelf personalisation tools built on fixed model architectures. They work well for standard recommendation and testing use cases but have three structural limitations. First, the model is a black box -- you cannot inspect the features, the training data, or the decision logic, which makes it hard to debug poor recommendations or explain results to stakeholders. Second, pricing is tied to API call volume, so cost grows with traffic in a way that is predictable but not controllable. Third, data stays in the vendor's system, creating dependency on their data retention and security policies. A custom engine is trained on your data, runs on your infrastructure, is inspectable at every layer, and priced on infrastructure cost rather than request count. The trade-off is build time and ongoing maintenance responsibility -- which is why custom makes sense when personalisation is a core product feature or when call volume has made vendor pricing a significant line item.
The minimum depends on the model type. Collaborative filtering for product recommendations typically needs at least 10,000 to 50,000 purchase or engagement events to produce reliable results -- below that threshold, the model has too few signal pairs to identify meaningful similarity between customers. Content-based models work with less interaction data because they rely on product attribute similarity rather than shared behaviour, so they can produce useful results with a few thousand events. Propensity and churn models need sufficient examples of the outcome being predicted -- a churn model with fewer than 500 confirmed churn events in the training data will not generalise well. For businesses below these thresholds, we design the data collection layer first and time the model training to begin when enough data has accumulated, rather than training on insufficient data and shipping poor results.
Integration depends on the tool and the use case. For email personalisation, we build a template variable API that your email platform calls at send time or at render time, returning the personalised values for each recipient. Klaviyo, Braze, and Salesforce Marketing Cloud all support server-side personalisation variables that pull from an external API. For web personalisation, we provide a JavaScript snippet for client-side rendering or a server-side endpoint that your application calls before rendering the page. For campaign segmentation tools, we publish model scores -- propensity, churn risk, LTV -- to your CDP or CRM on a configured schedule so segment definitions can reference model outputs directly. The integration layer is built around your existing stack rather than requiring you to replace tools to use the personalisation engine.
Cost depends on the model types included, the data pipeline complexity, and the API performance requirements. A core engine covering recommendation models and a real-time scoring API typically falls in the range covered by our fixed-cost delivery model. Adding propensity models, next-best-action logic, A/B testing infrastructure, and monitoring pipelines extends the scope and the cost. We scope the build before pricing it so the cost is tied to a specific feature set with no open-ended development risk. Talk to us about your use case and we will give you a fixed number.