dataeze × The Pant Project
Six week review, 10 Aug 2026

From spreadsheets
to one number everyone trusts.

Six weeks ago: Excel and Google Sheets, and finance and the shop floor reading different numbers on a bad day. Today: one system that updates itself every night, 18 pages anyone on the team can open, and an assistant you can just ask a question. What we built, what we found walking the store, and what happens next.

Prepared for Dhruv Toshniwal, Founder
tpp.dataeze.ai
01 · Progress Where we started, 01 Jul 2026

Two teams, two views of the business, nothing tying them together yet.

Finance closed the month in one file. The shop floor ran off another. Marketing, warehouse and retail each kept their own sheet. Nobody was wrong, each team was tracking the number that mattered for their own job, the store view and the finance view are naturally built for different purposes. What was missing was something that sat above all of them and showed how the two connect. And the pipes carrying the raw data in were still being laid.

That's completely normal for a brand growing this fast. It's not a knock on anyone. Credit where due: the plumbing that pulls data in from every source (built in-house, using a tool called Airbyte) was already there for us to build on top of.

The starting point, 01 Jul
Reporting lived in
Excel + Sheets
One trusted number for everyone
Not yet
Finance vs shop-floor definitions
Not yet mapped to each other
Timeline agreed
6–8 weeks
01 · Progress What's live today

One pipeline in, one place to look.

Every source of data (Shopify, the stores, Amazon, Myntra, marketing, warehouse and more) now flows into one clean, trusted set of numbers, updated automatically every night. From there it feeds your Power BI reports and Live Intelligence, the self-serve site at tpp.dataeze.ai, plus an assistant on every page you can simply ask a question.

18
Pages, live
Built around the questions a founder actually asks, not a copy of the old report
1,033
Calculations built
762 you can see and use directly, 274 working quietly behind the scenes
11 / 13
Data sources up to date
2 flagged below, we're not hiding anything
₹55.48 Cr
Revenue tracked this year
206,380 orders, as of 09 Aug
Updating every night, on timeShopify · store app (Fynd) · Amazon · delivery tracking (ClickPost) · Meta Ads · warehouse (Increff) · Google Ads · footfall cameras (TangoEye) · reviews & ratings
Current
MyntraHasn't updated in 7 days, we're chasing it today
Behind
Purchase recordsLast updated 30 Mar, this one's on your side, more on that under Commercials
Behind
01 · Progress How we got here

Six weeks, in order.

Jul, Week 1
Kickoff. Sorted out access to every data source, planned the build.
Jul, Week 2
The first version of the clean, trusted number set went live behind the scenes.
Jul, Week 3
Delivery and courier tracking added. First version of true margin. Store list cleaned up.
Jul, Week 4
Live Intelligence, the self-serve site, went live at tpp.dataeze.ai.
Aug, Week 1
One shared home for store, product and target data. Daily store alerts switched on. The AI assistant wired in.
Aug, Week 2
Last 4 days: mapped the store and finance definitions to each other, rebuilt margin using 3 years of real purchase data, added salesperson numbers, fixed how targets account for weekends, cleaned every single page.

One comparison worth making: at Lenskart, running at ten times this size, store and target data was still living in Google Sheets. Here, it's already in one shared, centralized place, in six weeks, not years.

01 · Progress The most important slide in this deck

The numbers now hold up if you check them.

We checked every figure below against the live system this morning, not from memory. Here's exactly where things stand, including what still needs work.

61.5%
Gross margin, this year
Steady in the 60–63% range all year, matching finance.
81.6%
Cost data on file, store sales
Amazon (97.7%) and Myntra (91.7%) are actually in better shape. In-store sales are the real gap.
₹6.62 Cr
Sales with no cost recorded
140 of 460 styles sold this year (10.3% of revenue) have never had a purchase bill logged against them. Owner: Lavesh, sheet already shared with him.
Store view vs finance view of a returnThe store naturally tracks a return the moment it leaves a customer's hands, finance tracks it once it's booked back into cost. Both are correct for their own purpose, they just weren't mapped to each other. That mapping is now in place, and checked clean against your own numbers
Mapped
The published percentage on the reportWe're finishing a full check of this exact number before putting a fresh one in front of you, rather than guess today, you'll have it early next week
Checking →
01 · Progress Who opens what

Built for the decision, not the department.

WhoOpensTo decide
FounderThe weekly overviewWhere the business stands, in one scroll
Retail headStore PerformanceWhich stores need stock, which need attention
Store / cluster managerStore Performance, in their own languageToday's job: restock this, move that out, help a walk-in
MarketingSpend & channel pagesWhere the next ad rupee goes
MerchandisingStock & ageingWhat to reorder, what to discount away
FinanceMargin & reconciliationThe real number, without a manual double-check

The store page speaks the shop floor's own language on purpose: Sales, Bills, Average Bill, Items Per Bill, Walk-ins Who Bought, Stock To Ask For, Stock To Move Out, not a technical term nobody on the floor would recognize.

01 · Progress This isn't just a set of charts

Ask it a plain question. It answers, and shows how it got there.

Ask, the assistant

Type a question in plain English, get a real answer back, every number traceable to the actual report it came from. If it genuinely can't answer, it says so instead of making something up.

Store alerts, with a running count

As of this morning: Ahmedabad, 11 days straight of falling sales. Borivali, 12 days. Nobody was tracking that streak before, now it's a daily email, not a surprise found a quarter later. This kind of visibility didn't exist at this scale even at Lenskart; we've had it running from day one here.

We know before you have to ask

Kshitij's team gets an email the moment a data source breaks. That's exactly how this morning's Myntra gap (slide 03) turned up hours before this meeting, not weeks later.

One shared home for the masters

Store list, product list and monthly targets now live in one place with a proper approval step. This is what finally retires the Google Sheets.

Live demo from here, three things worth clicking on the real site.

01 · Progress Ask on a call, live by morning

Nothing here waited for a quarterly roadmap.

Full marketing numbersAfter one working session with the team, same day
Shipped
How old is our stockBuilt together with Ravi
Shipped
What stockouts are costing us, by day of week₹1.56 Cr over the last 30 days, tracked since 01 Jul
Shipped
Targets that respect weekendsWeekends do about 2.7x a weekday's business, targets now reflect that instead of a flat daily number
Shipped

Several more sources are queued to pull into the pipeline next, see the full list with owners on slide 09.

01 · Progress Where things stand

Roughly 85% there. What's left is mostly waiting on inputs, not build work.

The system is live and working. What's left is a short list, and most of it needs something only your side can provide.

What's openOwnerWhat it needs
Purchase records since 30 MarLavesh / your teamAn updated file, so cost calculations don't run dry
Product master cleaning, 844 Amazon + 2,835 Myntra productsJeetuMatching in progress
Salesperson numbers, Feb–May and Jul–AugKshitijRemaining months of the Fynd report
How store targets should really be measuredDivakarA written yes on the current approach
Store wifi / internet reliabilityStore opsSeen firsthand stalling the AI sizing kiosk on slide 17, worth checking storewide, not just for one trial tool
Social media performanceKshitijConfirm which accounts to pull from
Amazon & Myntra review and comment scrapingKshitijSign off on scope
Triple Whale (ad attribution)KshitijShare access
Cash reconciliation payment dumpsKshitijShare the raw export
HRMS employee dataKshitijShare access
Salesperson numbers, sourced properly from FyndKshitijConfirm the right report or API
Broadway dataKshitijShare access

Committed: everything on this list closed out by 31 Aug 2026.

02 · On the ground The Pant Project storefront, Bandra, under new signage
A day at the store

The numbers are ready.
The next gains are in the store.

Two to three days on the floor with the teams. In one line: the product is genuinely solid. What needs fixing is the store app (Fynd) and pricing. Here's exactly why, in the order it'll move a number.

02 · On the ground
[ 01 ]

The customer gets the right size. The system doesn't.

When the barcode scanner doesn't fire, staff fall back to searching the catalogue by hand. The customer still walks out with the size they came for, that part usually goes right. What goes wrong is the punch: a 36 gets tapped into the system for what was actually a 34 handed over. Nobody notices at the counter. The stock count merchandising plans against just quietly stops being true.

2,981
Store-SKU records, stock silently to zero
In the last 30 days alone, 2,981 different product-size-store combinations had their recorded stock drop to zero without warning. Some of that is normal selling out. Next slide is one we traced start to finish, and it wasn't.

Fix: a proper barcode and tag check across the store app, the product catalogue and Shopify, plus a system check that flags it whenever a sale skips the scan instead of relying on staff to catch it themselves.

Filmed on the floor: a clean scan straight into the store app's cart at ₹1,990. When the scan fires correctly, price and stock move together automatically, this is what the failure mode above bypasses.

02 · On the ground [ 02 ]

Sometimes the count itself is wrong, not just the size.

A real case, traced end to end this week: article JR37-34 (Inklock Black No Fade Relaxed Fit Jeans, size 34) at Hughes Sukhsagar, Mumbai. A customer wanted it. The system said it was there. It wasn't.

DateSystem said sellable
6 Aug1 unit
7 Aug1 unit
8 Aug, the day asked for1 unit, customer told none available
9 Aug0 units

The record didn't say zero and turn out to be wrong, it said one, on the exact day it wasn't there, and only corrected itself to zero a full day later. That's not a scan-time mistake like slide 11, it's the stock count quietly drifting from the shelf between scans, and nothing today catches it until a customer already walked away.

Fix: when a counter check comes back "not actually here," that has to write back into the system same day, not just get noted and moved past. A stock record is only as good as the last time it was proven true against the shelf.

02 · On the ground [ 03 ]

Exchange and return still runs on manual effort.

Watched it firsthand: an order tried twice with the wrong PIN entered, and the third attempt was blocked outright, no way through. That's the same underlying process every exchange goes through today.

Today
Step 1
Customer emails a person
Step 2
Waits for a code back
Step 3
Places a brand new order
Stock, meanwhile
Not updated until someone remembers by hand
The fix

Move the whole exchange inside the store app: stock out and stock in as one single action, not a side process someone has to remember. Live stock stays true to what's actually on the shelf, and a customer isn't stuck waiting on an email and a code just to swap a size.

02 · On the ground [ 04 ]

One order, more than one item, and only one of them tells you where it is.

Watched it happen live: a customer with several items in one order got a dispatch update for only one of them. The rest of the order just sat silent. Understandably annoyed, and about to walk out, store staff caught it and smoothed it over in person, but that's a save that shouldn't have to happen at the counter.

Fix: the same clarity a customer already gets on Amazon today, each item in an order tracked and shown on its own, not one blended status standing in for everything in the cart. If two items ship on different days, the customer sees two updates, not silence on one of them.

Customer's phone showing a dispatch notification for only one item of a multi-item order

The actual notification from this order: one dispatch update, for one item, out of several in the cart.

02 · On the ground [ 05 ]

At the till: cash is reconciled by hand, and checkout can jam.

Store app analytics screen, Aug 1-8 sales ₹5.87L across 90 orders

The store app already tracks this, ₹5.87L across 90 orders, zero refunds, Aug 1–8. Cash still gets reconciled by hand in a separate sheet after.
Fix: let the app take split payments directly, don't let a sale close until it balances to zero, and let each payment type land automatically at the back end.

Store app showing Payment Failed, coupon already used or max limit of coupon reached

Caught live during this visit, twice: checkout stops with "coupon already used or limit reached," and the deducted amount is left pending a refund. That's real friction at the exact moment of a sale, and it traces straight back to the pricing confusion on the next slide.

02 · On the ground [ 06 ]

The pricing is confusing, for the customer and for the staff selling it.

The problem

Freedom Fit Sale standee outside the store, Buy 1 Get 1 Free

Outside, on the standee: Buy 1 Get 1 Free.

Shelf sign inside the store showing tiered discount offers

Inside, on the shelf: 15% off a first order, buy 2 for 15% off, buy 3 for 25%, buy 5+ for 30%.

A customer walking in on the "Buy 1 Get 1" promise meets a completely different set of rules at the shelf, and that offer only applies to a limited range, so anyone who likes a discounted item is pushed into picking a second one they don't actually want. It's not just customers who get lost: store staff themselves find the tiers hard to explain, so every sale starts with a confusing pitch before it starts with the product. And it's wider than the store: several articles online currently run at 40 to 50% off under "online exclusive," while the store mechanic is Buy 1 Get 1 or nothing, so online and in-store aren't just worded differently, they're structurally different offers.

The fix

Keep Buy 1 Get 1 as the one core offer, don't layer extra discounting on top of it. For anyone buying a single item, one flat discount, 20 to 25% off, the same approach used at Lenskart from day one, easy for staff to say and easy for a customer to check. And bring the online-exclusive range down to that same single rate instead of the current 40 to 50%, so a customer sees the same deal whether they're on the shelf or on the app. Prices should also read as round numbers (₹999, ₹1,999) instead of percentages.

02 · On the ground [ 07 ]

Visual merchandising needs work.

Mirrors, not just branding

One mirror, inside the trial room, none outside it. Some branding wall space could become mirrors instead, they'll move a purchase decision more than a wall panel will.

One clear price, at a glance

Pricing needs to say one clear thing the moment a customer looks at it, not compete with itself the way slide 16 shows.

Make Freedom actually look like freedom

Today the Freedom Fit sale is one standee reusing the everyday store look with a different headline. For 15 August it should look and feel like Independence Day, tricolour, patriotic, unmissable, not a generic sale sign that happens to say "Freedom."

02 · On the ground [ 08 ]

One good sign: the store is already experimenting on its own.

Caught an AI body-scanning tool mid-use on the floor (retail.imersivwear.com), a trial nobody had flagged to us, run on the store's own initiative. It's a good sign: the team is already trying to solve fit and size on their own. Right now it's held back by patchy store internet, the scan sat stuck mid-way while we watched, so store connectivity is worth a look on its own before this trial can be judged fairly. The instinct behind it is exactly what the next phase of this platform should plug into: get that sizing data feeding the same system as everything else, instead of sitting in a separate app nobody else can see.

Tablet running an AI body-sizing scan at 5% progress on the shop floor
02 · On the ground What customers are actually saying

Customers are already telling us where the gaps are. We just watched them happen live.

Every customer who fills in a survey gets read and sorted into a reason, automatically, because every one of them is a real person, not just a data point. Over the last 12 months, a small number of reasons account for most of the unhappy ones:

54.8%
Detractor rate, exchange & return
544 customers raised this in the last 12 months, 82 of them just last month. The worst-rated reason we track, and it's the exact manual, slow process on slide 13.
42.0%
Detractor rate, delivery
393 mentions in 12 months, 55 last month. Second worst, and ties directly to the confusing one-item-at-a-time updates on slide 14.
30.9%
Detractor rate, fit & size
2,444 mentions in 12 months, 337 last month, our single most-talked-about topic. Ties straight back to the scan-and-punch gap on slide 11.

The encouraging part: last month vs the 12-month average

Exchange & return
41.5% vs 54.8%
Delivery
27.3% vs 42.0%
Fit & size
24.6% vs 30.9%

Whatever's already changed on the ground is working, this just gives it a number. Same list, on the floor and in the surveys.

Coming next

Store-level view with NPS built in, so every manager sees their own customer sentiment next to their own sales
A non-buyer survey, today we only hear from people who completed a purchase, not the ones who walked out without buying and why
A 48-hour follow-up call from store staff on any flagged issue, catching it while it's still fixable instead of waiting on a survey response
02 · On the ground What each gap is actually worth

The store visit and the numbers are telling the same story.

What we saw on the floorWhere you'll see it move
Scan-and-punch mistakesExchange volume, accuracy of "stock to ask for," Fit & Size feedback (30.9% detractor, 2,444 mentions)
Manual exchange & returnTrue stock accuracy, the #1 driver of bad ratings (54.8% detractor)
One-item-at-a-time order updatesDelivery, the #2 driver of bad ratings (42.0% detractor)
Manual cash reconciliation + checkout jamsStaff hours spent on admin, completed-sale rate
Two conflicting store offersItems Per Bill, Walk-ins Who Bought
Mirrors & branding gapsConversion rate, currently 24.2% storewide
03 · Next Next 20 days

By 31 August.

This week
Finish checking the reconciled percentage so we can give you a verified number. Fill the Myntra gap.
Week 2
Amazon and Myntra product matching done. Updated purchase records, pending your side.
Week 3
Remaining salesperson months in. Target measurement approach signed off by Divakar.
31 Aug
Every open item on slide 09 closed, or explicitly agreed to wait.
03 · Next What keeps this moving after 31 Aug

Two things, plainly.

On track for 31 Aug

Closing out this phase

The agreed fee for this build was ₹5L + GST. Half invoiced now, the other half in the first week of September once everything on slide 09 is verified complete, so the payment follows a finish line you can see for yourself, not just a date on a calendar.

Invoice 1
₹2.5L + GST, now
Invoice 2
₹2.5L + GST, first week of Sep
Worth a real conversation

Keeping it maintained

A system like this doesn't stay finished, new requests, new sources breaking, new things the team asks for, the same pattern as slide 08, every week. September is the first month this covers; the first bill for it goes out 01 October, then monthly after that.

Coverage starts
01 Sep 2026
First invoice
01 Oct 2026, then monthly
Rate
₹75,000 / month + GST

To be clear on what this actually is: it's a small, close-to-break-even number, covering what it costs to keep this running, the AI usage behind it and our team's time. Not built as a profit line, just what it takes to keep someone actively watching this every night.

Nothing about the growth/consulting side is in this deck, that's a separate conversation, in person.

Before we close

Use it every day. Tell us what's missing. We build it overnight.

Six weeks ago this was a promise. Today it's a real system, and every honest gap in it is one we found ourselves and told you about first, not one you'd find on your own. The fastest way to make it fully correct is to stop running the old sheets alongside it. Every question it can't answer yet becomes tomorrow's build.

dataeze.ai
tpp.dataeze.ai