Facet Search for E-Commerce
Product/Project Manager, Business Analyst, 4 Backend developers, 3 QA Engineers, DevOps Engineer
ELK, Java 11, Kotlin
Problem
At the outset, the client highlighted the issue of the uncontrollability of the SaaS solution provided by the contractor. The availability of all sales channels directly depended on the search functionality, as products on the website, in buyers’ mobile apps, in offline store inventories, and in sellers’ mobile apps also relied on this solution.
At the start, the search index update frequency was once every few days, which significantly delayed the appearance of new products on the website and other channels.
Off-the-shelf solutions led to the problem of vendor lock-in, unlike solutions built on open-source technologies.
Solution
POC
During the Proof of Concept (POC) phase, our team was tasked with developing a solution for the website that would be at least as good as the current one. This was to maintain the existing user experience and assess how much it could be improved compared to the vendor’s SaaS solution.
Over four months, a mixed team consisting of a business analyst from the client side, a project manager, a data analyst, three developers, one QA engineer, and a DevOps engineer developed a solution based on Java 11, Kotlin, and the ELK stack (Elastic Search for search, Logstash for logging, and Kibana for analytics and monitoring).
Key metrics at the end of the POC phase were Precision and Recall to ensure that the new indexing algorithms did not negatively impact performance.
The POC results demonstrated that the metrics were maintained at the same level as before, and we achieved daily updates to the primary search index.
2 Phase
During the second phase, the development team was expanded to four developers, and the testing team grew to three QA engineers.
A separate index was created for autocomplete suggestions, along with several reference guides to manage ranking for specific categories of promoted and recommended products. Additionally, manual boosting was implemented for new, popular items to address cases where a product had not yet accumulated a “popularity or sales weight.”
Improved analysis of the search query for the presence of phrases typed with an incorrect layout. Extracting product attributes from a search query (conceptual search). Improved indexer based on In-Memory solution with support for partial indexing. Collection of statistics on search results based on ELK.
The team achieved an increase in the average check for sessions from a search by 1.5%, and the share of sessions using the search by 7 percentage points.
Other Case Studies
With the Right Software, Great Things Can Happen
QA Audit for EMEA bank
Voice Interface for Warehouse
Warehouse Management APP
POS Check Constructor
Temperature Monitoring System
HR Helper Bot
Flexible work formats
For convenience we offer several standard models of work with our clients.
Time and material
Model works best when you don’t have a clear scope and want to be deeply involved in the development process.
Choose it if:
- you want to follow agile methodologies
- you need to be flexible due to quickly changing requirements and taste hypothesis time to time.
- you don’t have strict deadlines
All of that doesn’t mean you go in blind. Just like in the fixed-price model, you start your cooperation with planning, but only for the upcoming week or two. So instead of determining and fixing requirements for the whole project, you start fast and can further adjust the scope and priorities.
Fixed-capacity
This model focuses on ensuring the efficiency and velocity of the team. To achieve this, the supplier must ensure that different skill sets of members are assigned to a development squad to effectively deliver the project.
Choose it if:
- you want to follow agile methodologies
- you would like to have a fixed budget for a certain period, but don't have a clear idea on the defined scope of work or specifications
- you understand further support steps and define continued predictable costs
We need to work with the client to clarify the scope of work and prioritize the backlogs before the next iteration starts. As the project progresses, it allows the client to mold the project along the way to take advantage of newly released features.
Fixed-price
Model works best when you don’t have a clear scope and want to be deeply involved in the development process.
Choose it if:
- you want to follow agile methodologies
- you need to be flexible due to quickly changing requirements and taste hypothesis time to time.
- you don’t have strict deadlines
All of that doesn’t mean you go in blind. Just like in the fixed-price model, you start your cooperation with planning, but only for the upcoming week or two. So instead of determining and fixing requirements for the whole project, you start fast and can further adjust the scope and priorities.
The discount is applied annually for a period of 6 months.
We provide discount system for long-term cooperation customers. If the threshold is reached for the sum of all orders from one customer, a discount applies to all new subsequent projects.