/tensor-house

A collection of reference Jupyter notebooks and demo AI/ML applications for enterprise use cases: marketing, pricing, supply chain, smart manufacturing, and more.

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

What is TensorHouse?

TensorHouse is a collection of reference Jupyter notebooks and demo AI/ML applications for enterprise use cases: marketing, pricing, supply chain, smart manufacturing, and more. The goal of the project is to provide a toolkit for rapid readiness assessment, exploratory data analysis, and prototyping of various modeling approaches for typical enterprise AI/ML/data science projects.

TensorHouse provides the following resources:

  • A well-documented repository of reference notebooks and demo applications (prototypes).
  • Readiness assessment and requirement gathering questionnaires for typical enterprise AI/ML projects.
  • Datasets, data generators, and simulators for rapid prototyping and model evaluation.

TensorHouse focuses mainly on industry-proven solutions that leverage deep learning, reinforcement learning, and casual inference methods and models. Most of these solutions were originally developed either by industry practitioners or by academic researchers who worked in collaboration with leading companies in technology, retail, manufacturing, and other sectors.

How Does TensorHouse Help?

TensorHouse helps to accelerate the following steps of the solution development:

  1. Faster evaluate readiness for specific use cases from the data, integration, and process perspectives using questionnaires and casual inference templates.
  2. Choose candidate methods and models for solving your use cases, evaluate and tailor them using simulators and sample datasets.
  3. Evaluate candidate methods and models on your data, build prototypes, and present preliminary results to stakeholders.

What Libs Does TensorHouse Use?

All prototypes and template are implemented in Python using a limited set of standard libraries:

  • Deep learning: mostly TensorFlow, some prototypes use PyTorch
  • Reinforcement learning: RLlib
  • Causal inference: DoWhy, EconML
  • Probabilistic programming / Bayesian inference: PyMC
  • Generative AI: LangChain
  • Traditional ML: statsmodels, scikit-learn, LightGBM
  • Basic libs: NumPy, pandas, matplotlib, seaborn

Illustrative Examples

Strategic price optimization using reinforcement learning

DQN learns a Hi-Lo pricing policy that switches between regular and discounted prices:

Supply chain optimization using reinforcement learning

DQN learns how to control procurement and logistics in a simulated environment:

Supply chain management using large language models

LLM dynamically writes a python script that invokes multiple APIs to answer user's question:

Anomaly detection in images using autoencoders

Deep autoencoders produce image reconstructions that facilitate detection of defect locations:

List of Prototypes and Templates

The artifacts listed in this section can help to rapidly evaluate different solution approaches and build prototypes using your datasets. Artifacts are marked with the following qualifiers:

  • ๐Ÿงช - artifacts that are particularly suitable for exploratory data analysis, evaluating the strength of causal effects in your data, and determining whether these data is feasible for solving a certain use case or not
  • ๐Ÿš€ - conceptual prototypes that use advanced methods and not necessarily suitable for productization
  • ๐Ÿ“š - notebooks that demonstrate basic algorithms and intended mainly for educational purposes

Promotions, Offers, and Advertisements

These notebooks can be used to analyze the behavior of individual customers, calculate customer propensity (affinity) scores, and personalize offers, content, or digital experience.

  • Customer Scoring and Lifetime Value
    • Customer Propensity Scoring Using Deep Learning (LSTM with Attention) (notebook)
    • Customer-level Uplift Modeling Based On Observational Data Using Causal Inference (notebook) (๐Ÿงช)
    • Customer Lifetime Value (LTV) Estimation Using Markov Chains (notebook)
    • Customer Lifetime Value (LTV) Estimation Using Bayesian Buy-Till-You-Die (BTYD) Model (notebook)
  • Decision Automation
    • Dynamic Content Personalization Using Contextual Bandits (LinUCB) (notebook)
    • Next Best Action Model Using Reinforcement Learning (Fitted Q Iteration) (notebook)

Marketing, Customer, and Content Analytics

The notebooks can be used to perform aggregated analysis of the customer population or segments, get insights from user-generated content, and optimize marketing budgets.

  • Content Analytics
    • Sentiment Analysis Using Basic Transformers (notebook)
    • Virtual Focus Groups Using LLMs (notebook)
  • Customer Behavior Analytics and Embeddings
    • Recency, Frequency, and Monetary Value (RFM) Analysis of Customer Purchases (notebook) (๐Ÿงช)
    • Analysis of Customer Behavior Patterns Using LSTM/Transformers (notebook)
    • Item2Vec Using Word2vec (notebook)
    • Customer2Vec Using Doc2vec (notebooks: simulator, prototype)
  • Media Mix, Attribution, and Budget Optimization
    • Campaign Effect Estimation In Observational Data Using Causal Inference (notebook) (๐Ÿงช)
    • Media Mix Modeling: Adstock Model for Campaign/Channel Attribution (notebook)
    • Media Mix Modeling: Bayesian Model with Carryover and Saturation Effects (notebook) (๐Ÿงช)
    • Multitouch Channel Attribution Model Using Deep Learning (LSTM with Attention) (notebook)

Search

These notebooks can be used to create enterprise search, product catalog search, and visual search solutions.

  • Text Search
    • Latent Semantic Analysis (LSA) (notebook) (๐Ÿ“š)
    • Retrieval-augmented Generation (RAG) Using LLMs (notebook)
  • Visual Search
    • Visual Search by Artistic Style (VGG16) (notebook)
    • Visual Search Based on Product Type (EfficientNetB0) (notebook)
    • Visual Search Using Variational Autoencoders (notebook)
    • Image Search Using a Language-Image Model (CLIP) (notebook)
  • Structured Data Search
    • Relational Data Querying Using LLMs (notebook)
  • Data Preprocessing
    • Product Attribute Discovery, Extraction, and Harmonization Using LLMs (notebook)

Recommendations

These notebooks can be used to prototype product recommendation solutions.

  • Basic Collaborative Filtering
    • Nearest Neighbor User-based Collaborative Filtering (notebook) (๐Ÿ“š)
    • Nearest Neighbor Item-based Collaborative Filtering (notebook) (๐Ÿ“š)
  • Deep and Hybrid Recommenders
    • Neural Collaborative Filtering - Prototype (notebook) (๐Ÿ“š)
    • Neural Collaborative Filtering - Hybrid Recommender (notebook)
    • Behavior Sequence Transformer (notebook)
    • Graph Recommender Using Node2Vec (notebook)

Demand Forecasting

These notebooks can be used to create demand and sales forecasting pipelines. These pipelines can further be used to solve inventory planning, price management, workforce optimization, and financial planning use cases.

  • Traditional Methods
    • Demand Forecasting for a Single Entity Using Exponential Smoothing (ETS) (notebook)
    • Demand Forecasting for a Single Entity Using Autoregression (ARIMA/SARIMAX) (notebook)
    • Demand Forecasting and Price Effect Estimation for Multiple Entities Using Generalized Linear Models (notebook) (๐Ÿงช)
  • Deep Learning Methods
    • Demand Forecasting for Multiple Entities Using DeepAR (notebook)
    • Demand Forecasting for a Single Entity Using NeuralProphet (notebook)
  • Dynamic Learning
  • Data Preprocessing

Pricing and Assortment

These notebooks can be used to create price optimization, promotion (markdown) optimization, and assortment optimization solutions.

  • Static Price, Promotion, and Markdown Optimization
    • Market Response Functions (notebook) (๐Ÿ“š)
    • Price Optimization for Multiple Products (notebook)
    • Price Optimization for Multiple Time Intervals (notebook)
  • Dynamic Pricing
    • Dynamic Pricing Using Thompson Sampling (notebook)
    • Dynamic Pricing with Limited Price Experimentation (notebook)
    • Price Optimization Using Reinforcement Learning (DQN) (notebook) (๐Ÿš€)

Supply Chain

These notebooks and applications can be used to develop procurement and inventory allocation solutions, as well as provide supply chain managers with advanced decisions support and automation tools.

  • Single-echelon Inventory Optimization Using (s,Q) and (R,S) Policies (notebook)
  • Inventory Allocation Optimization (notebook)
  • Multi-echelon Inventory Optimization Using Reinforcement Learning (DDPG, TD3) (notebook) (๐Ÿš€)
  • Supply Chain Simulator for Reinforcement Learning Based Optimization (PPO) (notebook) (๐Ÿš€)
  • Supply Chain Control Tower Using LLMs (notebook) (๐Ÿš€)

Smart Manufacturing

These notebooks can be used to prototype visual quality control and predictive maintenance solutions.

  • Noise Reduction in Multivariate Timer Series Using Linear Autoencoder (PCA) (notebook)
  • Remaining Useful Life Prediction Using Convolution Networks (notebook)
  • Anomaly Detection in Time Series (notebook)
  • Anomaly Detection in Images Using Autoencoders (notebook)

List of Questionnaires

These questionnaires can be used to assess readiness for typical AI/ML projects and collect the requirements for creating roadmaps and estimates.

More Documentation

  • The most basic models are described the Introduction to Algorithmic Marketing.
  • More advanced models that use deep learning and reinforcement learning techniques are described in The Theory and Practice of Enterprise AI.
  • Templates for basic data science and ML task are available in TensorHouseBasic repository.
  • Most notebooks contain references to specific research papers, industrial reports, and real-world case studies.
  • Follow LinkedIn and X (Twitter) for notifications about new developments and releases.

Contribution

We warmly welcome contributions, such as implementations of new use cases, advanced features and usability improvements for existing use cases, or enhancements to documentation.