A whole company, made by Misata

A spice and tea trader from Kochi, selling in India, Europe and the United States. Its storefront, billing, books, warehouse, support, CRM, payroll, mail and analytics, for thirty-six months, and beneath them the answer key: why every number is what it is.

0

tables

200 more in the answer key

0.0M

rows

Parquet, 6.5 GB

0

columns

each in the data dictionary

0

systems

three legal entities

0

months

Oct 2023 to Sep 2026

0

graded tasks

92 KPIs with their SQL

Named for the wind that made this coast a market.

Roman ships rode the south-west monsoon to Muziris, the pepper port near Kochi, and came home when the wind turned in December. Pepperwind’s goods still leave from there: to Bengaluru and Bhiwandi, to Rotterdam for Europe, to New Jersey for the United States.

Kochihead office, processing, warehouseBengaluruBhiwandiRotterdamPepperwind Europe B.V., Feb 2024New JerseyPepperwind Inc., Jan 2025

The company

A trader that buys raw, sells finished, and is growing faster than it earns.

Founded in Mattancherry in 2017 as an exporter of pepper and cardamom, Pepperwind has cleaned, graded, ground and packed its own goods since 2019. When the window opens in October 2023 it has 120 people, all in Kochi. By September 2026 it has 180 across three entities and about ₹80 crore of revenue a year, paid for by a Series B, and it still loses money, less of it each year.

Export

Bulk whole pepper and cardamom in 20-foot containers to fifteen distributors, billed in dollars: a third of revenue, a seventh of gross profit.

Wholesale

About 220 Indian cafés, delis, hotels and corporate-gifting buyers on 15 to 60 day terms; the largest channel.

Direct to consumer

Web and app stores in India, Europe from Rotterdam and the US from New Jersey: 900 SKUs in 40 categories.

The Club

A monthly box in three tiers, monthly or annual, billed on each subscriber's anniversary day, boxes shipped from the 5th to the 8th.

Eleven systems, one world

Every copy of a customer goes stale in its own way.

Each system keeps its own IDs in the shape that kind of system uses and records events on its own clock. The CRM holds an old phone number; the helpdesk knows a customer by a second email; analytics knows them by an anonymous ID until they log in. Underneath, one set of people, products and days.

Share of rows by system. Product analytics and mail carry most of the volume; the ledger carries the most tables.

product

10 tables

43,325,394

rows, 90 columns

App and web sessions, 35 million analytics events, experiments and their assignments, flags, attribution.

comms

17 tables

14,223,923

rows, 196 columns

Eight million mailbox copies, chat, calendars, documents and policies, the audit log, rights requests.

marketing

8 tables

10,423,848

rows, 62 columns

Campaigns and their audiences, email sends and events, daily ad spend, consent.

ledger

93 tables

3,893,613

rows, 1,097 columns

Three entities' books: journals, invoices, receipts, FX, GST, VAT and US sales tax, intercompany, landed cost.

logistics

17 tables

3,339,500

rows, 186 columns

Stock movements, packing runs, shipments and carrier scans, returns to origin, transfers, Club boxes.

commerce

12 tables

2,177,531

rows, 144 columns

Storefront customers, carts, orders and lines, promo codes, referrals, returns and reviews.

billing

11 tables

829,067

rows, 143 columns

The Club on a subscription-billing platform: prices, invoices, payment attempts, methods, refunds, disputes.

support

13 tables

521,980

rows, 97 columns

Tickets with their messages and events, agents and shifts, SLA policies, macros, help-centre articles, CSAT.

hr

13 tables

233,316

rows, 117 columns

Employment, contracts, pay and its history, payroll and payslips, leave, attendance, expenses, reviews.

core

16 tables

205,791

rows, 150 columns

People, organisations, products, SKUs, prices, places and the calendar every other system reads.

crm

13 tables

59,822

rows, 143 columns

Accounts, contacts, leads, opportunities, quotes, activities and who owned each account when.

Ask it anything

Query the company in your browser.

A slice of Pepperwind runs here in DuckDB, on your machine: nothing is sent anywhere. Pick a question or write your own SQL; a result over time draws itself as a chart. 2,870 whole customers and 37 wholesale accounts from Pepperwind's release, every system's own ids kept as it wrote them.

2,870 whole customers and 37 wholesale accounts from Pepperwind's release, every system's own ids kept as it wrote them.

Follow a customer

One person, seen by every system.

The same shopper is a storefront customer, a billing account, a helpdesk requester, an anonymous ID in analytics and a row in the ledger, each under its own key and on its own clock. Step through what each system wrote.

A member of the monthly spice Club who also shops the store: one person across the store, billing, the app, the warehouse, the help desk and the books.

commerceproductledgerlogisticsbillingsupport

commerce · customer

2022-06-02 11:16:25

Thomas's store record. Its id, cus_ and 14 characters, is the key billing and the app use too.

key cus_59KW8yK1UQSnqs

customer_id
cus_59KW8yK1UQSnqs
market_code
IN
email
thomas.george@inmail.example
phone
+91 92XXXXX980
default_city
Kochi
state
enabled
created_at
2022-06-02 11:16:25

Thirty-six months

Three markets, opened one after another.

Direct-to-consumer orders a month, indexed to India in October 2023. Europe opens in February 2024; the US storefront, shipped from Kochi at first, moves to its own entity in January 2025, then loses its gear range to tariffs. Hover the gold marks for what happened.

Orders a month by market

Index, India in October 2023 = 100. Cancelled orders left out.

Direct-to-consumer orders a month by market, indexed0501001502024Jul2025Jul2026Jul● India● Europe● United States

Seasons and festivals

Each market keeps its own year.

Daily orders around four festivals in 2025, each against the median day five to ten weeks before. The shapes come from how people buy and how parcels move: a gift has to arrive in time, couriers rest on the festival day, and demand pulled forward leaves a slump behind it.

Diwali in India, 20 Oct 2025

Gift orders build for five weeks, peak in the week before, then the festival day goes quiet: couriers do not pick up and nobody shops during the puja. Two weeks of slump follow.

Diwali in India: daily orders, indexed to a usual day050100150200usual day-42-28-14day+14

Onam in Kerala, 5 Sep 2025

About a fifth of Indian orders ship to Kerala, which keeps its own festival year: a peak before Thiruvonam and a quiet festival day.

Onam in Kerala: daily orders, indexed to a usual day050100150200usual day-28-14day+14

Black Friday in the US, 28 Nov 2025

Thanksgiving week is the US peak, and Cyber Monday the biggest day. December builds until parcels can no longer arrive by Christmas.

Black Friday in the US: daily orders, indexed to a usual day0100200300usual day-28-14day+14+28

Sinterklaas in the Low Countries, 5 Dec 2025

Dutch and Flemish shoppers give gifts on 5 December, so their season starts in early November and ends on the eve.

Sinterklaas in the Low Countries: daily orders, indexed to a usual day0100200300usual day-42-28-14day+14

Local clocks

Every time is written on its own clock.

Orders by hour of the local day. India shops at lunch and again late in the evening, Europe after dinner, the US through the working day. Summer time moves Europe and the US; India has none. Seconds are recorded, and nothing piles up at midnight.

Share of orders by local hour

Per cent of each market's direct orders.

Share of orders by local hour, by market0%2.5%5%7.5%10%00:0003:0006:0009:0012:0015:0018:0021:0023:00● India● Europe● United States

How people pay

Cash on delivery in India, iDEAL in the Netherlands, cards in the US.

Each market pays the way its shoppers do, and the method changes what happens next. Smaller Indian towns lean on cash on delivery, and a cash parcel is far more likely to come back unopened.

India

Share of direct orders by payment method.

  • Cash on delivery55%
  • UPI34%
  • Card8%
  • Net banking2%
  • Wallet1%

Europe

Share of direct orders by payment method.

  • Card28%
  • iDEAL21%
  • PayPal18%
  • Klarna10%
  • Apple Pay8%
  • Other15%

United States

Share of direct orders by payment method.

  • Card62%
  • PayPal20%
  • Apple Pay13%
  • Google Pay5%

From visit to order

Sessions that reached each step, by market, of those that began one.

  • sessions100%
  • product views68%−32% from the step before
  • carts7.7%−89% from the step before
  • checkouts4.0%−47% from the step before
  • orders2.3%−43% from the step before

Cash on delivery by town tier

Indian direct orders.

  • Tier 143%
  • Tier 262%
  • Tier 370%

Parcels returned to origin

Indian shipments that came back, by how they were paid.

27%

cash on delivery

3%

prepaid

Days to the door

Indian shipments from dispatch to delivery, median and 90th percentile.

Tier 12.8 daysp90 4.8
Tier 23 daysp90 6.8
Tier 34.8 daysp90 7.9

What each market buys

Share of direct-order revenue by department.

India

  • Tea30.2%
  • Kitchen and home16.4%
  • Spices16%
  • Brewing gear15.7%
  • Coffee15.7%
  • Gifting6%

Europe

  • Tea35.9%
  • Spices18.2%
  • Coffee16.7%
  • Kitchen and home13.7%
  • Brewing gear11.1%
  • Gifting4.4%

United States

  • Tea36.4%
  • Spices20.5%
  • Coffee18%
  • Brewing gear12.1%
  • Gifting6.6%
  • Kitchen and home6.4%

Review ratings

Share of product reviews by stars: mostly fives, a lump of ones, few in between.

Share of reviews by star rating0%35%70%1★2★3★4★5★

The Club

A 12% price rise, and the quarter that followed.

On 1 September 2024 every Indian and European Club price rose 12%, monthly plans at their next renewal and annual plans at theirs. Monthly churn ran higher through the fourth quarter, and the cancellation tickets name the price. Failed renewals go into dunning, with retries on days 1, 3, 5 and 7, and about two thirds are recovered.

Active subscriptions

Index, end of October 2023 = 100; gifts left out.

Active Club subscriptions, indexed0501001502002024Jul2025Jul2026Jul

Monthly churn

Subscriptions that ended in the month, of those active at its start, to the nearest per cent. October 2023 reads low: the window opens with no cancellation already pending.

Monthly Club churn0%5%9%8%2024Jul2025Jul2026Jul

Who stays

Club subscribers by the month they joined: the share still subscribed each month after. The September 2024 rise shows as a diagonal.

Hover a cell for its cohort
Oct 23
Nov 23
Dec 23
Jan 24
Feb 24
Mar 24
Apr 24
May 24
Jun 24
Jul 24
Aug 24
Sep 24
Oct 24
Nov 24
Dec 24
Jan 25
Feb 25
Mar 25
Apr 25
May 25
Jun 25
Jul 25
Aug 25
Sep 25
Oct 25
Nov 25
Dec 25
Jan 26
Feb 26
Mar 26
Apr 26
May 26
Jun 26
Jul 26
Aug 26
Sep 26

Columns are months since joining; deeper gold keeps more of its cohort.

People and support

A team of 120 becomes 180, and the desk feels every festival.

Kochi carries the company; Rotterdam has about ten people and the US a handful. Appraisals run every April, packing staff turn over fastest, and festive peaks are worked by fixed-term operators and agency packers. Support tickets nearly double before Diwali, most of them asking where an order is, and nobody in the warehouse or support may take leave in the fortnight before.

Headcount by entity

At each quarter's end, to the nearest five.

IndiaEuropeUS
Headcount by entity at each quarter's end0100200Mar 24Sep 24Mar 25Sep 25Mar 26Sep 26

Support tickets a week

Index, the median week = 100.

Support tickets a week, indexed0100200300median week202420252026

Why customers write

Share of tickets by contact reason, the ten most common.

  • delivery delay14.2%
  • failed delivery13%
  • where is my order11.5%
  • pre sales8.5%
  • cancel order6.7%
  • edit order6.2%
  • club change4.9%
  • damaged item4.8%
  • wholesale4%
  • product question3.4%

How they write

Share of tickets by channel.

  • email33%
  • chat31%
  • whatsapp16%
  • web13%
  • voice7%

Twenty incidents

Planted as mechanisms, never as flags.

Each person and organisation carries traits only the answer key sees: how much they spend, how price-sensitive they are, how likely they are to leave. Those traits cause what the systems record. Every incident works the same way, so each leaves evidence in more than one system and none is found by reading a label. The answer key lists every affected row and amount.

Their names and dates are hints for the dataset’s anomaly and cause tasks. Leave them folded if you mean to test a model, or yourself, blind.

Realism, cited

117 lines written before any data existed.

Each line names a shape the data must have, the band it must land in, and where the band comes from: 66 cite a published figure, the rest are stated estimates or release rules. Benford’s law on order totals, expense claims bunching under an approval limit, resignations after appraisals, cash on delivery by town tier.

  • Leading digits of order totals follow Benford's law

    Nigrini's first-digit MAD bands (0.012-0.015 marginal conformity, above 0.015 nonconformity), as summarised insource

    CitedMAD < 0.015
  • Leading digits of invoice totals follow Benford's law

    Nigrini's MAD bands viasource

    CitedMAD < 0.015
  • Most list prices end in 9, 99, 90 or 49

    retail prices end disproportionately in 9 and 0 (Schindler and Kirby 1997, Journal of Consumer Research 24(2):192-201)source

    Cited60-85%
  • Expense claims bunch just under the manager's approval limit (INR 10,000 under policy version 1)

    bunching below thresholds is a documented response (Kleven 2016, Annual Review of Economics 8:435-464, no public figure for expense approval limits, so the 2-4x band is the brief's ownsource

    Estimate2-4x
  • The bunch moves with the limit when policy version 2 raises it to INR 15,000

    bunching below thresholds is a documented response (Kleven 2016, Annual Review of Economics 8:435-464, no public figure for expense approval limits, so the 2-4x band is the brief's ownsource

    Estimate2-4x
  • Hires who leave within twelve months

    33.2% of employees exit by 12 months of tenure (Omni HR attrition report 2026, about 30,000 records from about 300 companies)source

    Cited25-35%
  • Resignations in May and June 2025 against the other months

    Indian attrition rises in April-June after the appraisal cycle (PeopleStrong) the multiplier is an estimatesource

    Cited1.6-2.2x
  • Most calibrated ratings are "meets expectations"

    forced and bell-curve distributions put 60-70% in the middle bandsource

    Cited55-70%
  • ESI is deducted only from Indian payslips whose wage at the start of the contribution period was up to INR 21,000 a month

    ESI at 0.75% employee and 3.25% employer on gross wages up to INR 21,000; PF 12% and 12% on basic (CorpReady payroll guide 2026)source

    Cited(anchor: CorpReady payroll)
  • The top 20% of Indian D2C customers produce 55-65% of their D2C revenue

    the heaviest fifth of buyers give a little over half of sales (Sharp, Romaniuk and Graham 2019, Marketing's 60/20 Pareto Law) 64% in a UK online retailer's records (UCI Online Retail II)source

    Cited55-65%
  • The top 20% of European D2C customers produce 55-65% of their D2C revenue

    the heaviest fifth of buyers give a little over half of sales (Sharp, Romaniuk and Graham 2019, Marketing's 60/20 Pareto Law) 64% in a UK online retailer's records (UCI Online Retail II)source

    Cited55-65%
  • The top 20% of US D2C customers produce 55-65% of their D2C revenue

    the heaviest fifth of buyers give a little over half of sales (Sharp, Romaniuk and Graham 2019, Marketing's 60/20 Pareto Law) 64% in a UK online retailer's records (UCI Online Retail II)source

    Cited55-65%

The answer key

Answers from the generator’s state, not from SQL written afterwards.

Beside the 223 tables sit 200 answer-key tables: the hidden traits, the clean version of every messy record, every incident’s rows. Each KPI is a DuckDB query with its value every month, and each task carries its gold answer and a verifier.

420 graded tasks

138 for development and 282 held for testing; 131 easy, 110 medium, 179 hard.

  • KPI questions80
  • anomalies40
  • write actions40
  • multi_system_join40
  • lookups30
  • aggregates30
  • as-of reads30
  • documents_policies30
  • reconciliations25
  • causes20
  • infeasible asks20
  • agent_security20
  • identity resolution15

92 KPIs, each with its SQL

Listed by name here; their values every month are in the answer key.

Club MRR at each month's endClub ARR at each month's endClub net revenue retention over 12 monthsClub gross revenue retention over 12 monthsClub monthly churn rateClub subscriptions ended within 180 days of startingClub subscriptions live at each month's endClub subscriptions live at each month's endClub subscriptions startedClub gift subscriptions startedClub subscriptions endedShare of Club endings from failed paymentDunning recovery rate of Club renewalsAmount invoicedAmount refundedCharge attempt success rateDisputes per succeeded chargeStorefront orders placedStorefront gross merchandise valueStorefront average order valueWholesale orders placedWholesale order valueStorefront order cancellation rateCash on delivery share of Indian storefront ordersDiscount as a share of storefront subtotalStorefront orders with a customer returnStorefront customers who ordered more than onceStorefront customer accounts createdCarts converted to an orderPromo code discounts redeemedReferrals madeAverage product review ratingReturn-to-origin rate of Indian storefront parcelsReturn-to-origin rate of storefront parcelsStorefront parcels delivered by the promised dayMedian days from shipping to delivery, storefront parcelsShare of storefront parcels by carrierInventory turns a year, in unitsUnits on hand at each month's endUnits pickedClub boxesStock transfer days from shipping to receiptSupport tickets createdMedian hours to first replyMedian hours to solveSLA attainmentCSAT (share of ratings 4 or 5)Mean CSAT scoreTickets reopenedTickets open at each month's endSupport tickets per 100 storefront ordersHeadcount at each month's endHeadcount at each month's endHiresLeaversMonthly attrition rateAttrition by fiscal year (April to March)Share of separations regrettedResignations by notice monthPayroll grossExpense claims submittedApproved leave daysAbsent without leave, share of rostered daysShare of calibrated ratings at 3Paid media spendPaid media click-through ratePaid media cost per clickEmails sentEmail unique open rate (human opens)Email unique click rateEmail unsubscribe ratePaid media cost per new storefront customerOrder lift of campaigns with a holdout (treatment over holdout, less one)Customers subscribed in the store but unsubscribed or cleaned on the email platformConsent records subscribed to marketingRecognised revenueRecognised revenue of PTPLGross marginCost of goods soldPayment processing feesRTO losses bookedChargeback losses bookedRealised FX gain (loss)Trial balance differenceDeferred Club revenue at each month's endAccounts receivable in the books at each month's endOutput GST, PTPLDays sales outstanding, Indian wholesaleIndian wholesale receivables at the window's closeIndian wholesale invoices written offWholesale accounts createdWholesale order value per ordering account

Try a few yourself.

Questions from the task bank, answerable from the live slice above. Give a number and it is checked against the gold; a wrong one is named as the usual misreading it equals, if it is one.

aggregateeasycommerce

1 of 10 · 0 solved

What was India's storefront revenue in November 2024, in rupees, counting only orders that were paid?

Books that balance

Trial balance zero every month for every entity and the group; recognised revenue in the journals equals the ledger's schedule to the cent.

Stated numbers held

Headcount, customers, subscriptions, accounts, contacts and the catalogue hold exactly; revenue lands in its plan's band at real list prices.

Checked after it was built

Twenty-two checkers test every system's rules, every key and every stated number against the delivered rows; corrections made by hand are listed in build.json.

What it is for

One company, many ways in.

Evaluate an AI analyst or a text-to-SQL model

92 KPIs, each with its SQL and its value every month, and 330 questions with gold answers and verifiers across lookups, aggregates, as-of reads, reconciliations and anomalies.

Build and test agents on a whole company

Eleven systems that disagree the way real ones do: a CRM contact with an old phone, a helpdesk that knows a customer by another email, analytics that knows them by an anonymous ID.

Train and grade fraud and anomaly models

Referral rings, account takeovers, double payments and split expenses, each made by a mechanism that leaves evidence in other systems, never by a flag set afterwards.

Teach finance close and reconciliation

Three entities in three currencies whose trial balance is zero every month, with GST, OSS VAT and US sales tax returns that tie to their lines.

Demo a dashboard or BI product

Thirty-six months that already tell a story: launches, festivals, a price rise, a funding round, a lost account.

Teach SQL and analytics on something that feels real

One coherent business in place of Northwind, with seasons, time zones, late data and messy records to find.

Take it home

Start with the preview. Keep the whole company.

Free preview

Free

Every system at 1% of its customers: 223 tables, 1,818,718 rows and 129 tasks with their gold, in 135 MB.

  • All eleven systems, keys intact across them
  • The data dictionary, and the KPI queries with their values on the preview
  • The public development tasks, with their gold on the preview
Download the preview

Pepperwind 1.0, the full pack

$20once

All 223 tables and 79,233,785 rows over thirty-six months, the 200 answer-key tables, 92 KPIs with their values every month and 420 graded tasks.

  • Parquet, with SHA-256 checksums for every file
  • A data dictionary for all 2,425 columns
  • Every incident's rows and amounts, every hidden trait
  • Development and held-out test splits for the tasks
Get the full pack

Made with Misata

Your own company, your numbers, the same proof.

Pepperwind was built on Misata’s engine. Describe a business, or bring your schema, and state the numbers it must show: a revenue curve, a churn spike, a fraud rate. Misata builds the tables with every key intact, holds each number exactly, and hands you the answer key that proves it.

Questions

Before you download.

The preview carries every system on a sample of the customers, with its own answer key, the data dictionary, the KPI queries with their values on the preview, and the public development tasks with their gold. The full pack is the whole company over thirty-six months: every table, the complete answer key, every KPI's value each month and the full task bank with its held-out split.
As Parquet files in zip archives with a SHA-256 checksum for each, through Polar's checkout. They open in DuckDB, pandas, Polars, Spark or any warehouse that reads Parquet. The preview is also on Hugging Face, where every table can be browsed before downloading.
Yes: in any project, course, benchmark, demo or product, commercial or not. You may not resell or redistribute the dataset itself as a dataset. The free preview is CC BY 4.0: share and adapt it with credit to Misata. The licence ships in the zip.
No. No real company, brand, person, address or phone number is used. Every email domain ends in .example and every IP address sits in a documentation or benchmarking range. The shapes come from published figures, cited line by line in the realism table.
  • A SEPA Direct Debit succeeds at 00:00 UTC on its settlement day, so about 3,850 payments share that instant (01:00 or 02:00 in Amsterdam).
  • Indian phone numbers are masked as exports show them (+91 93XXXXX370), so many repeat.
  • No real company, brand, person, address or phone number is used. Every email domain ends in .example, and every IP address sits in a documentation or benchmarking range.
  • A dispute's evidence is due at 23:59:59 on its due day, so every deadline shares that time.
Yes. Misata builds datasets from a description or your own schema, holding the numbers you state exactly and proving each with an answer key. Try it free, or ask for one made for you.