{"id":868,"date":"2020-04-06T19:43:12","date_gmt":"2020-04-06T19:43:12","guid":{"rendered":"https:\/\/nilg.ai\/?p=868"},"modified":"2022-10-06T15:00:56","modified_gmt":"2022-10-06T15:00:56","slug":"embedding-domain-knowledge-for-estimating-customer-lifetime-value","status":"publish","type":"post","link":"https:\/\/nilg.ai\/pt\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/","title":{"rendered":"Embedding Domain Knowledge for Estimating Customer Lifetime Value"},"content":{"rendered":"<p><img decoding=\"async\" class=\"alignnone wp-image-876 size-large\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2020\/04\/pexels-pixabay-50987-1024x683.jpg\" alt=\"\" width=\"1024\" height=\"683\" \/>As part of the rise of Deep Neural Networks in the ML community, we have observed an increasing fit-predict approach, where AI practitioners don\u2019t take the time to think about the domain knowledge that is already available and how to embed that knowledge in the models. In this blogpost, we will cover how we created custom-made deep neural networks that combine domain knowledge for estimating customer lifetime value in multiple timesteps, in a project developed together with a major Telco in Portugal. We will start by explaining the problem and the different ways it has been approached in the literature, followed by our solution and the way we incrementally built it.<\/p>\n<p>While this post reflects the ideas applied in the Telecommunications industry, it can be easily extrapolated to any other subscription-based industry.<\/p>\n<h2>What is Customer Lifetime Value and how to estimate it?<\/h2>\n<p>The customer lifetime value is the <b>net present value of customers calculated profit over a certain number of months<\/b> [1]. Specifically, in the telecommunications industry, where price transitions are limited, customer monthly margin and customer survival curve are the two major components of this term.<\/p>\n<p>There are several approaches in the literature for estimating Customer Lifetime Value <b>(CLTV)<\/b>. The most classical approaches are based on statistical models (e.g. Buy \u2019Til You Die Models, Pareto\/NBD model, Recency-Frequency-Monetary value [2] ) and consider features such as purchase frequency and most recent purchases, fitting them to a certain statistical distribution. Most recently, machine-learning-based approaches are reported in the literature, which consider hand-crafted features [3, 4].<\/p>\n<p>Based on a <a href=\"https:\/\/www.meetup.com\/datascienceportugal\/events\/266386342\/\">previously presented idea<\/a> of a model for recommending the best package for a given customer, we set out to build a model that could <b>estimate customer lifetime value in a time window of N months, <\/b>given such recommendation. We intended to build a tool for understanding if CLTV could be used to help our stakeholders make decisions in the best package to offer in an outbound call. By maximizing CLTV for a set of possible package transitions, it is expected that client satisfaction and loyalty will also increase.<\/p>\n<h2><b>Business Rules and important dataset features<\/b><\/h2>\n<p>After accepting an offer, clients agree to a fidelization\/contract period of 24 months. If the offer is rejected, the fidelization period remains the same, and the risk of the client leaving the company (<i>churn<\/i>) increases.<\/p>\n<p>Our dataset contains two groups of features:<\/p>\n<ul>\n<li>Behavioral features: consumption patterns, interactions with the company\u2019s channels, etc.<\/li>\n<li>Proposal features: Features such as internet speed, package type, number of TV Channels, \u2026<\/li>\n<\/ul>\n<p>During this article, we will use the following notation: the offer month will be month 0, and the subsequent months will be named month 1, \u2026 N.\u00a0 If the target variables are presented in curly brackets, that means the input is a dictionary of arrays. If not, it is a single array.<\/p>\n<p>From the available data, we can calculate three different possible targets, which are all helpful for business decision making, in different use cases:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nilg.ai\/wp-content\/ql-cache\/quicklatex.com-429fd118f1891da18003764da14292a7_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#36;&#121;&#65;&#108;&#105;&#118;&#101;&#95;&#78;&#36;\" title=\"Rendered by QuickLaTeX.com\" height=\"17\" width=\"61\" style=\"vertical-align: -4px;\"\/>: Client has not left the company in month N (is alive\/did not churn)<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nilg.ai\/wp-content\/ql-cache\/quicklatex.com-4d6a02eabf303c80e051856c846fb68a_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#36;&#121;&#80;&#114;&#105;&#99;&#101;&#95;&#78;&#36;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"61\" style=\"vertical-align: -4px;\"\/>: Monthly Revenue (Price), simplified as subscription value<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/nilg.ai\/wp-content\/ql-cache\/quicklatex.com-ead8af5f99f4d230230dc15ef1193970_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#36;&#121;&#84;&#97;&#107;&#101;&#114;&#36;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"53\" style=\"vertical-align: -4px;\"\/>: Client accepted the offered package<\/p>\n<p>After considering several approaches for estimating CLTV based on optimization functions or machine learning models which used pre-trained models\u2019 scores as features (For more, check the <a href=\"https:\/\/nilg.ai\/blog\/202205\/appendix-embedding-domain-knowledge-for-estimating-customer-lifetime-value\/\">appendix<\/a>) we opted to develop an approach based on Deep Neural Networks.<\/p>\n<h1><span style=\"font-size: 18pt;\"><b>Deep Neural Networks Approach<br \/>\n<\/b><\/span><\/h1>\n<p>Deep learning has promoted a black-box approach where people do not think about what they\u2019re trying to do, and just plug their input features into a model and get an output value. At NILG.AI, we always think about business impact and how to create explainable models to <b>help communicate with people in charge of making business decisions.\u00a0<\/b><\/p>\n<p>How can we create a block-based model which we could quickly manipulate in case we wanted to test different things? How can we learn holistic representations of the client that cover more than one signal of interest (e.g., CLTV, churn, upselling, etc.). At a very high level, we planned on building a model that could be <b>single or multi-output<\/b>, and <b>single or multi-task<\/b>, with <b>embedded domain knowledge.<\/b><\/p>\n<p>The next sections will explain our building blocks of this architecture.<\/p>\n<blockquote><p>We improved the Mean Absolute Error by 50% using our custom architecture when compared with an off-the-shelf regression model<\/p><\/blockquote>\n<h3>DNN User<\/h3>\n<p>DNN User is a loop of <i>N<\/i> Dense layers followed by Dropout layers, with a final Dense layer which creates a common latent space for further tasks. Basically, this is a <b>feature extraction step<\/b> that extracts relevant user-specific features from the input features.<\/p>\n<p><img decoding=\"async\" class=\"wp-image-886 attachment-svg aligncenter\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2020\/04\/Embedding-Domain-Knowledge-Customer-Lifetime-Value-1.svg\" alt=\"\" width=\"175\" height=\"317\" \/><\/p>\n<p>For now, let\u2019s consider that we are outputting <b>only the Price for a given month after the proposal month (<\/b><img decoding=\"async\" src=\"https:\/\/nilg.ai\/wp-content\/ql-cache\/quicklatex.com-4d6a02eabf303c80e051856c846fb68a_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#36;&#121;&#80;&#114;&#105;&#99;&#101;&#95;&#78;&#36;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"61\" style=\"vertical-align: -4px;\"\/><b>).\u00a0<\/b><\/p>\n<h3>Churn + Regression Task &#8211; Single Output<\/h3>\n<p>If we were building a simple regression model, all we needed to do to finish this architecture would be to add a final non-negative activation (e.g., ReLU\/ELU), predicting <img decoding=\"async\" src=\"https:\/\/nilg.ai\/wp-content\/ql-cache\/quicklatex.com-4d6a02eabf303c80e051856c846fb68a_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#36;&#121;&#80;&#114;&#105;&#99;&#101;&#95;&#78;&#36;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"61\" style=\"vertical-align: -4px;\"\/>. We decided to add an extra task: estimating client survival probability, by having a sigmoid layer to predict <img decoding=\"async\" src=\"https:\/\/nilg.ai\/wp-content\/ql-cache\/quicklatex.com-429fd118f1891da18003764da14292a7_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#36;&#121;&#65;&#108;&#105;&#118;&#101;&#95;&#78;&#36;\" title=\"Rendered by QuickLaTeX.com\" height=\"17\" width=\"61\" style=\"vertical-align: -4px;\"\/>.<\/p>\n<p>As a way of enforcing that a <b>decrease in client survival probability leads to a decrease in CLTV<\/b>, we added the following business rule to our neural network:<\/p>\n<p class=\"ql-center-displayed-equation\" style=\"line-height: 72px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img decoding=\"async\" src=\"https:\/\/nilg.ai\/wp-content\/ql-cache\/quicklatex.com-bccf1aacbc644ba29c927f4158642f2d_l3.png\" height=\"72\" width=\"459\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\" &#92;&#98;&#101;&#103;&#105;&#110;&#123;&#101;&#113;&#110;&#97;&#114;&#114;&#97;&#121;&#42;&#125; &#80;&#114;&#105;&#99;&#101;&#68;&#101;&#115;&#116;&#95;&#78;&#32;&#38;&#32;&#61;&#32;&#38;&#32;&#80;&#114;&#111;&#98;&#65;&#108;&#105;&#118;&#101;&#95;&#78;&#40;&#88;&#41;&#32;&#92;&#116;&#105;&#109;&#101;&#115;&#92;&#92; &#38;&#32;&#38;&#32;&#80;&#114;&#105;&#99;&#101;&#65;&#108;&#105;&#118;&#101;&#95;&#78;&#32;&#43;&#32;&#92;&#92; &#38;&#32;&#38;&#32;&#40;&#49;&#45;&#80;&#114;&#111;&#98;&#65;&#108;&#105;&#118;&#101;&#95;&#78;&#40;&#88;&#41;&#41;&#32;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#80;&#114;&#105;&#99;&#101;&#67;&#104;&#117;&#114;&#110;&#101;&#100;&#95;&#78;&#92;&#92; &#92;&#101;&#110;&#100;&#123;&#101;&#113;&#110;&#97;&#114;&#114;&#97;&#121;&#42;&#125; \" title=\"Rendered by QuickLaTeX.com\"\/><\/p>\n<p>where the second term is equal to 0, as the Price when the client has churned (<img decoding=\"async\" src=\"https:\/\/nilg.ai\/wp-content\/ql-cache\/quicklatex.com-28a3a078535d3a9e238cdce96b3e9f98_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#36;&#80;&#114;&#105;&#99;&#101;&#67;&#104;&#117;&#114;&#110;&#101;&#100;&#95;&#78;&#36;\" title=\"Rendered by QuickLaTeX.com\" height=\"15\" width=\"119\" style=\"vertical-align: -3px;\"\/>) is zero. Therefore, this equation is reduced to a multiplication between survival probability and <img decoding=\"async\" src=\"https:\/\/nilg.ai\/wp-content\/ql-cache\/quicklatex.com-070aec819805204be6762ccb13a17557_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#36;&#80;&#114;&#105;&#99;&#101;&#65;&#108;&#105;&#118;&#101;&#95;&#78;&#36;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"92\" style=\"vertical-align: -3px;\"\/>, a latent space which can be interpreted as the <b>potential value the client is willing to pay for the service,<\/b> without considering customer satisfaction and competition.<\/p>\n<p>The network we have built until now is summarized below:<\/p>\n<p><img decoding=\"async\" class=\"wp-image-885 attachment-svg aligncenter\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2020\/04\/Embedding-Domain-Knowledge-Customer-Lifetime-Value-2.svg\" alt=\"\" width=\"326\" height=\"304\" \/><\/p>\n<p>Where the red-box outputs are learned in a multitask supervised fashion.<\/p>\n<p>The loss function is calculated according to the following equation:<\/p>\n<p class=\"ql-center-displayed-equation\" style=\"line-height: 45px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img decoding=\"async\" src=\"https:\/\/nilg.ai\/wp-content\/ql-cache\/quicklatex.com-3a51544b532149a95e8ce9ffa4f0144c_l3.png\" height=\"45\" width=\"361\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\" &#92;&#98;&#101;&#103;&#105;&#110;&#123;&#101;&#113;&#110;&#97;&#114;&#114;&#97;&#121;&#42;&#125; &#76;&#111;&#115;&#115;&#95;&#78;&#32;&#38;&#32;&#61;&#32;&#38;&#32;&#88;&#69;&#110;&#116;&#114;&#111;&#112;&#121;&#40;&#121;&#65;&#108;&#105;&#118;&#101;&#95;&#78;&#44;&#32;&#112;&#40;&#65;&#108;&#105;&#118;&#101;&#41;&#95;&#78;&#41;&#32;&#43;&#32;&#92;&#92; &#38;&#32;&#32;&#32;&#32;&#38;&#32;&#77;&#83;&#69;&#40;&#121;&#80;&#114;&#105;&#99;&#101;&#95;&#78;&#44;&#32;&#80;&#114;&#105;&#99;&#101;&#95;&#78;&#41;&#92;&#92; &#92;&#101;&#110;&#100;&#123;&#101;&#113;&#110;&#97;&#114;&#114;&#97;&#121;&#42;&#125; \" title=\"Rendered by QuickLaTeX.com\"\/><\/p>\n<h3>Churn + Regression Task &#8211; Multiple Output<\/h3>\n<p>The above network predicts <img decoding=\"async\" src=\"https:\/\/nilg.ai\/wp-content\/ql-cache\/quicklatex.com-4d6a02eabf303c80e051856c846fb68a_l3.png\" class=\"ql-img-inline-formula quicklatex-auto-format\" alt=\"&#36;&#121;&#80;&#114;&#105;&#99;&#101;&#95;&#78;&#36;\" title=\"Rendered by QuickLaTeX.com\" height=\"16\" width=\"61\" style=\"vertical-align: -4px;\"\/>. However, CLTV is estimated by summing the Price over several months.<\/p>\n<p>To create a multi-output model, all that is required is to repeat the above blocks, and shifting the target by one month for each block.<\/p>\n<p>The loss function is then calculated as:<\/p>\n<p class=\"ql-center-displayed-equation\" style=\"line-height: 52px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img decoding=\"async\" src=\"https:\/\/nilg.ai\/wp-content\/ql-cache\/quicklatex.com-12e66bd8997e875a964c53312ab9d751_l3.png\" height=\"52\" width=\"161\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\" &#92;&#98;&#101;&#103;&#105;&#110;&#123;&#101;&#113;&#110;&#97;&#114;&#114;&#97;&#121;&#42;&#125; &#76;&#111;&#115;&#115;&#32;&#38;&#32;&#61;&#32;&#38;&#32;&#92;&#115;&#117;&#109;&#95;&#123;&#105;&#61;&#48;&#125;&#94;&#123;&#78;&#125;&#32;&#76;&#111;&#115;&#115;&#95;&#78; &#92;&#101;&#110;&#100;&#123;&#101;&#113;&#110;&#97;&#114;&#114;&#97;&#121;&#42;&#125; \" title=\"Rendered by QuickLaTeX.com\"\/><\/p>\n<p><img decoding=\"async\" class=\"wp-image-884 attachment-svg aligncenter\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2020\/04\/Embedding-Domain-Knowledge-Customer-Lifetime-Value-3.svg\" alt=\"\" width=\"409\" height=\"238\" \/><\/p>\n<h3>Churn + Regression Task +\u00a0 Taker Task<\/h3>\n<p>We can also add an extra task for further explainability: the probability of the client accepting the offer (<b>yTaker)<\/b>, which can be modeled as a business rule in the network by the following equation:<\/p>\n<p class=\"ql-center-displayed-equation\" style=\"line-height: 71px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img decoding=\"async\" src=\"https:\/\/nilg.ai\/wp-content\/ql-cache\/quicklatex.com-b4e5e21d41e81cfa292e6180269aafff_l3.png\" height=\"71\" width=\"557\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\" &#92;&#98;&#101;&#103;&#105;&#110;&#123;&#101;&#113;&#110;&#97;&#114;&#114;&#97;&#121;&#42;&#125; &#69;&#120;&#112;&#101;&#99;&#116;&#101;&#100;&#86;&#97;&#108;&#117;&#101;&#84;&#97;&#107;&#101;&#114;&#95;&#78;&#40;&#85;&#115;&#101;&#114;&#41;&#32;&#38;&#32;&#61;&#32;&#38;&#32;&#80;&#114;&#111;&#98;&#84;&#97;&#107;&#101;&#114;&#95;&#78;&#40;&#85;&#115;&#101;&#114;&#41;&#32;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#76;&#97;&#116;&#80;&#114;&#105;&#99;&#101;&#95;&#78;&#32;&#43;&#32;&#92;&#92; &#38;&#32;&#38;&#40;&#49;&#32;&#45;&#32;&#80;&#114;&#111;&#98;&#84;&#97;&#107;&#101;&#114;&#95;&#78;&#40;&#85;&#115;&#101;&#114;&#41;&#41;&#32;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#92;&#92; &#38;&#32;&#38;&#32;&#80;&#114;&#105;&#99;&#101;&#79;&#114;&#105;&#103;&#105;&#110;&#92;&#92; &#92;&#101;&#110;&#100;&#123;&#101;&#113;&#110;&#97;&#114;&#114;&#97;&#121;&#42;&#125; \" title=\"Rendered by QuickLaTeX.com\"\/><\/p>\n<p>Which is the sum of the subscription value if the client accepts the offer and if he does not. This expected value is then multiplied by the survival probability in that timestamp, as in the previous architecture.<\/p>\n<p>The final equation (which can be followed by a non-negative activation, such as ReLu) is then written as:<\/p>\n<p class=\"ql-center-displayed-equation\" style=\"line-height: 72px;\"><span class=\"ql-right-eqno\"> &nbsp; <\/span><span class=\"ql-left-eqno\"> &nbsp; <\/span><img decoding=\"async\" src=\"https:\/\/nilg.ai\/wp-content\/ql-cache\/quicklatex.com-c337ceb6d5705644e01405446dcd309b_l3.png\" height=\"72\" width=\"495\" class=\"ql-img-displayed-equation quicklatex-auto-format\" alt=\" &#92;&#98;&#101;&#103;&#105;&#110;&#123;&#101;&#113;&#110;&#97;&#114;&#114;&#97;&#121;&#42;&#125; &#80;&#114;&#105;&#99;&#101;&#68;&#101;&#115;&#116;&#95;&#78;&#40;&#88;&#41;&#32;&#38;&#32;&#61;&#32;&#38;&#32;&#80;&#114;&#111;&#98;&#65;&#108;&#105;&#118;&#101;&#95;&#78;&#40;&#85;&#115;&#101;&#114;&#41;&#32;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#92;&#92; &#38;&#32;&#38;&#32;&#40;&#80;&#114;&#111;&#98;&#84;&#97;&#107;&#101;&#114;&#95;&#78;&#40;&#85;&#115;&#101;&#114;&#41;&#32;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#76;&#97;&#116;&#80;&#114;&#105;&#99;&#101;&#95;&#78;&#32;&#43;&#32;&#92;&#92; &#38;&#32;&#38;&#32;&#40;&#49;&#45;&#80;&#114;&#111;&#98;&#84;&#97;&#107;&#101;&#114;&#95;&#78;&#40;&#85;&#115;&#101;&#114;&#41;&#41;&#32;&#92;&#116;&#105;&#109;&#101;&#115;&#32;&#80;&#114;&#105;&#99;&#101;&#79;&#114;&#105;&#103;&#105;&#110;&#41;&#92;&#92; &#92;&#101;&#110;&#100;&#123;&#101;&#113;&#110;&#97;&#114;&#114;&#97;&#121;&#42;&#125; \" title=\"Rendered by QuickLaTeX.com\"\/><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/nilg.ai\/wp-content\/uploads\/2020\/04\/Embedding-Domain-Knowledge-Customer-Lifetime-Value-4-1.svg\"><img decoding=\"async\" class=\"wp-image-887 attachment-svg aligncenter\" src=\"https:\/\/nilg.ai\/wp-content\/uploads\/2020\/04\/Embedding-Domain-Knowledge-Customer-Lifetime-Value-4-1.svg\" alt=\"\" width=\"742\" height=\"620\" \/><\/a><\/p>\n<h2><b>Results<\/b><\/h2>\n<p>This architecture was compared to a base regression model. The mean absolute error <i>(MAE)<\/i> between the predicted and estimated Price was calculated. We improved the Mean Absolute Error by 50% using our custom architecture when compared with an off-the-shelf regression model.<\/p>\n<p>While for some cases, this may not have a direct impact in model results (and may even lead to reduced performance, if some of the labels are noisy and contradictory), adding these priors can lead to an increased model regularization and reduce overfitting to noisy values\/outliers or sporadic events in time.<\/p>\n<h2><b>Conclusion<\/b><\/h2>\n<p>We have managed to innovate in this area of estimating Customer Lifetime Value by creating a multitask model that can predict customer churn, lifetime value and propensity for accepting an offer. In spite of DNNs being typically considered as black boxes, we show here that, by thinking of DNN as Differentiable Programmes (as encouraged by Yann LeCunn), we can add different tasks to increase interpretability and decision making.<\/p>\n<p>With this, we can understand which offer is best for improving customer satisfaction and retention. For instance, an offer that leads to a low propensity and high probability of churn is probably not the best offer for that customer.<\/p>\n<p>There are several more ways we can add domain knowledge to this model, such as a loss function that penalizes more customers in a certain risk group, ensuring monotonic features have monotonic impact, among others.<\/p>\n<p>&nbsp;<\/p>\n<h2><b>References<\/b><\/h2>\n<ol>\n<li>Lu, J., &amp; Park, O. (2003). <a href=\"http:\/\/citeseerx.ist.psu.edu\/viewdoc\/download?doi=10.1.1.125.1947&amp;rep=rep1&amp;type=pdf\">Modeling customer lifetime value using survival analysis\u2014an application in the telecommunications industry<\/a>. <i>Data Mining Techniques<\/i>, 120-128.<\/li>\n<li>Peter S. Fader, Bruce G. S. Hardie, and Ka Lok Lee. 2005. <a href=\"https:\/\/journals.sagepub.com\/doi\/pdf\/10.1509\/jmkr.2005.42.4.415?casa_token=VpBpsqNwikMAAAAA%3AjdQLYTWu_0wSa1E9TTnldWAPajnpDIgHluWA2R_TMSn422zjH4iTOohD9PAkIAQMbwLVTYF9gGxU-g&amp;\">RFM and CLV: Using Iso-Value Curves for Customer Base Analysis<\/a>. Journal of Marketing Research XLII, November (2005), 415\u2013430<\/li>\n<li>Chamberlain, B. P., Cardoso, A., Liu, C. H., Pagliari, R., &amp; Deisenroth, M. P. (2017, August). <a href=\"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3097983.3098123?casa_token=9iZLSGh2Y8MAAAAA:EZGqu3Psa1wDdL51OuItQmhPhJ5J7aEcGyeAnOp7uuHxdJYQPCgmNkGbCJGIa6Ts15ZIf84SQrkoEg\">Customer lifetime value prediction using embeddings<\/a>. In <i>Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining<\/i> (pp. 1753-1762). ACM.<\/li>\n<li>Vanderveld, A., Pandey, A., Han, A., &amp; Parekh, R. (2016, August). <a href=\"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2939672.2939693?casa_token=57iQSkFZkwYAAAAA:v1F0sBL_zRVVewnIgfi8-cvqzvyogPUXEl3zB2FQobZtGlfzsQC_LAZidOWaNv64rbGW5iFMKnjnqQ\">An engagement-based customer lifetime value system for e-commerce<\/a>. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (pp. 293-302). ACM.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As part of the rise of Deep Neural Networks in the ML community, we have observed an increasing fit-predict approach, where AI practitioners don\u2019t take the time to think about the domain knowledge that is already available and how to embed that knowledge in the models. In this blogpost, we will cover how we created [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":876,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[53],"tags":[69,45,71],"class_list":["post-868","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical","tag-explainable-ml","tag-machine-learning","tag-telecommunications"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Embedding Domain Knowledge for Estimating Customer Lifetime Value - NILG.AI<\/title>\n<meta name=\"description\" content=\"How we designed an interpretable neural network to predict Customer Lifetime Value for the Telecommunications industry.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nilg.ai\/pt\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Embedding Domain Knowledge for Estimating Customer Lifetime Value - NILG.AI\" \/>\n<meta property=\"og:description\" content=\"How we designed an interpretable neural network to predict Customer Lifetime Value for the Telecommunications industry.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nilg.ai\/pt\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/\" \/>\n<meta property=\"og:site_name\" content=\"NILG.AI\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-06T19:43:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-10-06T15:00:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nilg.ai\/wp-content\/uploads\/2020\/04\/pexels-pixabay-50987.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"5472\" \/>\n\t<meta property=\"og:image:height\" content=\"3648\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Paulo Maia\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@nilg_ai\" \/>\n<meta name=\"twitter:site\" content=\"@nilg_ai\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Paulo Maia\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/nilg.ai\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/nilg.ai\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/\"},\"author\":{\"name\":\"Paulo Maia\",\"@id\":\"https:\/\/nilg.ai\/#\/schema\/person\/a860b9395bd25c5090160a3ac30e980d\"},\"headline\":\"Embedding Domain Knowledge for Estimating Customer Lifetime Value\",\"datePublished\":\"2020-04-06T19:43:12+00:00\",\"dateModified\":\"2022-10-06T15:00:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/nilg.ai\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/\"},\"wordCount\":1618,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/nilg.ai\/#organization\"},\"keywords\":[\"Explainable ML\",\"Machine Learning\",\"Telecommunications\"],\"articleSection\":[\"Technical\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/nilg.ai\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/nilg.ai\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/\",\"url\":\"https:\/\/nilg.ai\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/\",\"name\":\"Embedding Domain Knowledge for Estimating Customer Lifetime Value - NILG.AI\",\"isPartOf\":{\"@id\":\"https:\/\/nilg.ai\/#website\"},\"datePublished\":\"2020-04-06T19:43:12+00:00\",\"dateModified\":\"2022-10-06T15:00:56+00:00\",\"description\":\"How we designed an interpretable neural network to predict Customer Lifetime Value for the Telecommunications industry.\",\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/nilg.ai\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/nilg.ai\/#website\",\"url\":\"https:\/\/nilg.ai\/\",\"name\":\"NILG.AI\",\"description\":\"Create ever-improving businesses with AI\",\"publisher\":{\"@id\":\"https:\/\/nilg.ai\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/nilg.ai\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/nilg.ai\/#organization\",\"name\":\"NILG.AI\",\"url\":\"https:\/\/nilg.ai\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/nilg.ai\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/nilg.ai\/wp-content\/uploads\/2022\/03\/logo.svg\",\"contentUrl\":\"https:\/\/nilg.ai\/wp-content\/uploads\/2022\/03\/logo.svg\",\"caption\":\"NILG.AI\"},\"image\":{\"@id\":\"https:\/\/nilg.ai\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/twitter.com\/nilg_ai\",\"https:\/\/youtube.com\/@nilg_ai\",\"https:\/\/www.linkedin.com\/company\/nilg-ai\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/nilg.ai\/#\/schema\/person\/a860b9395bd25c5090160a3ac30e980d\",\"name\":\"Paulo Maia\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/nilg.ai\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9e3e7cb701fd6dcee37f7a4e9f73ef5a27f5741062c4cb179724a1052ea23086?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9e3e7cb701fd6dcee37f7a4e9f73ef5a27f5741062c4cb179724a1052ea23086?s=96&d=mm&r=g\",\"caption\":\"Paulo Maia\"},\"url\":\"https:\/\/nilg.ai\/pt\/author\/paulo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Embedding Domain Knowledge for Estimating Customer Lifetime Value - NILG.AI","description":"How we designed an interpretable neural network to predict Customer Lifetime Value for the Telecommunications industry.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nilg.ai\/pt\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/","og_locale":"pt_PT","og_type":"article","og_title":"Embedding Domain Knowledge for Estimating Customer Lifetime Value - NILG.AI","og_description":"How we designed an interpretable neural network to predict Customer Lifetime Value for the Telecommunications industry.","og_url":"https:\/\/nilg.ai\/pt\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/","og_site_name":"NILG.AI","article_published_time":"2020-04-06T19:43:12+00:00","article_modified_time":"2022-10-06T15:00:56+00:00","og_image":[{"width":5472,"height":3648,"url":"https:\/\/nilg.ai\/wp-content\/uploads\/2020\/04\/pexels-pixabay-50987.jpg","type":"image\/jpeg"}],"author":"Paulo Maia","twitter_card":"summary_large_image","twitter_creator":"@nilg_ai","twitter_site":"@nilg_ai","twitter_misc":{"Written by":"Paulo Maia","Est. reading time":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nilg.ai\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/#article","isPartOf":{"@id":"https:\/\/nilg.ai\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/"},"author":{"name":"Paulo Maia","@id":"https:\/\/nilg.ai\/#\/schema\/person\/a860b9395bd25c5090160a3ac30e980d"},"headline":"Embedding Domain Knowledge for Estimating Customer Lifetime Value","datePublished":"2020-04-06T19:43:12+00:00","dateModified":"2022-10-06T15:00:56+00:00","mainEntityOfPage":{"@id":"https:\/\/nilg.ai\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/"},"wordCount":1618,"commentCount":0,"publisher":{"@id":"https:\/\/nilg.ai\/#organization"},"keywords":["Explainable ML","Machine Learning","Telecommunications"],"articleSection":["Technical"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nilg.ai\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nilg.ai\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/","url":"https:\/\/nilg.ai\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/","name":"Embedding Domain Knowledge for Estimating Customer Lifetime Value - NILG.AI","isPartOf":{"@id":"https:\/\/nilg.ai\/#website"},"datePublished":"2020-04-06T19:43:12+00:00","dateModified":"2022-10-06T15:00:56+00:00","description":"How we designed an interpretable neural network to predict Customer Lifetime Value for the Telecommunications industry.","inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nilg.ai\/202004\/embedding-domain-knowledge-for-estimating-customer-lifetime-value\/"]}]},{"@type":"WebSite","@id":"https:\/\/nilg.ai\/#website","url":"https:\/\/nilg.ai\/","name":"NILG.AI","description":"Create ever-improving businesses with AI","publisher":{"@id":"https:\/\/nilg.ai\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nilg.ai\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/nilg.ai\/#organization","name":"NILG.AI","url":"https:\/\/nilg.ai\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/nilg.ai\/#\/schema\/logo\/image\/","url":"https:\/\/nilg.ai\/wp-content\/uploads\/2022\/03\/logo.svg","contentUrl":"https:\/\/nilg.ai\/wp-content\/uploads\/2022\/03\/logo.svg","caption":"NILG.AI"},"image":{"@id":"https:\/\/nilg.ai\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/nilg_ai","https:\/\/youtube.com\/@nilg_ai","https:\/\/www.linkedin.com\/company\/nilg-ai\/"]},{"@type":"Person","@id":"https:\/\/nilg.ai\/#\/schema\/person\/a860b9395bd25c5090160a3ac30e980d","name":"Paulo Maia","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/nilg.ai\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9e3e7cb701fd6dcee37f7a4e9f73ef5a27f5741062c4cb179724a1052ea23086?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9e3e7cb701fd6dcee37f7a4e9f73ef5a27f5741062c4cb179724a1052ea23086?s=96&d=mm&r=g","caption":"Paulo Maia"},"url":"https:\/\/nilg.ai\/pt\/author\/paulo\/"}]}},"_links":{"self":[{"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/posts\/868","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/comments?post=868"}],"version-history":[{"count":10,"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/posts\/868\/revisions"}],"predecessor-version":[{"id":870,"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/posts\/868\/revisions\/870"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/media\/876"}],"wp:attachment":[{"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/media?parent=868"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/categories?post=868"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nilg.ai\/pt\/wp-json\/wp\/v2\/tags?post=868"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}