# Business Model Canvas — Example

## Scenario: B2B AI Expense Management SaaS Startup

A founding team uses the BMC to stress-test their business model before pitching investors. They map all 9 blocks to identify their riskiest assumptions.

---

## draw.io XML

Paste into draw.io → **Extras → Edit Diagram**

```xml
<mxGraphModel>
  <root>
    <mxCell id="0"/>
    <mxCell id="1" parent="0"/>
    <!-- Title -->
    <mxCell id="2" value="Business Model Canvas — ExpenseAI (B2B SaaS)" style="text;html=1;strokeColor=none;fillColor=none;align=center;fontSize=15;fontStyle=1;" vertex="1" parent="1">
      <mxGeometry x="10" y="10" width="900" height="36" as="geometry"/>
    </mxCell>

    <!-- KEY PARTNERSHIPS -->
    <mxCell id="10" value="🤝 Key Partnerships" style="rounded=1;fillColor=#E3F2FD;strokeColor=#1565C0;fontStyle=1;fontSize=11;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="10" y="55" width="150" height="220" as="geometry"/>
    </mxCell>
    <mxCell id="11" value="• Cloud providers (AWS, GCP)&#xa;• Accounting software partners (QuickBooks, Xero, SAP)&#xa;• Banking API providers (Plaid, TrueLayer)&#xa;• System integrators for enterprise rollout" style="text;html=1;strokeColor=none;fillColor=none;fontSize=10;align=left;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="12" y="88" width="146" height="180" as="geometry"/>
    </mxCell>

    <!-- KEY ACTIVITIES -->
    <mxCell id="20" value="⚙️ Key Activities" style="rounded=1;fillColor=#E8F5E9;strokeColor=#2E7D32;fontStyle=1;fontSize=11;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="170" y="55" width="150" height="110" as="geometry"/>
    </mxCell>
    <mxCell id="21" value="• AI model training &amp; improvement&#xa;• Product development (mobile + web)&#xa;• Enterprise sales &amp; onboarding&#xa;• Compliance &amp; security certifications (SOC2)" style="text;html=1;strokeColor=none;fillColor=none;fontSize=10;align=left;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="172" y="86" width="146" height="76" as="geometry"/>
    </mxCell>

    <!-- KEY RESOURCES -->
    <mxCell id="30" value="🏗️ Key Resources" style="rounded=1;fillColor=#E8F5E9;strokeColor=#2E7D32;fontStyle=1;fontSize=11;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="170" y="175" width="150" height="100" as="geometry"/>
    </mxCell>
    <mxCell id="31" value="• Proprietary AI expense classification engine&#xa;• SOC2 Type II certification&#xa;• Enterprise customer data (moat)&#xa;• 8-person ML engineering team" style="text;html=1;strokeColor=none;fillColor=none;fontSize=10;align=left;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="172" y="198" width="146" height="76" as="geometry"/>
    </mxCell>

    <!-- VALUE PROPOSITIONS (center, highlighted) -->
    <mxCell id="40" value="💎 Value Proposition" style="rounded=1;fillColor=#1565C0;strokeColor=#0D47A1;fontColor=#ffffff;fontStyle=1;fontSize=12;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="330" y="55" width="180" height="220" as="geometry"/>
    </mxCell>
    <mxCell id="41" value="• Cut expense processing time by 80% using AI receipt scanning&#xa;• Auto-categorize 95% of expenses&#xa;• Real-time policy compliance checks&#xa;• ERP integration in 1 day (vs. 3-month avg for legacy tools)&#xa;• Mobile-first — employees love it (NPS 72)" style="text;html=1;strokeColor=none;fillColor=none;fontColor=#ffffff;fontSize=10;align=left;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="332" y="88" width="176" height="180" as="geometry"/>
    </mxCell>

    <!-- CUSTOMER RELATIONSHIPS -->
    <mxCell id="50" value="💬 Customer Relationships" style="rounded=1;fillColor=#FFF9C4;strokeColor=#F9A825;fontStyle=1;fontSize=11;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="520" y="55" width="155" height="110" as="geometry"/>
    </mxCell>
    <mxCell id="51" value="• Dedicated CSM for Enterprise (&gt;500 seats)&#xa;• Self-serve onboarding for SMB&#xa;• In-app AI chatbot support&#xa;• Quarterly business reviews" style="text;html=1;strokeColor=none;fillColor=none;fontSize=10;align=left;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="522" y="86" width="151" height="76" as="geometry"/>
    </mxCell>

    <!-- CHANNELS -->
    <mxCell id="60" value="📡 Channels" style="rounded=1;fillColor=#FFF9C4;strokeColor=#F9A825;fontStyle=1;fontSize=11;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="520" y="175" width="155" height="100" as="geometry"/>
    </mxCell>
    <mxCell id="61" value="• Direct enterprise sales team&#xa;• Accounting software app marketplaces&#xa;• Product-led growth (free trial → upgrade)&#xa;• Partner reseller channel" style="text;html=1;strokeColor=none;fillColor=none;fontSize=10;align=left;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="522" y="198" width="151" height="76" as="geometry"/>
    </mxCell>

    <!-- CUSTOMER SEGMENTS -->
    <mxCell id="70" value="👥 Customer Segments" style="rounded=1;fillColor=#FCE4EC;strokeColor=#c62828;fontStyle=1;fontSize=11;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="685" y="55" width="190" height="220" as="geometry"/>
    </mxCell>
    <mxCell id="71" value="• Primary: Mid-market companies (100–2000 employees), Finance &amp; Ops teams&#xa;• Secondary: Enterprise (2000+), procurement-driven&#xa;• Tertiary: SMBs via self-serve (PLG motion)&#xa;&#xa;Persona: Finance Manager frustrated with manual expense reports and non-compliant spending" style="text;html=1;strokeColor=none;fillColor=none;fontSize=10;align=left;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="687" y="88" width="186" height="180" as="geometry"/>
    </mxCell>

    <!-- COST STRUCTURE -->
    <mxCell id="80" value="💸 Cost Structure" style="rounded=1;fillColor=#ECEFF1;strokeColor=#607D8B;fontStyle=1;fontSize=11;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="10" y="285" width="420" height="100" as="geometry"/>
    </mxCell>
    <mxCell id="81" value="• R&amp;D / Engineering: 45% of spend  •  Sales &amp; Marketing: 30%  •  G&amp;A: 15%  •  Cloud infrastructure: 10%&#xa;Fixed: Engineering team salaries | Variable: Cloud compute scales with usage | CAC target: &lt;$8K per mid-market seat" style="text;html=1;strokeColor=none;fillColor=none;fontSize=10;align=left;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="12" y="310" width="416" height="70" as="geometry"/>
    </mxCell>

    <!-- REVENUE STREAMS -->
    <mxCell id="90" value="💰 Revenue Streams" style="rounded=1;fillColor=#C8E6C9;strokeColor=#2E7D32;fontStyle=1;fontSize=11;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="440" y="285" width="435" height="100" as="geometry"/>
    </mxCell>
    <mxCell id="91" value="• SaaS subscription: $12/user/month (SMB)  |  $18/user/month (Enterprise with SSO, RBAC, dedicated CSM)&#xa;• Implementation fee: $5K–$30K one-time for enterprise  •  API usage overage for high-volume customers  •  Target: 120% NRR via seat expansion" style="text;html=1;strokeColor=none;fillColor=none;fontSize=10;align=left;verticalAlign=top;" vertex="1" parent="1">
      <mxGeometry x="442" y="310" width="431" height="70" as="geometry"/>
    </mxCell>

    <!-- Riskiest assumption callout -->
    <mxCell id="99" value="⚠️ Riskiest Assumption: Enterprise sales cycle 9–12 months → requires $2M+ runway before first large deal closes" style="callout;fillColor=#FFCDD2;strokeColor=#c62828;fontSize=10;fontStyle=1;" vertex="1" parent="1">
      <mxGeometry x="200" y="395" width="480" height="40" as="geometry"/>
    </mxCell>
  </root>
</mxGraphModel>
```

---

## BMC Summary

| Block | Key Insight |
|-------|------------|
| **Value Proposition** | 80% time savings + 1-day integration is the core pitch |
| **Customer Segments** | Mid-market is the beachhead; enterprise is the expansion |
| **Revenue Streams** | Seat-based SaaS + implementation fee; 120% NRR target |
| **Riskiest Block** | Channels — heavy dependence on direct sales with long cycles |

## Key Insight for Leaders

The BMC surfaces **dependencies between blocks**. If the Key Partnership with accounting software marketplaces fails, the SMB Channel disappears, which means the PLG revenue stream underperforms, putting more pressure on the enterprise sales team. Map the cascade before it becomes a board crisis.
