<!--
═══════════════════════════════════════════════════════════════════════════════
   READ ME FIRST — delete this whole comment block before uploading
═══════════════════════════════════════════════════════════════════════════════

How BIC reads this file
-----------------------
Each blank-line-separated paragraph becomes ONE searchable chunk in BIC's
memory. The chatbot retrieves chunks individually — it does NOT see the file
as a whole. Two consequences:

  1. EVERY paragraph must stand on its own. Front-load the term, don't rely on
     the heading above it for context.
  2. ONE idea per paragraph. If you'd answer two different questions from
     one paragraph, split it into two paragraphs.

Six best practices that actually move the needle
------------------------------------------------
  ✓ Use real team vocabulary — the abbreviations people type in chat
    (WTD, MBQ, ABP). Don't translate to "industry standard" terms.
  ✓ Define every term in BOTH directions: the abbreviation AND its meaning.
    "WTD = week-to-date, Monday through today" is better than just "WTD".
  ✓ State numeric units explicitly. Lakhs vs crores. Inclusive of GST or not.
  ✓ Include the WHY for non-obvious rules. "Financial year starts April 1
    because that's when our ABP cycle resets" lets BIC explain itself when
    asked.
  ✓ Add an "Ask BIC about this" line at the bottom of each section listing
    2-3 example questions this section helps answer. The classifier uses
    these to score confidence.
  ✓ One file per topic. Glossary, calendar, scorecard — separate uploads.
    Mixing them weakens retrieval.

Anti-patterns that hurt
-----------------------
  ✗ Bullet lists of definitions on a single line — each definition needs
    its own paragraph (blank line above and below) to be retrievable.
  ✗ "See section above" / "as defined earlier" — chunks are retrieved out
    of order; cross-references won't survive.
  ✗ Tables of values that need their headers to make sense.
  ✗ HTML/CSS markup. Plain markdown is best.
  ✗ Sentences that span multiple paragraphs.

When in doubt, paste the file into chat and ask:
  "Quote three different facts from this glossary."
If BIC can't pull three independent facts back, the chunking is too coarse.

═══════════════════════════════════════════════════════════════════════════════
   BELOW THIS LINE: a real working playbook example. Edit or replace it.
═══════════════════════════════════════════════════════════════════════════════
-->

# VALLI sales glossary — KPI definitions for BIC

This file teaches BIC the team's vocabulary for sales reporting. Replace the
example terms below with your own. Keep the structure: one term per section,
plain English definition, units, and example questions.


## Net sales

**Net sales** is gross sale amount minus all discounts (manual, promotional,
and effective discount), excluding returns and exchanges. The column in our
warehouse is `SALE_NET_AMOUNT` on `ERS_SALES_TRANSACTIONS`.

When someone says "sales" without qualification, they mean net sales, not
gross.

Net sales is reported in **lakhs** at the store level and **crores** at the
brand or company level. Always state the unit when quoting a figure.

Ask BIC about this:
- "What was net sales last month?"
- "Show net sales by format for the week"
- "Why is net sales lower than gross?"


## WTD — week-to-date

**WTD** means Monday of the current week through the most recent completed
sales day. If today is Wednesday at 3pm IST, WTD covers Monday and Tuesday;
Wednesday is excluded because the day is incomplete.

WTD comparisons are always against the **same Monday-through-same-day window
of the previous year**, not the calendar week of last year. If today's WTD is
Mon–Tue, last-year WTD is also Mon–Tue of the same week.

Ask BIC about this:
- "How is the week tracking?"
- "Show WTD vs PY-WTD by store"
- "Is WTD growth in VALLI ahead of KLM?"


## ABP — annual business plan

**ABP** is the store-level monthly sales target set at the beginning of the
financial year. It lives in `abp_target_vs_achieved_sales_new` keyed by
`storecode` and `targetdate`. The financial year runs **April 1 to March 31**.

A store is "below ABP" when month-to-date achieved sales are less than the
pro-rata share of monthly target. Pro-rata = `target_amount * working_days_so_far / total_working_days_in_month`.

ABP excludes promotional pop-ups and event-day spikes — it represents the
baseline business plan, not aspirational stretch.

Ask BIC about this:
- "Which stores are below ABP this month?"
- "What is the achievement percentage vs ABP target?"
- "Show ABP-target vs achieved sales by zone"


## MBQ — minimum base quantity

**MBQ** is the minimum stock units a store should hold for a given
`(section, sub-section)` combination on a given day. Below MBQ means a
stockout risk.

The MBQ vs Stock vs Sale comparison lives in `MBQvsSTOCKvsSALE`. Use
`sumIf(Qty, Data_type='MBQ')` for the target and `sumIf(Qty, Data_type='STOCK')`
for current inventory. The gap is the replenishment need.

MBQ is recomputed every Sunday by the planning team. A "stable" MBQ is one
that hasn't changed in 4+ weeks; a "volatile" MBQ has been re-set in the
current month.

Ask BIC about this:
- "Which items are below MBQ?"
- "Show MBQ gap by store and section"
- "Which stores have the highest MBQ shortfall today?"


## SOH — stock on hand

**SOH** is current physical inventory in units, not value. It comes from
`ERS_STOCK_LATEST_DETAILS.QTY` summed by `(store, section)`.

SOH is a **point-in-time** measure — there is no "average SOH last month".
When asked for trends, return SOH on each day, not aggregated.

SOH includes all stock physically in the store regardless of age. To filter
fresh stock, add `AGE_RANGE in ('0-30','31-60')`.

Ask BIC about this:
- "What is the current stock on hand for menswear?"
- "Show SOH trend for the last 30 days"
- "Which stores have SOH above 1 lakh units?"


## Lakhs and crores — when to use which

Numbers in BIC follow Indian notation. **1 lakh = 100,000.** **1 crore = 10,000,000 = 100 lakhs.**

For store-level figures (single store, single day, single section), use
**lakhs**. Round to two decimals (e.g. `12.45 L`).

For brand-level, format-level, or company-level rollups, use **crores**.
Round to two decimals (e.g. `1.24 Cr`).

Never quote raw rupees in chat — it's hard to read at scale. Always convert
to lakhs or crores depending on the audience.

Ask BIC about this:
- "Why are some numbers in lakhs and others in crores?"
- "Convert this to crores"
- "What is the brand revenue this year?"


## Financial calendar — fiscal year, week start, IST

The **fiscal year** runs **April 1 to March 31**. "FY26" means April 2025
through March 2026. "FY-to-date" means April 1 of the current fiscal year
through today.

The **week** starts on **Monday**. "This week" means Monday-through-today;
"last week" means the previous Monday-through-Sunday.

All dates and times in BIC are **IST (Asia/Kolkata)**. When the warehouse
returns UTC timestamps, BIC converts to IST before display. Sales are tagged
to the IST date the transaction completed.

Ask BIC about this:
- "What does FY-to-date mean?"
- "What date does this week cover?"
- "Are these times in IST or UTC?"
