Our strategy for building products

When we started building our product, we focused on the Recommender engine and Segmentation. As a startup, we embraced agility and focus on the market. At the beginning of 2020, we decided that our product must become a reflection of our team. Then we said it must be a “no bullshit” product, agile or, in terms – modular. Third, it must be API first, AI-powered and focused. We used COVID19 situation to push changes and to prepare for the new world.

Modularity as strategy

We decided that our product is a suite of micro products which clients can combine. That gives us the flexibility to serve multiple industries but also to optimize OPEX and CAPEX investments of our clients. We’ve enabled our clients to start small and build big. For example, you can start with data collection and standardization, and later you can add a recommendation engine to get a more significant revenue increase. The key is to provide a modular ecosystem. We recently became members of the ASEE group, so imagine which ecosystem we can offer now. For example, we can provide payment for eCommerce, but also checkout analysis or upsell on checkout. If we are talking about banking, imagine a fully personalized mobile app with smart push notifications and offering. 

Is Solver AI Suite CRM, CDP, DMP, or Personalization Engine?

The correct answer is none of these. We do not offer CRM, we are providing Customer Data Platform (CDP) and Data Management Platform (DMP) components, but the client can choose what it will be. We definitely have a proposition for Personalization Engine, but we have a lot more. We can declare more as the ecosystem of apps that act as lego bricks, and you can build whatever you need. One of the beauties of embracing agility and modularity as a product feature. In the end, we offer all of this, but when you need it

Ecosystem as the next step

We believe that we’ve come to an end of big monolith CRMs or Campaigning tools. Look at the Apple App Store, or our competition. Salesforce, for example, is focused on the ecosystem of apps, but we provide completely different user experience. And yes, our REST API enables the flexibility to integrate whatever you need, or build your products on top. We can even power our competition tools, if that makes our clients’ life easier. Notice how open source is changing the world and pushing openness and flexibility. 

We separate platform blocks and application blocks to set up the ground for modularity.

Solver AI suite is evolving fast, we have more and more features in place. To solve product complexity, we decided to develop in two streams. First, the platform things. Engines and APIs that power our applications enable our teams to have the foundation and focus on business features. The platform is open for our clients to focus on business and not on operations. The second stream is business block development, which has to be simple and stupid – meaning having clear inputs and outputs. This is the crucial thing for meeting the strategy of modularity.

What building blocks provide to our customers 

  • Profile Studio, perform “customer by customer” analysis  in one place and offer full personalization on your channels.
  • Audience Studio creates groups by manual rules or by AI-based models. Results can be the input for targeting or serve for gaining deeper insights.  
  • Customer Journey Studio detects common flows of how your customers interact with you. Based on that, you can plan better. 
  • Smart Segmentation Studio, reporting on top of ML-based segmentations.
  • Campaign Studio, manage your campaigns in five steps.  
  • Creative Studio, build templates for your emails and messages. 
  • Marketing Automation Studio defines automated actions based on customer behaviour.
  • Forecast Studio, imagine upload, select, and forecast. That is our promise. 
  • Channels Engine, we provide all common channels in a way that empowers stability and reliability. 
  • Search Engine, flexible search for your e-commerce platform, or documents. Text or images – we support both.  
  • Pixel Engine collects raw data from your web channels (no 3rd party cookies). Use this data for reporting or feed AI models for better precision. 
  • Identity Resolution Engine, connect your customer to one ID, no matter the channel or situation. 
  • Virtual Buyer Studio, analyze transactions with no customer ID and get buying personas. 
  • AI studio, manage your AI/ML models. 
  • Query Studio, make SQL queries on top of Solver Data Lake. 
  • Widget Catalog, we design and prepare, you only combine. 

These are only some of them, and more are yet to come.

Bundle of products as a personalized client solution.

We decided to make some bundles, which can be used as  a recommendation and not a rule. 

  • Solver Personalizer focused on customer unification, segmentation, personalization and insights. 
  • Solver Campaigning channels and rules to take action. 
  • Solver Atlas including security ops and scheduling in one platform. Foundation for modularity. 
  • Solver Data Lake focuses on all data, internal or external. Get lightweight Data Lake without millions of investments. 
  • Solver ML OPS, when many AI models become a problem, the same engines we use internally can be available. 

We will proceed with this strategy focusing on:

  • No Bullshit 
  • Modularity 
  • API first
  • AI-powered

If you want to have a demo and get more information, please drops a message at ai@thingsolver.com


Photo credits: https://unsplash.com/photos/fzOITuS1DIQ

Light reading for nerds: How to build a Visual Search application

In one of the previous blog posts, we have talked about Visual Search and its application in eCommerce. Now that we know what Visual Search is and where we can use it, it is time to learn what is beneath it and how we can easily implement our own Visual Search app.

Visual Search is one application of Computer Vision. A large number of the applications of Computer Vision are implemented with Neural Networks, specifically with Convolutional Neural Networks (CNNs). We will go through some main concepts of CNNs.

Convolutional Neural Network

Central to the convolutional neural network is the convolutional layer that gives the network its name. This layer performs an operation called a convolution, which is actually a linear operation that involves the multiplication of a set of weights with the input. The multiplication (dot product) is performed between an array of input data and a two-dimensional array of weights, called a filter or a kernel.

Source: https://medium.datadriveninvestor.com/convolutional-neural-networks-3b241a5da51e

If the filter is designed to detect a specific type of feature in the input, then the application of that filter systematically across the entire input image allows the filter an opportunity to discover that feature anywhere in the image.

Because pixels on the corners or the edges of the picture are used much less in the output, there is a concept named padding, which pads an image with an additional border with n pixels.

Image source: https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1

Also, there is something called stride, which affects the number of steps that are taken when applying the filter. Default stride is (1,1) for height and width movement. It is used for downsampling input so that we can get the same result but with less information.

Image source: https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1

Besides the convolutional layer, in the CNNs there are two more types of layers:

  • Pooling layer – used to reduce the size of the representation, to speed up the computation, and to make some of the features that are a bit more robust to detect. There are two versions of this layer:
    • Max pooling (which is often used) – returns the maximum value from the portion of the image covered by the Kernel
    • Avg pooling (for very deep network) – returns the average value from the portion of the image covered by the Kernel
  • Fully connected layer – learning a possibly non-linear function in that space, for example, for classification

Image source: https://qph.fs.quoracdn.net/main-qimg-cf2833a40f946faf04163bc28517959c

CNN architectures

The most popular CNN architectures are:

  • LeNet – which was used for recognizing handwritten numbers, not so deep
  • AlexNet – deeper network, first that have been used ReLu as an activation function
  • VGGNet – it simplified neural network architectures
  • GoogLeNet – it uses many different kinds of methods such as 1×1 convolution and global average pooling that enables it to create deeper architecture
  • ResNet – residual networks allow training of a very deep neural network
  • Inception – trying several ways of pooling and convolutional layers and concatenate outputs

These architectures can be implemented from scratch, but there are some open-source pre-trained models which are using these architectures and that can be actually used for building any computer vision application. This approach is called transfer learning.

Transfer Learning

In order to have the best results in visual search, you need to train your model on the dataset as large as you can provide. That training will be computationally expensive and it’s not always possible to afford the required amount of training data. One of the solutions to this problem is Transfer learning. Transfer learning is a machine learning method where a model developed for a task is reused as the starting point for a model on a second task.

Image source: https://medium.com/@1154_75881/transfer-learning-628e83df5c8a

So, instead of creating and training neural networks from the beginning, we can use pre-trained models as a starting point for our training and therefore reduce the time for training and improve the performance of the model.

Here, we have implemented Visual Search using the VGG16 pre-trained model.

VGG16 pre-trained model

ImageNet Large Scale Visual Recognition Challenge has been run annually from 2010 to the present. Researchers from the Oxford Visual Geometry Group, or VGG for short, participate in the ILSVRC challenge. The VGG model has been trained on the ImageNet dataset with over 15 million labeled images with high resolution collected from the Web. It gets an accuracy of 92.7% on the ImageNet dataset.

Image source: https://pub.towardsai.net/the-architecture-and-implementation-of-vgg-16-b050e5a5920b

VGG released two different CNN models, specifically a 16-layer model and a 19-layer model. Both of them are using stacked combination blocks of convolutional and pooling layers, with 3 fully connected layers at the end, where the third FC layer is used for classification. In order to use this architecture for Visual Search, we can drop those fully connected layers and keep only the part where the model extracts features from the image. We have two parts in our application – offline and main part. In the offline part, we just extract features for all images that we have in the training set. After extracting the features from every image, in the main part, we can apply Visual Search with measuring the similarity between the image’s features. There are several ways for doing that: with Euclidean distance, Hamming distance, Cosine similarity, etc. For the first version, we have tried with pure Euclidean distance and after uploading the image, we are returning top N most similar images.

For the visual presentation of this application, we have used Streamlit, a modern open-source Python framework used for creating and sharing custom web apps for machine learning and data science. In some of our future blog posts, you can read more about Streamlit.

Examples of results

We have used a dataset of shoe images for training that can be found here. Now, you can see few examples of using our Visual Search app:

Next steps

This was our first iteration of implementing the Visual Search app. The plan for the future is to try some other algorithms and see if they can give us better results. Also, we can improve Transfer Learning by removing the last few layers and retrain the whole network to get features that are more relevant to our training set of images. Also, we will try to integrate this with some of the most popular instant messaging applications like Viber, Whatsapp and Telegram and enable customers to use Visual Search not just within the web application. Of course, there is a place for improvement in the design of Streamlit web app.

If you have any questions regarding this topic or maybe suggestions for improvement, feel free to contact us! 🙂


Photo credits: https://unsplash.com/photos/7okkFhxrxNw

Understand and Engage your customer(s) with more AI power

Today we are happy to release Solver AI Suite 2.0. You can read more about it in this post. The focus of the past three months was on collecting and working on clients’ feedback. We decided to ask more and work more to boost the revenue of our clients. Several key things popped out from this process. The first one – our users want to know their customers(s) even better and easily understand them while having all customer-related data in one place. The second thing is how to engage them quickly and at the right time. Okay, it sounds like everyone’s wishes and that it is the promise of all similar tools, but we focused on making the whole process simple, in a couple of clicks, while maintaining top quality. We want to follow the way of simplicity with power. Like the great Steve Jobs once said, “That’s been one of my mantras – focus and simplicity. Simple can be harder than complex: You have to work hard to get your thinking clean to make it simple. But it’s worth it in the end because once you get there, you can move mountains.”  

Key new features

New Portal interface – we redesigned the entrance app to be more seamless and more informative. We are now offering two unique views, depending on whether you are a new user and want to read more about our offer, or you are a veteran of tools, and you need one click to start your daily job.

Campaign Studio interface – now focused on channels. We pulled the audience build process as a separate app. Now Campaign Studio is more focused on marketing departments, allowing marketing people to use the tool on their own easily. You can create and schedule a marketing campaign in 5 steps.


Campaign Studio Viber channel upgrade – imagine that you want to send personalized messages to your customers to get different sets of products in one click. You need to have pictures of your products, and pricing and the tool can do the rest.   


Creative Studio Beta, we make the first steps to offering a template engine inside our tool but do not worry, we will support other email template engines too.


Audience Studio Interface – our superstar of this release. We improved this process so that you can create ANY audience in 5 steps. You can have all filters you want under your click and fit audiences perfectly to your business needs. You choose to power up the selection with AI model(s) output. Unique, we designed one step focused on the product, allowing the users to find the most appropriate/best audiences for selected products. Here we engaged our complex and powerful Recommendation Engine, but as stated before – you can use it with just a couple of clicks. What else:

  • You can use the created audience for the campaign 
  • You can download the audience as excel or CSV file  
  • You can choose the audience to be static or dynamic 


As you can see, Audience Studio can be a self-service insight tool. 

Audience Dynamics or Statics – the audience can be static, and you can use it now or want to look at insights. But nowadays, things are changing. Behavior is changing. That’s why we introduced dynamic audiences, which AI models automatically update. You can sit back and relax, knowing you can use this kind of audience for Marketing Automation or repetitive campaigns. You can be focused on creativity and not on overloading your IT department with requests for data. 

Recommender Engine update – we are constantly upgrading our Recommendation models, now we can support better results to push leaflets personalized to your customers. Second and very important, we shorten the process from data to recommendations.  

Profile Studio, we renamed Personalizer to a new name, and we cleaned some things. More importantly, we can add items dynamically. Imagine you have additional information you want to see in one place or show to your colleagues – you do not need to do anything. Just provide us data, and we will add it in a couple of seconds. 

Smart Segmentation interface, we released a new interface which is more informative and can support multiple segmentation reports.


  • As you might know, we are focused on API first strategy. Everything we mention our clients can leverage by using REST API and embed these functionalities into existing apps or processes
  • We released Events API for easier integration
  • Privacy and Security, we improved our process and APIs to make sure that there is no room for this kind of problems 

What we plan for the future releases

Here are some things related to the topic that we are working on:

  • Push notification channel via firebase
  • Digital Edge by ASEE as a channel.  
  • Assceo Live deeper integration.
  • Reporting page for selected audience.
  • Open selected Audience in BI tool.  
  • Campaign Studio improved reporting. We want to add more things so you can make better decisions for the future.
  • Creative Studio for easy email template creating.
  • Create an Audience from Profile Studio, choosing similar customers based on the selected customer. 
  • Look-alike model implementation, so you can extend target groups with a move of a slider. 
  • Create an Audience from Smart Segmentation Studio directly choosing customers by special rules.  
  • Product Studio for the product manager, create an audience starting from the product or check KPI’s before making a decision.
  • Campaign Studio A/B testing functionalities.
  • AI model improvements 
  • Customer Journey detection.


  • Forecast Studio for doing forecast in couple clicks
  • Anomaly Detection model update
  • Atlas update

We are focused on providing what our clients need. If you have any feedback or you want to schedule a demo, please drop us a message at ai@thingsolver.com

Stay tuned for more. 

How banks can leverage AI: Segmentation as one-two-three!

Segmentation is a widely known term, especially within the marketing sector. It is an insightful, effective and actionable approach to better understanding a customer or client base. 

What is so attractive about leveraging AI specifically within the banking sector is the amount and variety of data. Segmentation per se is not the final outcome of the analytics process. If is often used as the initial step or auxiliary step in the process of “customer 360”. Insights about customer segments can be used to get closer to the tailored marketing strategy and personalization. 

RFM segmentation is one of the most popular approaches used by marketing and business analytics teams, in order to group customers with similar descriptive features – recency (R), frequency (F) and monetary value (M). 

Years before machine learning has seen the light of the day, RFM segmentation has been performed by binning and ranking the customers based on these three features. Namely, each feature is tiered into four or five bins, where the bins are assigned ranks from 0 (lowest/worst) to N(highest/best) in terms of the feature being analyzed.

In regards to all said: the higher the final segment rank – the better. Impressive! I really like the simplicity and mightiness this approach possesses!

Nevertheless, there are some drawbacks. We are obliged to always use fixed bins, and assign ranks that could result in rough separation between segments, and also, what if we have two pretty similar clients that have fallen into different segments due to the slight difference between their recencies (e.g. customer with final rank 455 and customer with final rank 555)? 

There is a solid ground for this from the business perspective – clients are best identified by their spending habits. If we know how much they spend and how active they are, we can anticipate whether there is a fertile ground for building strong and loyal relationships. 

RFMT is one of our first and most commonly used methods for performing a specific customer segmentation based on the activity level and spending habits. “T” in RFMT stands for tenure, the duration of the client’s lifecycle. We have introduced one additional modification more, in regards to the standard RFM model. We’re not binning the data and using ranks – but we use clustering techniques based on machine learning algorithms. 

One of the things I’m especially proud of within our platform is the perseverance of simplicity – all our modules can be easily objectified, understood and utilized by non-tech users.

The only thing we need is the anonymized data – and all the magic happens within our platform – no manual work or additional involvement of the client is needed! (unless the opposite is especially requested by the client). A brief overview of what you can expect from our “Customer importance” module is depicted below.

You may as well track client’s transitions through the segments over time – and thus model the customer journey and define triggers for marketing automation when some specific event happens, e.g. falling from “champions” to “sleepy” segment. 

Within our Solver AI Suite – segmentation is an integral part of Solver Personalize pillar (which besides includes recommender system and customer lifetime value estimation). By combining outputs from these three modules, we support marketing automation through audience creation and campaigning (campaigning will have its shining moment in our future posts).

What about the results? – you might ask. We’ve got 30% higher conversion rates by targeting a specific segment of customers, which we have identified as potentially loyal, by a tailored offer. On the other hand, we have proven that the so-called “champions” will come either way, and that they don’t require a special discount or often targeting. This further implies the increase of sales and reduction of unnecessary costs. 

So, let me ask you a question – what are you waiting for? Drop us an email, and we’ll help you out. 🙂