這篇實習紀錄的核心是:作者以 Zepto 的 Pricing team Data Science Intern 身分,圍繞 quick commerce 的 inventory based pricing,從理解 Super Stores/Dark Stores/Mother Hub 的實體營運出發,在 near real time 的動態供需情境下把 pricing model 接上 inventory and pricing streams,並在 two weeks 內完成 pilot deployment,同時學到跨團隊協作與 A/B tests 設計等落地能力。
原文用一種「Observer's Log」的口吻在寫,像野外觀察筆記。說真的,這種寫法很吃電波:有人覺得中二,有人覺得很有畫面。但把戲劇感稍微收一下,你會看到它其實在講同一件事——做資料科學不是只有 notebook,尤其在 quick commerce 這種以 ten minute increments 計時的世界,模型不接到 production,就只是想法。
Observer's Log:Entry #01|進入 Zepto 的節奏(ten minute increments)
作者加入 Zepto,職務是 Pricing team 的 Data Science Intern,目標是研究 inventory based pricing,並建立能隨 dynamic supply and demand 在 near real time 反應的模型。
他一開始就把 Zepto 形容成「one of India's fastest moving tech ecosystems」——注意這是觀點與感受,不是可驗證的排名宣告。以及那個對比也很直白:讀 quick commerce at scale 跟真的動手做,完全是兩種野獸。嗯,這句其實很準,因為讀文章的你,不用處理現場缺貨、不用面對即時資料流、也不用扛上線後會不會炸。差很多。
合作對象也在原文交代得很清楚:manager 是 Deepak Dhankani,buddy 是 Abhijeet Anand;此外在後續工作裡也提到 Amit(在指導與推進上扮演角色)。「mission for the season」這個說法偏敘事,但它點出主線:inventory based pricing,要能跟供需變動跑,接近即時地動。
Phase 1(first 48 hours / two days)|先看實體:Super Stores 與 Dark Stores
在 first 48 hours(two days)內,作者的 onboarding 不是簡報式流程,而是先理解 Zepto 的理念與實體營運:包含與 Co-founder Kaivalya Vohra(KV)的互動,以及 CTO Nikhil Mittal 對工程哲學(observable、scalable、resilient)的說明,並實地走訪 Super Stores 與 Dark Stores。
這段其實在鋪一個很重要的因果:要做能落地的定價/數據模型,先懂「貨怎麼動、人怎麼動、單怎麼出」。原文說得很像畫面:站在 Dark Store 裡,像看一場高度優化的接力賽——補貨、撿貨、派騎手,全部是 real time,秒數都在算。這是比喻,但比喻的功能是讓你知道:這裡的時間尺度很短,短到你做任何分析如果慢半拍,就會跟不上。
KV 那段,作者最有感的是「clarity and humility」,以及 KV 強調兩件事:fast experimentation 和 deep operational thinking。Nikhil Mittal(CTO)則把工程的底層原則講得很直:系統要 observable、scalable、resilient。這三個詞很常見,但在這裡不是口號——它們會直接影響你後面要怎麼把模型接進資料流、怎麼監控、怎麼擴張、怎麼扛住變動。
Phase 2|沒有「Intern」隔離:inventory based pricing 直接走到 production
作者在 Zepto 的實習經驗是「intern work」與「full time work」沒有被刻意切開;他從第一天就被賦予真實 ownership,並在 two weeks 內把 inventory based pricing 的 pricing model 上線到 live pilot。
原文把這段寫得很爽快(還用了驚嘆號),但改成編輯視角,重點其實只有兩個:一是任務本身——做一個 pricing model,目標是「optimizes inventory availability」同時「alignment with Zepto's Pricing strategy」;二是節奏——從 ideation 到 deployment 很快,而且 two weeks 就到 pilot。至於 pilot 的範圍、覆蓋多少店、跑多久、結果怎樣?原文沒講,所以這裡也不能替它補。
他提到在 Amit、Deepak、Abhijeet 的指導下推進。這種描述比較像團隊合作紀錄,不是把功勞全部往自己身上收。就,挺正常,也比較可信。
另外,為了把模型 scale 到 Zepto 的「massive footprint」(同樣是描述性說法,不是精確量化),作者會固定參與 Product 與 Planning teams 的策略會議。這裡有個很現實的點:你如果只待在 data science silo,你的模型很容易寫得很漂亮,但落地會卡在需求、流程、或營運限制。跨出去,才會知道「到底哪些約束不能動」。很煩。也很必要。
把「業務需求」翻成可解的模型問題:mathematical optimization + predictive modeling
作者將跨部門合作的收穫之一,描述為把 business requirement 拆解成具體限制條件,並轉譯成 mathematical optimization 與 predictive modeling 的問題定義。
這句話表面上很像履歷,但原文其實有講到「ask the right questions about constraints」。我會把它理解成:不是拿到一句「要讓庫存更健康」就開始建模,而是先問清楚:什麼叫健康?哪些品類不能缺?哪些策略必須對齊 Pricing strategy?哪些變數在 near real time 會動、哪些其實一天才更新一次?(我這裡只能用提問方式呈現,不把它寫成原文沒說的細節。)
然後才把它框成可運算的東西:可能是 optimization,也可能是 predictive modeling,或兩者一起用。原文沒有交代更細的形式,所以到這裡就收。
超在地配送下的 A/B tests:control vs. test、demand spillover、statistical significance、real-time metrics
作者提到在 hyper local delivery 的 quick commerce 情境下設計 A/B tests,需要選定 control vs. test dark stores、考量 demand spillover,並為 real-time metrics 定義 statistical significance。
這段我覺得是整篇最「資料科學落地」的一段。因為 A/B test 在教科書裡很乾淨:抽樣、隨機、看差異。但在 Dark Stores 這種超在地的場景,需求會外溢(demand spillover),你今天把某些店做 test,附近店的需求可能也會被牽動。這種互相影響會讓「控制組很乾淨」變得不那麼乾淨。
原文沒有講他怎麼處理、用什麼統計方法、或最後採用哪些指標,所以這裡不寫答案,只保留他學到的能力描述:他必須把 control vs. test 的設計做得更謹慎,還要把 statistical significance 放到 real-time metrics 的節奏裡去理解。講白一點,就是要讓實驗結論在現場可用,而不是只在報告裡漂亮。
從模型到系統:用 ETL pipelines 連到 inventory and pricing streams,才能稱得上 deployment
作者將「shipping to production」描述為把模型直接連到 live dark store inventory and pricing streams,並透過 ETL pipelines 讓資料與決策流程在 production 跑起來。
這裡就是工程與資料科學的交界。你可以寫一個模型。可以。然後呢?沒有 ETL pipelines、沒有把資料流接好、沒有把輸出接到定價或營運流程,那就只是模型。原文用的是「Connected the model directly」這種很直接的句子,意思是:他做的不只是分析,而是把它塞進系統裡,讓它在 live stream 的節奏下運作。
題外話(但又不完全題外):很多人說自己會 deployment,其實是把 notebook 轉成 script。這裡的「production」更像是:資料、系統、流程都要一起走。好,拉回來。原文到此為止,沒有更多細節,所以不延伸。
Phase 3|Mother Hub 的尺度:warehouse automation、millions of products、OdinEye
實習中段,團隊參訪 Zepto Mother Hub;作者描述該設施有 warehouse automation,能有效處理 millions of products,並在現場看到 OdinEye(可擴展的 computer vision face authentication 系統)用於 attendance,且能 real time 運作。
如果 Dark Stores 是「短跑選手」,Mother Hub 就是「心臟」——這也是原文的比喻。作者的感受是被規模震到(mind-blowing),但他更在意的是:他看到 in-house AI initiatives 不是停在簡報,而是跑在地面上。
其中一個 standout moment 是 OdinEye:Zepto 的 scalable computer vision face authentication system for attendance。原文特別寫了「seamlessly processing personnel in real time」。所以我們能確定的描述範圍就是:它在現場做出勤(attendance)的人員辨識流程,且是即時處理;至於它怎麼做、準確率如何、合規怎麼處理、是否有其他用途——原文沒給,就不補。
作者最後用一句比較像心得的話收束:看到 machine learning 解決 tangible operational friction at scale,reaffirmed why we build the way we do。這是情緒句,但它其實回扣到前面 KV 的 fast experimentation、以及 CTO 講的 observable/scalable/resilient——因為你真的要在現場跑起來,這些原則就會逼著你做對選擇。
Phase 4|Pack Bonding:足球、go-karting、laser tag(但不是「可有可無」)
作者提到實習期間不只有模型與部署,Data Science team 也安排團隊活動,包括 football、go-karting 與 laser tag,讓成員在工作之外建立連結。
這段看起來比較輕,但它在敘事上有功能:前面一直在講速度、規模、production,讀者其實會累。這裡插入「pack bonding」,讓你知道團隊文化不是只剩 KPI(原文也沒提 KPI),而是會用一些活動把人黏在一起。
而且原文說「hierarchy dissolves」那種感覺——我會把它理解成:至少在那個場域裡,大家比較像隊友。就這樣。簡短,但夠。
Evolution|從「實習生」到能落地的資料科學工作方式
作者在結語中表示,這段 Zepto 實習讓他不只提升 pricing models 與 data pipelines 的技術熟練度,也學到以速度(velocity)推進、與 Product 與 Planning teams 跨職能合作,並設計能帶來 business impact 的資料科學模型。
原文最後那段「Observer's Log: Final Entry」用的是「evolved」這種敘事收尾:第一天的猶豫消失了,換成一個把假設放到真實世界測過的工程師的自信。這句話同樣是主觀感受,但它跟前面「two weeks 上 pilot」「接到 live inventory and pricing streams」「設計 A/B tests 考慮 demand spillover」是連得起來的。
如果硬要用一句更克制的編輯式結論:這篇文章最可轉移的知識是——在 quick commerce 做 inventory based pricing,理解實體營運與系統工程(ETL、資料流、production)跟模型本身一樣重要;而跨 Product 與 Planning 的對齊,往往是模型能不能 scale 的關鍵。
