Operating Costs
What it actually costs to run ABc on AWS Mumbai with S3 + CloudFront — every line item, with honest market-rate numbers. This is the other half of the unit-economics story; the Revenue Model tells us what we earn, this page tells us what we burn. Margin lives in the gap between them.
All figures are in INR per month unless noted. Figures use 2026 AWS Mumbai (ap-south-1) list prices for compute, RDS, ElastiCache, S3 and CloudFront. The Optional toggle below hides nice-to-have tooling (monitoring, dev tools, helpdesk, etc.) so you can see the absolute minimum required burn vs the realistic operating burn.
The bottom line
Monthly burn at three growth stages — before salaries, marketing or office.
1 · Infrastructure (AWS Mumbai · ap-south-1)
Application servers, primary database, and Redis cache hosted on AWS. We pick ap-south-1 (Mumbai) for sub-50 ms latency to Indian users and to keep data residency within India.
| Item | Service | Spec | Monthly cost |
|---|---|---|---|
| App server (primary) | EC2 t3.medium | 2 vCPU, 4 GB RAM · On-Demand | ₹4,500 |
| App server (standby) | EC2 t3.medium | HA pair behind ALB · scale-out target | ₹4,500 |
| Worker host | EC2 t3.small | 2 vCPU, 2 GB RAM · OTA sync, emails, cron | ₹2,000 |
| PostgreSQL (managed) | RDS db.t3.medium | 2 vCPU, 4 GB RAM · 100 GB gp3 · Single-AZ at MVP, Multi-AZ at scale | ₹6,000 |
| Redis (managed) | ElastiCache cache.t3.micro | 0.5 GB · cache + queue + sessions | ₹1,400 |
| Load balancer | Application Load Balancer | SSL termination · WebSockets · routing | ₹1,800 |
| Data transfer (inter-AZ + outbound) | AWS networking | Modest at MVP; growth-driven | ₹500 |
| Infrastructure subtotal | ₹20,700 / mo (100 customers) | ||
The same workload runs ~₹6–8k/mo on Hetzner Cloud with a Cloudflare edge in front. Pick AWS when (a) the client requires Mumbai-region data residency, (b) enterprise sales need the AWS logo on the architecture diagram, or (c) we're betting on AWS-specific services later (SES, SNS, Bedrock). Switching providers later costs 2–3 weeks of engineering — pick deliberately.
2 · Storage & CDN (S3 + CloudFront)
Property photos, KYC documents, invoices and database backups all live in S3. CloudFront fronts the photos for low-latency delivery at India edges. Same-region S3-to-CloudFront origin fetches are free (since AWS's 2024 pricing change).
| Item | Service / class | Pricing model | Estimated monthly |
|---|---|---|---|
| Property photos | S3 Standard (Mumbai) | $0.025/GB · ~100 GB stored at 100 customers | ₹210 |
| KYC documents (encrypted) | S3 IA + Object Lock | $0.0125/GB · ~50 GB | ₹105 |
| Invoices & PDFs | S3 Standard | $0.025/GB · ~10 GB | ₹20 |
| Database backups (snapshots) | S3 IA | $0.0125/GB · daily snapshots + 30-day retention | ₹400 |
| Old backups (>30 days) | S3 Glacier Instant Retrieval | $0.004/GB · lifecycle rule | ₹100 |
| S3 request fees | PUT/GET | $0.005/1K PUT · $0.0004/1K GET | ₹120 |
| CloudFront egress (India edge) | CloudFront | $0.109/GB · ~500 GB/mo at 100 customers (photo traffic) | ₹4,500 |
| CloudFront requests | CloudFront | $0.0075 per 10K HTTPS req | ₹50 |
| S3 → CloudFront origin fetch | — | Free within same AWS region | ₹0 |
| Storage + CDN subtotal | ₹5,505 / mo (100 customers) | ||
CloudFront egress (photos served to guests browsing the public site) dominates this section. Mitigations: aggressive image compression (WebP + AVIF), responsive sizes, browser caching, lazy-loading. At 500 GB/mo we pay ~₹4,500; at 5 TB/mo it would be ~₹40k. Worth keeping a close eye on as the public site grows.
3 · Domain & SSL
| Item | Vendor | Annual cost | Monthly amortised |
|---|---|---|---|
Primary .in domain | Cloudflare Registrar / Route 53 | ₹720/yr | ₹60 |
Primary .com domain | Cloudflare Registrar / Route 53 | ₹950/yr | ₹80 |
| Defensive domains (.co.in + typo variants × 3) | Cloudflare Registrar | ₹2,400/yr | ₹200 |
| SSL — main + wildcard | AWS Certificate Manager (ACM) | Free (with CloudFront/ALB) | ₹0 |
| SSL — extended validation (optional, V2) | DigiCert / Sectigo | ₹12,000/yr | (₹1,000) |
| Route 53 hosted zone | AWS Route 53 | $0.50/mo per zone | ₹40 |
| Domain + SSL subtotal | ₹380 / mo | ||
4 · Business email
Internal team email (founders@abc.com, support@abc.com). Distinct from transactional email, which is what we send to users.
| Item | Vendor | Per user/mo | 5-person team |
|---|---|---|---|
| Google Workspace Business Starter | ₹136 | ₹680 | |
| Zoho Mail Mail Lite (alternative) | Zoho | ₹90 | ₹450 |
| Business email subtotal (Google) | ₹680 / mo | ||
5 · Transactional email (system → user)
OTPs, booking confirmations, receipts, password resets. We send these via Postmark (great deliverability) and keep AWS SES as a failover, which fits nicely with the AWS stack.
| Item | Vendor | Pricing | Est. monthly |
|---|---|---|---|
| Transactional email — primary | Postmark | $15/mo for 10K emails · $1.25 / 1K beyond | ₹1,250 |
| Transactional email — failover | Amazon SES | $0.10 / 1K · from EC2 free first 62K/mo | ₹0 |
| Email volume (at 100 customers) | — | ~5K emails/mo | (included) |
| DKIM / SPF / DMARC setup | self | One-time, free | ₹0 |
| Transactional email subtotal | ₹1,250 / mo | ||
6 · SMS gateway
OTPs and time-critical alerts. India has a mandatory DLT registration regime (TRAI) before you can send any transactional SMS — that's a one-time cost.
| Item | Vendor | Pricing | Notes |
|---|---|---|---|
| OTP / transactional SMS | MSG91 or Gupshup | ₹0.15–0.22 per SMS | Volume discounts above 1L/mo |
| Promotional SMS | same | ₹0.10–0.15 per SMS | Restricted hours (9 am – 9 pm) |
| Monthly estimate (100 customers) | — | ~3,000 SMS @ ₹0.20 | ₹600 / mo |
| DLT entity registration one-time | TRAI via NDNC | ~₹5,900 one-time | Mandatory · per legal entity |
| DLT header registration one-time | same | ~₹1,180 per header | 2–3 headers (OTP, txn, promo) |
| SMS recurring subtotal | ₹600 / mo | ||
Without DLT registration, telecom operators will block transactional SMS, including OTPs. Allow 2–3 weeks for the full DLT + header + template approval pipeline. Start on day one.
7 · Payment processing (Razorpay)
Razorpay's commission on each transaction. The owner pays this on direct + manual bookings; we don't mark it up. Listed here for completeness because it affects pricing decisions. The ABc platform earns a small revshare back from Razorpay's partner program.
| Payment method | Razorpay rate | Who pays |
|---|---|---|
| UPI | ~0.4 % (often free under ₹2,000) | Owner |
| Domestic debit/credit card | 2 % + GST | Owner |
| International card | 3 % + GST | Owner |
| Netbanking | 2 % + GST | Owner |
| Wallets | 2 % + GST | Owner |
| Refund processing | Free for cards/UPI · ₹6 per netbanking refund | Owner |
| ABc's share via referral revshare | ~0.3 % of GMV (invisible to owner) | Razorpay → us |
8 · WhatsApp Business API Optional
For pre-stay info, balance reminders, post-stay follow-up. Conversation-based pricing (Meta), with a provider markup. V1.1 — not in MVP.
| Conversation type | Use case | Cost per conv (India) |
|---|---|---|
| Utility | Booking confirmation, balance reminder, check-in info | ₹0.32 |
| Authentication | OTPs | ₹0.17 |
| Marketing | Campaigns, offers, newsletters | ₹0.69 |
| Service | Reactive (user initiates) | Free (within 24 h) |
| Provider markup (Gupshup / WATI) | — | +30–50 % over Meta rates |
| Monthly estimate (100 customers) | ~2,000 utility conversations | ~₹900 / mo |
9 · KYC verification Optional
Used during owner onboarding to verify PAN, Aadhaar, bank account & GSTIN. Per-check pricing via a verification aggregator.
| Check | Vendor | Per check |
|---|---|---|
| PAN verification (NSDL) | Karza / SurePass / Signzy | ₹2–3 |
| Aadhaar eKYC (OTP-based) | UIDAI via aggregator | ₹3–5 |
| Bank account validation (penny drop) | Razorpay Account API or Karza | ₹3–5 |
| GSTIN validation | GSTN via aggregator | ₹2–3 |
| Trade-licence OCR + parse | Karza / Signzy | ₹5–8 |
| Per new-owner onboarding | — | ~₹20–25 one-off |
| Monthly estimate (10 new owners) | — | ₹250 / mo |
10 · Maps & geocoding Optional
| Item | Vendor | Free tier | Beyond |
|---|---|---|---|
| Property page map tiles | Mapbox | 50K free loads/mo | $0.50 / 1K |
| Geocoding (address → lat/lng) | Mapbox / Nominatim (OSM) | Generous free | $0.50 / 1K |
| Static map images (emails) | Mapbox static | Free under cap | $0.40 / 1K |
| Maps subtotal (within free tier at MVP) | ₹0 / mo | ||
11 · Captcha & anti-bot Optional
| Item | Vendor | Pricing |
|---|---|---|
| Anti-bot on sign-up / OTP / search | hCaptcha | Free (up to 1M/mo) |
| Enterprise tier (if scoring needed) | hCaptcha | $99/mo from later |
| Captcha subtotal | ₹0 / mo | |
12 · Monitoring & observability Optional
Errors, logs, uptime, alerts. Worth investing in early — the cost of a missed outage is 100× the cost of the monitoring tool. CloudWatch is included with AWS but limited; we layer Sentry on top for error tracking that's actually usable.
| Item | Vendor | Plan | Monthly |
|---|---|---|---|
| Error tracking | Sentry | Team plan · 50K events/mo | ₹2,200 |
| Uptime monitoring + alerts | Better Stack | 10 monitors, 1-min interval | ₹2,000 |
| CloudWatch (basic metrics) | AWS | 10 metrics free · alarms ~$0.10/alarm | ₹100 |
| Logs aggregation | Grafana Cloud free | 50 GB logs free/mo | ₹0 |
| APM (later) | Self-hosted Prometheus + Grafana | Free, ops time only | ₹0 |
| Monitoring subtotal | ₹4,300 / mo | ||
13 · Security & WAF Optional
| Item | Vendor | Pricing | |
|---|---|---|---|
| WAF + DDoS protection | AWS WAF / Shield Standard | WAF ~$5/mo + $0.60 per 1M req | |
| Dependency vulnerability scanning | GitHub Dependabot | Free | |
| Static analysis (SAST) | Snyk Free / SonarCloud | Free for OSS-like usage | |
| Penetration test annual | Indian boutique firm | ₹60,000 – ₹1,20,000 / year | |
| Cyber insurance later | HDFC Ergo / ICICI Lombard | ₹15,000 – ₹30,000 / year | |
| AWS GuardDuty (threat detection) | AWS | ~$0.50–$2 per million events | (₹400/mo) |
| Security subtotal (monthly amortised inc. pentest) | ₹8,000 / mo | ||
14 · Developer tooling Optional
| Item | Vendor | Plan / pricing | Monthly (5 devs) |
|---|---|---|---|
| Source code hosting | GitHub Team | $4/user/mo | ₹1,700 |
| CI/CD minutes | GitHub Actions | 3,000 free/mo · $0.008/min over | ₹500 (overage) |
| Container registry | GHCR + ECR (AWS) | GHCR free private · ECR $0.10/GB/mo | ₹100 |
| Secret manager | 1Password Teams + AWS Secrets Manager | $8/user + $0.40/secret/mo | ₹3,600 |
| Linear (issue tracking) | Linear | $10/user/mo Standard | ₹4,200 |
| Figma (design) | Figma Professional | $15/editor/mo | ₹2,500 (2 editors) |
| Dev tooling subtotal | ₹12,600 / mo | ||
15 · Customer support tooling Optional
| Item | Vendor | Plan | Monthly |
|---|---|---|---|
| Helpdesk / ticketing | Freshdesk Growth | ₹1,100/agent/mo · 2 agents | ₹2,200 |
| Live chat widget (public site) | Crisp / Chatwoot self-hosted on EC2 | Free tier | ₹0 |
| Knowledge base | Built into Freshdesk | Included | ₹0 |
| Support tooling subtotal | ₹2,200 / mo | ||
16 · Accounting & compliance Optional
| Item | Vendor | Pricing |
|---|---|---|
| Accounting software | Zoho Books Standard | ₹749/mo (annual ₹5,990) |
| CA / accountant retainer | Local firm | ₹8,000–15,000/mo |
| GST filing | Included in CA retainer | — |
| Company registrar fees (ROC, MCA) | MCA portal | ₹6,000/year amortised |
| Legal — recurring retainer | Boutique firm | ₹0 — pay per matter initially |
| Accounting + compliance subtotal | ₹12,300 / mo | |
17 · Analytics & growth tooling Optional
| Item | Vendor | Pricing |
|---|---|---|
| Web analytics (public site) | GA4 / Plausible | Free / ₹800/mo |
| Product analytics (admin) | PostHog Cloud | Free up to 1M events/mo |
| SEO tools | Ahrefs Lite | ₹8,000/mo · optional V1.1+ |
| Analytics subtotal (MVP) | ₹0 / mo | |
One-time / annual costs (year 1)
| Item | Cost |
|---|---|
| DLT entity registration (TRAI) | ₹5,900 |
| DLT header registration × 3 (OTP / txn / promo) | ₹3,540 |
| Trademark filing (Class 9 + 42 for software/SaaS) | ₹9,000 — ₹18,000 |
| Company incorporation (if not already done) | ₹6,000 — ₹15,000 |
| Penetration test (annual) optional | ₹60,000 — ₹1,20,000 |
| SSL extended validation (if needed) optional | ₹12,000 |
| Razorpay merchant onboarding | Free (revshare partner) |
| OTA partner certification (Booking.com etc.) | Free, but staff time |
| Domain registrations (5 domains × 1 year) | ₹4,790 |
| Cyber insurance (annual policy) optional | ₹20,000 |
| Total one-time + annual (year 1) | ~₹1,20,000 — ₹2,00,000 |
Total monthly burn — three snapshots
Numbers update live based on the Optional costs toggle at the top of the page.
| Category | Pre-launch (MVP, 5 customers) | 50 customers | 100 customers |
|---|---|---|---|
| 1 · Infrastructure (AWS) | ₹9,500 | ₹15,700 | ₹20,700 |
| 2 · Storage & CDN (S3 + CloudFront) | ₹500 | ₹1,800 | ₹5,500 |
| 3 · Domain & SSL | ₹380 | ₹380 | ₹380 |
| 4 · Business email | ₹680 | ₹680 | ₹950 |
| 5 · Transactional email | ₹1,250 | ₹1,250 | ₹1,500 |
| 6 · SMS | ₹160 | ₹400 | ₹610 |
| 7 · Payment processing (pass-through) | ₹0 | ₹0 | ₹0 |
| 8 · WhatsApp optional | ₹0 | ₹450 | ₹900 |
| 9 · KYC checks optional | ₹100 | ₹200 | ₹250 |
| 10 · Maps optional | ₹0 | ₹0 | ₹0 |
| 11 · Captcha optional | ₹0 | ₹0 | ₹0 |
| 12 · Monitoring optional | ₹2,200 | ₹4,300 | ₹4,300 |
| 13 · Security & WAF (pentest amortised) optional | ₹0 | ₹8,000 | ₹8,000 |
| 14 · Dev tooling optional | ₹5,500 | ₹12,600 | ₹12,600 |
| 15 · Support tooling optional | ₹0 | ₹2,200 | ₹2,200 |
| 16 · Accounting + CA optional | ₹0 | ₹2,200 | ₹12,300 |
| 17 · Analytics tooling optional | ₹0 | ₹0 | ₹0 |
| Total monthly burn | ~₹12,470 | ~₹20,210 | ~₹29,640 |
| Per-customer cost | ₹2,494 | ₹404 | ₹296 |
Cost vs revenue at scale
Tying this to the Revenue Model: at 100 Growth-tier customers, ABc revenue is ~₹12 L MRR. With the toggle above, you can compare the maximum operating burn (with all optional tooling) against the bare minimum.
Cost optimisation playbook
Watch the CloudFront bill
Egress is the biggest swing on AWS. Compress photos (WebP/AVIF), use responsive sizes, enable browser caching aggressively. A bad month at 5 TB egress could cost ₹40k+.
Reserved Instances after month 6
Once compute usage is stable, 1-year RIs on EC2 and RDS cut compute bills by 30–40 %. At the 100-customer stage that's ~₹6–8k/mo saved.
Annual prepays for SaaS tools
Postmark, Sentry, GitHub, Zoho Books all give 15–20 % off on annual. ₹8–12k/yr saved without effort.
Self-host where it's cheap
Chatwoot (chat), Plausible (analytics), Grafana stack (logs/metrics) all self-hostable on a small EC2. Trade ops time for SaaS bills when scale justifies the hosted version.
Free tiers are real
hCaptcha, ACM SSL, GitHub Actions free minutes, Mapbox 50K loads, GA4, PostHog Cloud. ₹6–10k/mo of "tooling" stays at ₹0 until we outgrow it.
SMS is the silent leak
At ₹0.20 each, 100 OTPs/day adds up to ₹600/mo per 100 customers. Push email-first OTP, use SMS only as fallback. WhatsApp utility conversations can replace SMS reminders.
What's not on this page
Salaries, freelancers, marketing spend, office space, hardware — these are real and large but they're not per-platform costs and need their own budget document. At 100 customers, expect ~₹3–5 L/mo on a small team and ~₹50k–1.5 L/mo on marketing. The platform stays at ~₹75k regardless.
Open items to track over time
- Numbers are 2026 list prices — re-audit quarterly. AWS, Razorpay, Sentry, Postmark all change rates roughly once a year.
- Revisit cost-of-goods per customer at 200, 500, 1000 customers — economies of scale kick in around shared infrastructure.
- Once revenue clears ₹50 L MRR, evaluate Reserved Instances + Savings Plans across the entire EC2 + RDS estate. Typical ~35 % saving.
- The DB will be the first thing to hurt — plan to vertical-scale RDS (db.t3.medium → m6i.large) around customer #200, plus a read replica.
- Pentest scope grows with the product surface. Annual pentest at ₹60–80k is fine for MVP; year 2 will need a deeper engagement covering channel adapters, payment flows and KYC.