In one of my previous posts , I discussed congestion in the job market caused by the surge of AI tools that scrape job descriptions and auto-apply to jobs. I suggested pay-to-apply as a possible solution, where payment is made with platform-issued virtual points available in limited supply rather than real money. I focused more on explaining why dynamic pricing can solve the problem better than AI…
Disclosure: I am also the author of tea-tasting. This article compares four Python packages that are relevant to A/B test analysis: tea-tasting, Pingouin, statsmodels, and SciPy. It does not try to pick a universal winner. Instead, it clarifies what each package does well for common experimentation tasks and how much manual work is needed to produce production-style A/B test outputs. It…
Market prices are similar to model weights in the sense that they are "fit" through price discovery mechanisms to optimize for equilibrium. The difference between supply and demand is analogous to the gradient in backpropagation. An important property of prices is that they can be "fit" to distributed and sometimes hidden data. As Friedrich Hayek argued, prices convey dispersed knowledge that no…
A ladder of questions in analysis: Which question should we ask to address a decision or a problem? Which model should we choose to answer the question? Which assumptions must hold for the model to be valid, and do they hold? What data do we need to apply the model? What conclusions can we draw after applying the model? From my personal experience, people often skip steps 1 and 3, which can lead…
Fisher and smoking # Ronald Fisher , the father of modern statistics and experimental design, refused to believe that smoking tobacco caused lung cancer. He argued that correlation does not imply causation and even published a paper in Nature titled Cancer and Smoking , defending this viewpoint. Ronald Fisher enjoying a pipe, 1956. Source . Fisher and Guinness # Ronald Fisher helped William Gosset…
Note: the post has been updated on March 7, 2026. It's often referred to by AI chatbots and agents without recognizing that some information could be outdated. So I decided to update it. I developed tea-tasting , a Python package for the statistical analysis of A/B tests featuring: Welch's t-test, Student's t-test, z-test, Bootstrap, variance reduction with CUPED, delta method…
tea-tasting: statistical analysis of A/B tests # tea-tasting is a Python package for statistical analysis of A/B tests that features: Student's t-test, Z-test, and Bootstrap out of the box. Extensible API: Define and use statistical tests of your choice. Delta method for ratio metrics. Variance reduction with CUPED / CUPAC (also in combination with delta method for ratio…
Intro # Many people associate the Dunning–Kruger effect with the following image: Misinterpretation of the Dunning–Kruger effect Actually, this image is a misinterpretation of the conclusions drawn by Dunning and Kruger from their experiments. The Dunning–Kruger effect is a cognitive bias in which people with limited competence in a particular domain overestimate their abilities. 1 Furthermore,…
Recap # This is the second post about the ranking problem in Profi, a services marketplace where customers can find tutors, beauty masters, plumbers, and other professionals, and professionals can find customers. Here is the short recap of the previous post : In Profi, professionals search, choose orders, and send proposals to customers. And then the customers review the proposals and choose the…
Overview # Profi is a two-sided matching platform where customers can find tutors, beauty masters, plumbers, and other professionals, and professionals can find customers. It's a horizontal marketplace with over 900 types of services provided by professionals. The quality of search and ranking is important for the matching process there. In a two-sided matching platform, both sides have to…
What is rico? # rico is a Python package for creating HTML documents from rich content: dataframes, plots, images, markdown, etc. It provides a high-level, easy-to-use API with reasonable defaults, as well as low-level access for better control. Why rico? # One might wonder why they need another package if they can create HTML documents with Jupyter and nbconvert. If you are working with data in…