Image for post
Image for post
Photo by Efe Kurnaz on Unsplash

On a Subscription Based Example

Consider these as primers to customer lifetime value: these 3 parts are quite easy to digest and will give you a good intro to LTV. In Part 1, I went through the logical piece, so if you’re interested, go check it out! In (a small) Part 2, I showed an example of how cohort retention adds up to an average weighted lifetime of a customer. And here, in Part 3, I have added a Python blueprint code that you can use and improve upon to extrapolate your customer LTV.

Part 1: Estimating Customer Lifetime Value Via Cohort Retention, CLV or…


Image for post
Image for post
Photo by Mathew Schwartz on Unsplash

As a Sum of Cohort Retention, not a Proof but an Experiment

A Bit of Inspiration
This is a short-read follow-up post to the one I wrote on determining the average lifetime value of a cohort using retention, which you can find here. There, I have suggested a way how you can extrapolate customer retention on newer cohorts to get the lifetime, and here, I would like to explain why it makes sense to add up cohort retention to get an average lifetime of a customer. …


Image for post
Image for post

CLV or LTV as they call it

This is Part I of the two-part series dedicated to estimating customer lifetime value. In this post, I will describe how to estimate LTV, on a conceptual level, in order to explain what we’re going to be doing in Part II with the Python code.

First of all, why LTV? There are two reasons: creating a benchmark for customer acquisition costs (CAC) and comparing customers, e.g. if we’re targeting those who spend more or less than an average customer.

Many sources talking about using churn or retention to estimate customer lifetime value (LTV), and while the core idea remains the…


Image for post
Image for post
by Tom Gowanlock

Scrapy + Selenium to scrape Airbnb (Python code included)

“The first rule of web crawling is you do not harm the website. The second rule of web crawling is you do NOT harm the website.”

In my previous blog post (link here), I gave an overview of using Scrapy and Selenium for web scraping. I focused on the learning outcomes of me building my first couple of scrapers with these tools. I haven’t found many online examples of how to marry Scrapy and Selenium, so if you are looking for such a thing, keep on reading — I attempted to make this post as illustrative as possible. …


Image for post
Image for post
kaggle.com

Thoughts on a scraper design that could save your time

In this post, I am sharing my first experience with web scraping and the tools I have used (Scrapy and Selenium). I hope this piece will be helpful to someone seeking for general guidance as I am covering the learnings I find valuable and things I wish I knew when the idea of scraping crossed my mind the first time. Specifically, I wanted to highlight the peculiarities of using the two tools together and when to use what, as many of the explanations that I found online focused on either one or the other. I will not get into the…


This was my first attempt to perform customer clustering on real-life data, and it’s been a valuable experience. While articles and blog posts about clustering using numerical variables on the net are abundant, it took me some time to find solutions for categorical data, which is, indeed, less straightforward if you think of it. Methods for categorical data clustering are still being developed — I will try one or the other in a different post.

On the other hand, I have come across opinions that clustering categorical data might not produce a sensible result — and partially, this is true…

Anastasia Reusova

Data Lab | Growth Hacking & Data Science

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store