End of Studies Projects 2019
End of Studies Projects 2019
2019
1
List of Projects:
2
List of Projects:
3
R&D Department
Topic: Retail Market Basket Analysis
In order for retailers to improve their shopping experience and grow their customers, market basket
analysis is considered one of the key techniques in business to allow that. It is a very important modeling
approach to study customers behaviors thus help retailers maximize their profits. This technique is about
analyzing relationships between products and identifying their association rules. In this context comes this
project which consists in:
Coaches: Technology:
● TN: Mona T. & Rihab B.A. ● Python
● US: Linda W. / Bob Z. ● ReactJS
● Microsoft Azure Cloud
4
R&D Department
Topic: Inventory Management Dashboard
Inventory management plays an important role in the performance of retail organizations.
Both under and over allocation of in store goods lead retailers to losing decent amounts of money. In this
project we will build an engine to predict inventory needs and allow the purchasing manager in a retail
company to visualize the daily recommendations in a user friendly dashboard. In this context comes this
project which consists in:
Coaches: Technology:
● TN: Mona T. & Rihab B.A. ● Python
● US: Linda W. / Bob Z. ● ReactJS
● Cloud Computing
5
R&D Department
Topic: Price Optimization Engine
Pricing is a very complex operation that retailers have to go through in order to estimate the real value of a
product and increase their profit. To come up with the best price for a product a study needs to be
performed taking into account a lot of internal and external factors. In this context comes this project
which main goal is to build a price optimization system that learns most of what happens in the market
analyzes it and comes up with the most suitable price for a particular good.
Coaches: Technology:
● TN: Mona T. & Rihab B.A. ● Python & Gurobi Optimizer
● US: Linda W. / Bob Z. ● ReactJS
● Cloud Computing
6
Software Engineering Department
Topic: E-reputation Platform for Retailers
A visualisation platform available for retailers to see customer feedback on their products.
In a microservice architecture, we need to:
● Stream data from different sources (Twitter, Facebook, Yelp etc)
● Collect data into distributed DB (like Cassandra)
● Design and implement both server and UI sides to see different metrics (How many likes on social
media, retweets, shares etc).
● Add sentiment analysis capability using one of the available libraries to extract positive/negative
feedback from comments, posts etc
● Deploy on Kubernetes
Coaches: Technology:
● TN: Zied B. & Ghaieth Z. ● Scala/Kafka
● US: Mark B. & Greg B. ● ReactJS
● Cassandra
● Docker/Kubernetes 7
Software Engineering Department
Topic: Kubernetes Dashboard Gen2
Kubernetes Dashboard Gen1 is a tool that helps generating K8S YAML configurations files using a
friendly user interface. We now need to develop the v2.0 of this application where we would like to
add the following features:
● Develop a reverse algorithm from YAML files to a visual representation
● Manage and monitor the state of different pods and services created using this application
● Display different errors and logs coming from the resources
● Handling typing errors and potential fields that may cause the failure of the deployment
● Link the application to Cognira Cloud Computing and develop an auto-complete feature
● Deploy the application
● Extend the security of the application
Coaches: Technology:
● TN: Rami. Y & Ghaieth Z. ● Scala
● US: Mark B. & Greg B. ● ReactJS
● Cassandra
● Docker/Kubernetes/Prometheus 8
Software Engineering Department
Topic: Cassandra Query Handler API
Writing retail solutions usually requires writing queries to fetch and/or write data from a database. At
Cognira we work with Cassandra database and in order to avoid having hardcoded datamodels,
classes that represent the datamodel and the actual Cassandra Query Language (CQL) queries, we
need to write another microservice to abstract writing CQL queries within our application codes. The
Cassandra Query Handler API should be aware of the schema and dynamically generate queries and
return results. To achieve this the candidate will:
● Create a dynamic Data Model that generates base classes based on the schema configured
● Create a Cassandra Query Handler API as a microservice using Docker
● Integrate the Cassandra Query Handler with one of our current applications
● Add useful logging capabilities
Coaches: Technology:
● TN: Ghaieth Z. ● Scala
● US: Mark B. & Greg B. ● Cassandra
● Docker/Kubernetes
9
Software Engineering Department
Topic: Price Comparison Platform for Retailers
The retail market changes quickly, and the pricing should be able to keep up with it, basically losing
sight of the competitive landscape for even a short period of time can lead to a significant decrease in
sales and profit for the retailers. But keeping up with the market, collecting the data, and repricing
manually is impossible, especially in real-time.
The Price Comparison Platform aims to help retailers with keeping track of their competitors pricing
and offers by:
● Keeping uptodate with the market prices for a given set of products.
● Implementing a form of pricing monitoring and alerting system.
Coaches: Technology:
● TN: Montassar L. & Ghaieth Z. ● Scala
● US: Mark B. & Greg B. ● ReactJS
● Cassandra
● Docker/Kubernetes 10
Software Engineering Department
Topic: OLAP Data Query Generator
In our analytical application, the user should have the freedom to configure views and widgets that
help them improve their productivity. This project is aimed at achieving that by creating a modular,
reusable, and configurable library which defines and fetches data using Restful APIs and the OLAP
technology. It allows the user to fetch a collection of metrics and attributes as well as filter them and
choose aggregation levels. It consists of two parts:
● A functional JavaScript library that defines data requirements through JSON object configuration
and sends it to the server through a Restful API
● A Scala-based service that exposes the API in question, receives the JSON configuration, decodes
the data definition, and responds with the expected results
Coaches: Technology:
● TN: Ghassen L. ● JavaScript / ReactJS
● US: Mark B. & Greg B. ● Scala
● Cassandra
11
Software Engineering Department
Topic: Machine Learning Platform
This project is aimed at designing a ML-as-a-service platform that covers the end-to-end ML
workflow: manage data, train, evaluate, and make predictions. It supports traditional ML models,
time series forecasting, and deep learning. The platform is required to:
● Provide standard tools for building data pipelines to generate feature and label data sets for
training and predictions
● Train models with a front-end API that scales from small to large datasets
● Provide model accuracy and feature reports, alongside configurable visualizations
● Make predictions based on feature data, loaded from a data pipeline or directly from a client
service
Coaches: Technology:
● TN: Radhwen A. & Ghassen L. ● JavaScript / ReactJS
● US: Greg B. ● Scala
● Cassandra
● TensorFlow 12
Software Engineering Department
Topic: Cognira’s Recruitment Platform
This project is a recruitment platform to help candidates be up-to-date with Cognira’s job listings, and
Cognira with the management of the recruitment process. This platform:
Coaches: Technology:
● TN: Nassef F. & Ghassen L. ● JavaScript / ReactJS
● US: Mark B. ● Scala
● MongoDB
● Docker / Kubernetes / Jenkins 13
Data Science Department
Topic: Retail Forecast Error Classification/Clustering
Retailers use demand forecast solutions in order to better plan and allocate for their future sales. The
demand planners and forecasters need to assess the quality of the forecast in order to make the right
decisions. As part of the forecast assessment, Cognira provides solutions that help the retailers
identify forecast issues and suggest enhancements (if applicable). This internship project aims to
develop a solution that groups the forecast issues by error type or business issue, etc.
Coaches: Technology:
● TN: Sana BD. & Asma C. ● Python
14
Data Science Department
Topic: Retail Outlier Detection
In order to deliver a good quality of forecast to retailers, Cognira team works on several steps on sales
data cleansing and validation. The outlier detection step is very crucial. It consists in identifying the
observations that would mislead the forecasting model and drive the forecast results to high errors.
The intern will analyse multiple retail sales data, implement and apply several outlier detection
methods, compare results and classify them.
The deliverables of this work will be:
● A theoretical study of the existent outlier detection methods
● An end to end working code (loads data, runs outlier detection method, exports results,etc)
● A UI application showing the comparative results of the methods implemented
● A report explaining the overall work, the implementation process and the interpretation of the
results.
Coaches: Technology:
● TN: Sana BD. & Asma C. ● Python
15
Data Science Department
Topic: Model Explainability
Part of delivering forecasts to retailers is decomposing the forecasts into different factors to help
understand the demand, know how to plan future promotions and better drive replenishment
decisions. However, with the evolving of the machine learning algorithms, some of these are hard to
explain by default like the classic coefficient based algorithms. In this context, the purpose of this
project is to experiment with state of the art model explaining algorithms such as Lime and Shapely.
This project consists of:
● Theoretical study of the local explanation algorithms and comparison between the different
methods.
● Design and integration of the methods to a machine learning pipeline.
● Experimentation and analysis of the results.
Coaches: Technology:
● TN: Wael O. / Tarek B. ● Python
● US: Joe N. / Steve G. ● Tensorflow
● Lime/Shap 16
● Pyspark
Data Science Department
Topic: Model Monitoring
Part of the Cognira mission to deliver good forecasts to our clients, model continuous enhancement is
primordial. In this project, the goal is to design and implement a model monitoring dashboard that
helps uncover potential issues with a specific model being in use, but also drive the decision to
change a current model with a challenger model, based on rigorous statistical tests.
This project consists of:
● Design of statistical tests to uncover accuracy issues with a model (theoretical study to come up
with the most relevant metrics and statistical tests)
● Implementation and integration of the tests in a machine learning pipeline.
● Implementation of a dashboard that will summarize the results of the monitoring tests to the data
scientist.
Coaches: Technology:
● TN: Wael O. / Tarek B. ● Python/Tensorflow
● US: Joe N. / Steve G. ● Dash or other viz frameworks to be
determined 17
● Pyspark
Implementation Team
Topic: Batch Monitoring
In order to have a better support quality for our clients , We aim to monitor all the developed batch
processes for the implementation team.
Even though a batch Job is set up so they can run without manual intervention, it still requires an
extra step to verify if the program has ran successfully or not based on the live logs we have on our
implemented applications ,of course, aside from visiting the history logs . This project consists of :
● Implement an RPAS application
● Develop the associated batch
● Understand the live log and classify the error messages by priority
● Specify the actions that should be taken into consideration for each priority
● Deliver a report by the end of each batch execution
Coaches: Technology:
● TN: Olfa O. ● Rpas
● US: Quincy E.
18
Implementation Team
Topic: Automated Regression Testing
In order to enhance the quality of our deliverables , this project will ensure the following tasks:
The ultimate goal is to understand if it is feasible to use these repeatable frameworks efficiently
Coaches: Technology:
● TN: Olfa O. ● Rpas
● US: De’Korey S. ● Selenium
● python 19
Implementation Team
Topic: Integrating Cognira CRSP Science into RPAS
The Cognira Retail Science Platform (CRSP) uses the latest AI techniques to help optimize historically
difficult problems. This project will integrate the CRSP platform into a planning application that is
configured using Oracle's planning suite (RPAS). The following tasks will be accomplished in this
project:
● Configure a basic Assortment Planning solution with limited functionality
● Design the integration between the Assortment Planning tool and the CRSP platform
● Design and code a Java Extension that will be used to call the CRSP functions that are required for
this project
● The Assortment Planning solution will incorporate either Choice Count (CC) optimization or
Attribute Based forecasting
Coaches: Technology:
● TN: Sana D ● Rpas
● US: Bill Z. , Andreas K. ● JAVA
● Shell 20
Implementation Team
Topic: Dashboard IDE Plugin
The Dashboards in Oracle’s latest planning suites ( Jet UI) are configurable through complex JSON files
. We would like to create an IDE that will generate the Dashboard and Help json configurations based
on the metrics configured in our planning solutions. The project will cover the following
● Configure a basic Merchandise Financial Planning solution using Oracle’s planning suite (RPAS)
● Design and Develop an IDE plugin that will generate the Dashboard JSON configuration file for the
different types of Dashboard profiles.
● Develop a basic Dashboard incorporating Pre-Season , In-Season and Pre-Season profiles.
Coaches: Technology:
● TN: Faten Y. ● Rpas
● US: Barinder S. ● JAVA
● Vue / Angular JS 21
● Shell
cognira.com 22