<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Ibrahim Arief on Medium]]></title>
        <description><![CDATA[Stories by Ibrahim Arief on Medium]]></description>
        <link>https://medium.com/@iarief?source=rss-8c3e88c29827------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*g3zt_6kNe1bKhfJbs91rOQ.jpeg</url>
            <title>Stories by Ibrahim Arief on Medium</title>
            <link>https://medium.com/@iarief?source=rss-8c3e88c29827------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 10:01:43 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@iarief/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[How We Build a Multimillion Dollar AI for Indonesia]]></title>
            <link>https://medium.com/inside-bukalapak/how-we-build-a-multimillion-dollar-ai-for-indonesia-9b5ce556a053?source=rss-8c3e88c29827------2</link>
            <guid isPermaLink="false">https://medium.com/p/9b5ce556a053</guid>
            <category><![CDATA[machine-learning]]></category>
            <category><![CDATA[engineering]]></category>
            <category><![CDATA[bukalapak]]></category>
            <category><![CDATA[data-science]]></category>
            <category><![CDATA[recommendation-system]]></category>
            <dc:creator><![CDATA[Ibrahim Arief]]></dc:creator>
            <pubDate>Tue, 04 Sep 2018 04:34:12 GMT</pubDate>
            <atom:updated>2018-09-04T04:45:38.397Z</atom:updated>
            <content:encoded><![CDATA[<p>September 2018 marks the two year anniversary of our first AI product at Bukalapak: a recommendation AI that learns from the behavioral pattern of our visitors and provides suggestions to help them find the right seller and product for their purchase.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*lshVHA5mz9fHdLeb5Lhm-Q.png" /><figcaption>Any potterhead here?</figcaption></figure><p>Over the course of two years, our Reco AI has assisted our sellers in generating millions of additional transactions that would not be possible otherwise. That said, when talking about the positive impact for the AI, our proudest metric is that it has been helping hundreds of thousands of Indonesians in earning an additional 1 trillion IDR (US$70 million) of income. If there is one thing we love to do at Bukalapak, it is to improve the lives of Indonesians with our products.</p><h4>The Origin Story</h4><p>Every hero requires an origin story, and our AI is no exception. The origin story for our AI starts on the day I moved back to Indonesia. Having just dropped out of my Ph.D. in computer vision a couple of years before, I was eager to start a culture of AI research within Bukalapak and see what kind of AI we can build from our mountains of data.</p><blockquote>Wait, did I say “mountains of data”?</blockquote><p>It turns out, one of the core principle at Bukalapak since day one is “store everything, we’ll be able to build something useful with those data someday.” We have more than a petabyte of data on our data warehouse by the time I joined, ranging from transactions to product descriptions to user-generated traffic. The last one turns out to be our gold mine.</p><p>After talking with several engineers, data scientists, and product managers, we formulate a strategy to quickly experiment and validate the value of using our tons of traffic data to build an AI that can learn from the traffic and provide product recommendations to potential buyers.</p><p>We scoped in a small project to build a working prototype within a couple of months to one of the product squad, a small team of five engineers and two data scientists. The short cycle is intentional since we do not want to spend more efforts than that if the endeavor turns out to be fruitless.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HX30teKC-1IPgE7_cdHOtA.png" /><figcaption>The team behind our first reco AI</figcaption></figure><h4>Designing and Building the AI</h4><p>What we built back then was quite rudimentary compared to the complex model we have right now. We started with one of the most common types of recommendation AIs: collaborative filtering.</p><p>The idea is deceptively simple: if a user viewed product X and then viewed product Y, then another user viewing product X might also be interested with product Y. We are effectively using the traffic data to form associations between our millions of products. Multiply this approach with billions of “viewed together” events, and what started as a simple thought exercise becomes a powerful training dataset for the AI that we want to build.</p><p>Moreover, this approach is highly parallel and highly scalable and thus becomes the perfect use case for MapReduce computations. We use Spark MapReduce running on a 32-core machine for our initial prototype, crunching 4 GB of compressed traffic snapshot in several hours.</p><p>One crucial context: prior to the AI, we use Elastic’s “more like this” feature to give our visitors a product-to-product recommendation. We took a couple of samples and visually compare the output from Elastic and our AI:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OhXdO3MkoLohr7vtcCIfZA.png" /></figure><p>The samples show good quality recommendations. Instead of showing similar products, we present our visitors with various product alternatives for their shopping journey. So far so good, the next step is to validate the AI prototype in production.</p><h4>Validating the AI</h4><p>We decided to put the recommendation at the bottom slot of every product detail page, as shown below.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/803/1*Y5OOg3Vckv9J44R3mmYiRg.png" /></figure><p>We use an approach called A/B testing to validate whether the AI-based recommendation that we put on that slot gives more impact than the Elastic-based similar products. The idea is to have both the old and new versions running at the same time, but we randomly choose which version to present when a user visits our site. We then track the user’s journey within our site, taking careful note of the relevant metrics. (e.g. whether the user made a purchase or not)</p><p>In our case, when a user visit a product page, the recommendations at the bottom of the page are being populated from either the reco AI or from Elastic. We then use our internally built A/B testing framework to track multiple metrics related with purchases to gather real-world objective data regarding the performance of the AI.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/852/1*BKquNHoAn-C2nQ9N7X4K8g.png" /><figcaption>Sample of the results from our internally built A/B test service, sorry for the huge chunk of censorship!</figcaption></figure><p>We ran the A/B test for two weeks before analyzing the outcome of the experiment. The result was astounding. We observed a significant increase in visitor purchase when they were being presented with recommendations coming from the new AI.</p><p>Convinced with the positive impact of the AI, we decided to spend another month building automated data pipelines and process to incrementally train the AI and build fresh recommendations every day for our visitors. At the end of the first month alone, we saw that the AI had generated an additional US$1 million of revenue for our sellers.</p><h4>Now and the Future</h4><p>Fast forward two years later, we have built a dedicated team that focus on increasing the quality of our recommendation AI. We have expanded the computing cluster dedicated to build our recommendations to a thousand-core cluster and we are now able to generate the reco-set in a matter of minutes instead of hours, enabling us to do more rapid experimentation with our models.</p><p>We have made several iterative improvements to our AI models, always validating the idea with further A/B tests, and continue to experiment with more ideas as we go on. Several of the “big wins” in the past include expanding our event models and adding personalization context to our recommendations. Thanks to these improvements, our reco AI is now bringing home 75 billion IDR (US$5 million) per month in additional income for sellers all over Indonesia.</p><p>For future improvements, we are currently experimenting with modeling the recommendations in a dense multi-million node knowledge graph, and see whether we can coax more insightful recommendations for our visitors based on the connections within the graph.</p><h4>Expanding to More AI Products</h4><p>Reco AI was the first AI product that we built, but since that time two years ago, having seen the kind of potential impact an AI could do to help our millions of users, we want to establish an AI division to expand our focus and gain expertise at other areas where we could use AIs in order to assist our visitors, sellers, and operational teams.</p><p>Building up an AI division is a lengthy subject that warrants a separate article, but a great deal of inspiration for the way we organize our AI efforts came from the following talk with Dani Yogatama, who shared with us about his experience being part of large research organizations at Google DeepMind and Carnegie Mellon University.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FzT0OQ36oTXY%3Ffeature%3Doembed&amp;url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DzT0OQ36oTXY&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FzT0OQ36oTXY%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/ae0edf1a39e759baa1d2b55866b62a5b/href">https://medium.com/media/ae0edf1a39e759baa1d2b55866b62a5b/href</a></iframe><p>What we have established at Bukalapak so far consist of two streams of research efforts. The first stream is for building regression or neural-net based AI models from millions of rows of structured and labeled data. We use an AutoML platform to rapidly build basic models to test out the feasibility of using AI to approach the problem. This platform enables our data scientists to quickly iterate and validate their models, typically within a couple of weeks instead of months.</p><p>The second stream is for building more complex AI models. We establish several AI R&amp;D teams to build and improve various AI services ranging from using computer vision to recognize objects/watermarks within product images, to using natural language processing to understand search queries better and assist our users in finding the right product for their shopping journey.</p><h4>Recommendations for Building AIs for Your Industry</h4><p>Sorry for the pun. We have been asked about this numerous times by others within the industry ever since word got around that we are building a high impact AI to help our visitors and sellers. Here are three recommendations from us if you want to build AIs for your particular industry/business:</p><ol><li><strong>Collect, store, and verify that you have the data.</strong> Starting the project with an already organized petabyte-scale data warehouse helps saves months within the project. Since otherwise, we would need to spend several months just to gather and clean up the dataset necessary to train our AI.</li><li><strong>Initiate, validate, iterate.</strong> Don’t get stuck on trying to build the perfect AI or trying to strictly follow some research paper within the field. Sometimes starting with a simple model will be enough as long as you can quickly validate the model against real-world traffic or data. Then you can iterate and build progressively more complex and better quality models.</li><li><strong>A/B test, A/B test, A/B test.</strong> Oh and did we say you should A/B test your AI? Running manual analysis using a small number of samples are fine for quick and early validations, but don’t forget to validate your model using real-world data and A/B tests, doing so will help you avoid possible selection bias and gather objective data to guide your AI development.</li></ol><h4>Obligatory “We Are Hiring!” Closing Remark</h4><p>We have built one of the best tech workplaces in Indonesia, where we combine strong learning and research culture, mutual respect, work-life balance, and the capacity to improve and bring positive impact to millions of Indonesians.</p><p>We have more than 850 tech talents as of September 2018, working together to build exciting tech products to help improve the livelihood of Indonesians, and we are hiring many more to join our growing tech family. Sounds interesting? Check out our <a href="https://careers.bukalapak.com/">career site</a>, we have tons of interesting roles!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9b5ce556a053" width="1" height="1" alt=""><hr><p><a href="https://medium.com/inside-bukalapak/how-we-build-a-multimillion-dollar-ai-for-indonesia-9b5ce556a053">How We Build a Multimillion Dollar AI for Indonesia</a> was originally published in <a href="https://medium.com/inside-bukalapak">Inside Bukalapak</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How We Deal with Friday Afternoon Bugs]]></title>
            <link>https://medium.com/inside-bukalapak/how-we-deal-with-friday-afternoon-bugs-87e2b311eb67?source=rss-8c3e88c29827------2</link>
            <guid isPermaLink="false">https://medium.com/p/87e2b311eb67</guid>
            <category><![CDATA[stories]]></category>
            <category><![CDATA[bukalapak]]></category>
            <category><![CDATA[startup-life]]></category>
            <category><![CDATA[engineering]]></category>
            <category><![CDATA[indonesia]]></category>
            <dc:creator><![CDATA[Ibrahim Arief]]></dc:creator>
            <pubDate>Thu, 19 Jul 2018 07:43:57 GMT</pubDate>
            <atom:updated>2018-07-21T09:07:29.490Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*QQNNQvJHnoqddgemJAIDog.png" /></figure><p>About a year ago, we found an edge case issue in our API that caused a tiny percentage of our iOS users to experience disruptions to their checkout flow.</p><p>Since data-driven is part of our core culture, we ran a quick impact analysis based on the tens of billions of data points that we collected daily and calculated that the issue is causing us to lose $8000 worth of transactions every single day.</p><p>Sounds scary, right? To top it off, we found the issue on a Friday afternoon, right when the team is about to log off for their weekend.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*MRpEt5yGh4wlJZf429tVIA.jpeg" /></figure><h3>So what did we do?</h3><p>If you guessed that the team spent their weekend fixing the issue, you guessed wrong! After calculating the impact, we simply called it a day and asked the team to enjoy their weekend and fix the issue in Monday instead.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*y57HnSAKN1oqTWC7fUycZA.png" /><figcaption>The team, celebrating their weekend, probably</figcaption></figure><p>So the team did exactly that, came back Monday feeling fresh and reinvigorated, jumped to the issue, quickly found the root cause, and deployed a fix on the same afternoon.</p><h3>But why would we choose to ignore the impact?</h3><p>Well, it’s not really ignoring the impact. After all, we all can agree that $8000/day is not an insignificant amount of money. We can easily imagine scenarios where business leads screamed out of their lungs and pushed the team to fix the issue ASAP.</p><p>As with most other things in the world, we need to take a step back and obtain more perspective on the scale of things. Yes, the impact is not insignificant, but when we’re handling millions of dollars worth of e-commerce transactions per day at Bukalapak, in relative percentage $8000 is quite small.</p><p>Let’s take another perspective. Over here the majority of our 650+ tech talents are focusing on experiments and incremental improvements to our overall product. Teams often celebrate Big Wins, improvements that our A/B Test experiments have shown to deliver at least +1% growth to our global KPI. At our scale, those improvements could translate to tens of millions of dollars worth of additional annual transactions.</p><p>What this means within the context of having an issue with $8000/day impact is, why should we bother disrupting the team and pushing them to fix a 0.1% loss through weekend overtimes if it meant that they have less energy to finish a potential 1% growth improvement? Everyone, including our business leads, understands this very well and triaging production issues based on objective data becomes a powerful prioritization tool for us.</p><p>Taking yet another, perhaps more powerful perspective (and my personal favorite), this core value means that <em>we respect the weekend of our teams more than $8000/day worth of transactions</em>. How’s that for a work-life balance company? :)</p><h4>P.S. We’re hiring! ;)</h4><p>We have built one of the best tech workplaces in Indonesia, where we combine strong learning culture, mutual respect, and amazing positive impact on millions of Indonesians. This year alone we’re on track to hire more than 300 new tech talents to help accelerate our growth even further. Sounds interesting? Check out our <a href="https://careers.bukalapak.com/">career site</a>, we have tons of interesting roles!</p><p>P.P.S. All the pics (except the kid’s facepalm) came from our <a href="https://www.youtube.com/watch?v=SFBBMpyt3Cc">Work at Bukalapak video</a>, check it out if you want to see how it feels like joining our tech family!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=87e2b311eb67" width="1" height="1" alt=""><hr><p><a href="https://medium.com/inside-bukalapak/how-we-deal-with-friday-afternoon-bugs-87e2b311eb67">How We Deal with Friday Afternoon Bugs</a> was originally published in <a href="https://medium.com/inside-bukalapak">Inside Bukalapak</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>