International payments for Indian freelancers and SMBs fail silently: 38% of Skydo transactions experience delays or rejections (source: Q2'24 ops report), forcing users to manually decode SWIFT codes, chase support tickets, and reconcile banking messages. Each unresolved failure costs $87 in lost productivity and payment retries (source: 2023 RBI freelancer survey), while unresolved issues drive 22% churn within 90 days (source: churn cohort analysis).
Business case:
12,500 monthly failed payments × 38% auto-detectable issues × $87 savings = $413K/month recoverable value ($5M/year)
(Sources: Skydo transaction volume dashboard Aug'24, failure root-cause analysis, RBI survey)
If adoption is 40% of estimate: $2M/year
Downside: If false positive rate exceeds 5%, support costs increase by $120K/year (source: support cost model)
This IS an AI-powered diagnostic layer that classifies failures and prescribes resolutions in plain language. This IS NOT an automated payment reprocessing engine or compliance decision-maker. Given the $5M upside against $310K build cost (source: Regional Cost Benchmarks India), this warrants Q4 investment despite SWIFT message parsing risks.
Stripe automates retries but provides no root-cause analysis. PayPal offers generic failure codes without resolution steps. Wise explains failures but requires manual beneficiary updates.
| Capability | Stripe | Wise | Skydo AI Assistant |
|---|---|---|---|
| Auto-classifies SWIFT errors | ❌ | ✅ | ✅ (unique: RBI compliance codes) |
| Localized resolution steps | ❌ | Partial | ✅ (India-specific banking workflows) |
| Proactive anomaly detection | ❌ | ❌ | ✅ (pre-SWIFT validation) |
| WHERE WE LOSE | Brand trust | FX transparency | ❌ vs ✅ |
| Our wedge is zero-config RBI compliance mapping because Indian freelancers cannot interpret MT103 codes like "REJT / 6C". |
WHO / JTBD: When an Indian freelancer's international payment fails, they want immediate clarity on why it failed and how to fix it – without deciphering banking jargon or waiting 48h for support.
BEFORE: Priya (freelance developer, Chennai) sees a $2,000 client payment marked "delayed." She spends 3.7 hours (source: UX research session avg) checking Skydo status, then her bank portal, then emails SWIFT MT103 codes to her cousin who works at HDFC Bank. They discover a beneficiary name mismatch ("Priya S." vs "Priya Sankaran"), requiring a corrected invoice and client reprocessing – delaying funds 8 days.
COST:
| Symptom | Frequency | Impact |
|---|---|---|
| Manual diagnosis time | 3.7 hrs/failure | 1.2M hrs/year across users |
| Reprocessing delays | 68% of failures | Avg 4.2 days float loss @ $23/day (RBI micro-SMB study) |
| Churn after unresolved failure | 22% within 90 days | $49K LTV lost per 100 users |
| Total annual cost: $5.1M = (12.5K fails × 3.7hrs × $9.50 avg hourly) + (8.5K reprocessed × $23/day × 4.2 days) + (2.75K churned × $1.8K LTV) |
AFTER: Priya receives a Skydo notification: "Payment delayed: beneficiary name mismatch. Fix: 1) Update invoice to match bank ID 2) Client resends. Est. resolution: 2 days."
Data model:
class PaymentDiagnosis:
anomaly_score: float # ML model output
failure_class: Enum # BENEFICIARY_MISMATCH, RBI_COMPLIANCE_HOLD, FX_LIMIT
evidence: List[SWIFT_Field] # e.g., ["Field 59: Priya S. vs Sankaran"]
resolution_steps: List[LocalizedStep]
eta_hours: int
User flow:
Wireframe 1: Notification
┌───────────────────────────────────────────────┐
│ ⚠️ Payment Delayed: RBI Compliance Check │
├───────────────────────────────────────────────┤
│ Client: TechGlobal Inc. │
│ Amount: $2,000 │
│ Reason: Beneficiary name mismatch │
│ Est. fix time: 48 hours │
├───────────────────────────────────────────────┤
│ [View Resolution Steps] [Dismiss] │
└───────────────────────────────────────────────┘
Wireframe 2: Diagnosis Dashboard
┌───────────────────────────────────────────────┐
│ Fix Payment: #TX-7843 │
├───────────────────────────────────────────────┤
│ STEP 1: Update your invoice to match: │
│ ▢ Full name: Priya SANKARAN │
│ ▢ Bank: HDFC Chennai Main (HDFC0000123) │
│ │
│ STEP 2: Send updated invoice to client │
│ [Email Template] [Copy IBAN] │
│ │
│ Impact: Client must resend payment │
│ Estimated resolution: 48 hours │
└───────────────────────────────────────────────┘
Phase 1 — MVP (6 weeks)
US#1: Auto-detect RBI compliance holds
US#2: Generate beneficiary mismatch resolution
Out of Scope (Phase 1):
| Feature | Why Not Phase 1 |
|---|---|
| Automated payment retry | RBI Sec 10(2) prohibits without user auth |
| Non-SWIFT payment rails | Covers only 11% of volume (source: transaction log) |
| Cross-border tax advice | Requires licensed tax partner integration |
Primary Metrics:
| Metric | Baseline | Target (D90) | Kill Threshold | Method |
|---|---|---|---|---|
| Diagnosis time/user | 3.7 hrs | ≤0.5 hrs | >1.5 hrs | Time-tracker |
| First-try resolution rate | 32% | ≥68% | <45% | Support ticket audit |
| Failure-related churn | 22% (90d) | ≤12% | >18% | Cohort analysis |
Guardrail Metrics:
| Guardrail | Threshold | Action |
|---|---|---|
| False positive rate | ≤5% | Pause rollout if >7% |
| Support ticket volume | ≤110% baseline | Redirect eng if >130% |
Leading Indicator (D14):
If >40% of notifications get "View details" clicks → Predicts D90 resolution rate target (r=0.81 in pilot)
What We Are NOT Measuring:
Risk: RBI PA license amendment required for diagnosis advice
Probability: Medium | Impact: High
Mitigation: Legal team (A. Mehta) files Form D by 10/15; fallback: generic messages if not approved
Trigger: No RBI approval by 11/30 → Blocks launch
Risk: SWIFT message format changes break parser
Probability: Low | Impact: High
Mitigation: Monitor SWIFT alert feed (S. Patel); automated schema tests run hourly
Trigger: >5% parsing errors in prod
Risk: Users ignore resolution steps due to complexity
Probability: High | Impact: Medium
Mitigation: Embed "Copy invoice template" button; track step completion (PM: R. Verma)
Trigger: <30% step completion at D14
Risk: Correspondent banks block automated queries
Probability: Medium | Impact: High
Mitigation: Throttle checks to 5/min per partner; manual fallback protocol (Ops: P. Nair)
Trigger: >2 bank API suspensions
Kill Criteria (within 90 days):
15% support ticket increase from confusion
Components:
Assumptions vs Validated:
| Assumption | Status |
|---|---|
| SWIFT MT103 available for 92% of failures | ⚠ Unvalidated — confirm by 9/30 (Eng: M. Sharma) |
| RBI allows ML-based diagnosis without license | ⚠ Unvalidated — legal sign-off required by 10/15 (A. Mehta) |
| Model achieves P0 accuracy on RBI codes | ⚠ Unvalidated — test against 500 samples by 10/30 (Data: T. Rao) |
| Banks don't throttle diagnostic API calls | ⚠ Unvalidated — confirm with ICICI/HSBC by 10/20 (Partnerships: J. Kapoor) |
Decision: Depth of SWIFT message parsing
Choice Made: Parse only 8 critical RBI-mandated fields (59, 70, 72)
Rationale: Full MT103 parsing adds 3 months; RBI fields cover 92% of Indian cases (source: ICICI Bank data share). Rejected: Generic third-party parsers (inaccurate for RBI codes).
Decision: User notification timing
Choice Made: Notify only after 24h delay OR SWIFT error code
Rationale: Early alerts reduce float loss; 24h threshold avoids 73% of false positives (source: pilot). Rejected: Instant alerts on all delays (overwhelms users).
Decision: Resolution step automation
Choice Made: Manual user action (e.g., update invoice) → No auto-retry
Rationale: RBI prohibits automatic beneficiary changes. Rejected: Auto-retry for non-compliance cases (violates PSS Act).
Decision: Liability for incorrect diagnoses
Choice Made: Surface "This is not financial advice" disclaimer + support escalation path
Rationale: Limits regulatory risk; matches industry practice. Rejected: Guaranteed resolution ETA (creates contractual exposure).
Pre-Mortem:
"It is 6 months post-launch and this feature failed. The 3 most likely reasons are:
Success looks like: Priya's client pays in 48h after a failure. She tweets: "Skydo saved me 4 bank visits!" Support tickets for payment failures drop 65%. The CFO notes in the board memo: "This cut failure-related churn to single digits – the first time in 7 quarters."