-
Notifications
You must be signed in to change notification settings - Fork 1
NetPace for MSPs: Feature Requirements Analysis
Managed Service Providers (MSPs) represent a high-value niche for NetPace due to their need for professional network speed testing across multiple client environments. Based on extensive research into MSP workflows and pain points, this document outlines the features NetPace would need to successfully serve this market.
- Onboarding takes 40-80 hours per client - mostly manual data gathering
- Multi-client management complexity - juggling dozens of client networks simultaneously
- SLA compliance reporting - proving value through regular performance reports
- Pricing accuracy - need baseline data to quote services correctly
- Proactive issue detection - spotting problems before clients notice them
- Client retention - demonstrating ongoing value through documentation
- Initial onboarding: Establish network performance baseline
- SLA validation: Prove ISP is meeting contracted speeds
- Monthly reporting: Show network health trends over time
- Troubleshooting: Diagnose "internet is slow" complaints
- Upgrade justification: Prove ROI for bandwidth increases
- QBR (Quarterly Business Review) data: Demonstrate value delivered
What it is: Ability to manage multiple client networks from a single NetPace instance, with complete data isolation.
Implementation requirements:
NetPace client add "Acme Corp" --id acme-001
NetPace client list
NetPace --client acme-001 test
NetPace report --client all --month november
Key capabilities:
- Create unlimited client profiles
- Associate test results with specific clients
- Client-level configuration inheritance (each client can have custom settings)
- Unique identifiers prevent data mixing
- Bulk operations across all clients
Why MSPs need this: "I manage 50 clients. I can't run 50 separate instances or manually track which results belong to which client. I need one tool that organizes everything automatically."
What it is: Run speed tests automatically on a schedule without human intervention.
Implementation requirements:
NetPace schedule add \
--client acme-001 \
--frequency daily \
--time "02:00" \
--tests "latency,download,upload"
NetPace schedule list --client acme-001
NetPace schedule pause acme-001-daily
NetPace schedule resume acme-001-daily
Key capabilities:
- Cron-style scheduling (daily, weekly, monthly, custom)
- Multiple schedules per client
- Time zone support
- Skip weekends/holidays option
- Automatic retry on failure
- Email/webhook notifications on completion or failure
Why MSPs need this: "I can't manually run tests every day for 50 clients. The tool needs to run automatically and alert me if something's wrong. Set it and forget it."
What it is: Store all test results indefinitely and generate trend reports showing performance over time.
Implementation requirements:
NetPace history --client acme-001 --last 90days
NetPace trend --client acme-001 --metric download --format chart
NetPace baseline --client acme-001 --calculate
Key capabilities:
- SQLite or PostgreSQL backend for data storage
- Retention policies (keep data for X months/years)
- Baseline calculation (average, median, 95th percentile)
- Anomaly detection (flag results X% below baseline)
- Export historical data (CSV, JSON)
- Performance degradation alerts
Why MSPs need this: "I need to prove the client's internet was fine last month but degraded this month. Historical data shows I'm not making it up and helps justify upgrade costs."
What it is: Generate PDF/DOCX reports with charts, executive summaries, and technical details suitable for client consumption.
Implementation requirements:
NetPace report generate \
--client acme-001 \
--period november-2025 \
--format pdf \
--template "monthly-executive" \
--logo "msp-logo.png" \
--output "/reports/acme-nov-2025.pdf"
Key capabilities:
- Multiple report templates (executive, technical, detailed)
- Custom branding (logo, colors, company name)
- Charts and graphs (speed trends, uptime, comparison)
- Executive summary with key findings
- Technical appendix with raw data
- Scheduled automatic report generation
- Email delivery option
Report sections:
- Executive Summary: "Network performance was stable with 99.8% SLA compliance"
- Performance Highlights: Average speeds, peak times, issues detected
- SLA Compliance: Comparison against contracted speeds
- Trend Analysis: Month-over-month comparison
- Recommendations: Upgrade suggestions if needed
- Technical Details: Raw test data, methodology
Why MSPs need this: "Clients don't care about raw data. They want a professional report that shows we're monitoring their network and everything's fine (or here's what needs fixing)."
What it is: Automatically calculate "normal" performance for each client and alert when results deviate significantly.
Implementation requirements:
NetPace baseline create --client acme-001 --period 30days
NetPace alert set \
--client acme-001 \
--metric download \
--threshold "20% below baseline" \
--notify email
NetPace baseline show --client acme-001
Key capabilities:
- Automatic baseline calculation after N tests
- Configurable deviation thresholds (percentage or absolute)
- Multiple alert channels (email, webhook, Slack, SMS)
- Alert suppression (don't alert for known maintenance)
- Alert escalation rules
- Baseline recalculation (monthly, quarterly)
Example alert:
🚨 Performance Alert: Acme Corp
Download speed: 47.2 Mbps (usually 245 Mbps)
Deviation: 81% below baseline
Tested: 2025-12-07 14:32 UTC
Action required: Investigate ISP issues
Why MSPs need this: "I can't manually watch 50 dashboards. The tool needs to tell me when something's wrong so I can be proactive instead of reactive."
What it is: Export all data in machine-readable formats for integration with other tools.
Implementation requirements:
NetPace export \
--client all \
--format csv \
--period "2025-11-01" to "2025-11-30" \
--output "november-all-clients.csv"
NetPace export \
--client acme-001 \
--format json \
--stream # Real-time export as tests complete
Key capabilities:
- Bulk export across all clients
- Date range filtering
- Selective field export (only download speeds, only metadata)
- Scheduled exports (daily dump to S3/FTP)
- Streaming mode for real-time integrations
Why MSPs need this: "I need to pull this data into my PSA tool, dashboard, or data warehouse. CSV/JSON export is non-negotiable."
What it is: Automatically create tickets in the MSP's PSA (Professional Services Automation) tool when issues are detected.
Implementation requirements:
NetPace integration add connectwise \
--url "https://api.connectwise.com" \
--api-key "xxx" \
--board "Network Issues"
NetPace integration set-rule \
--client acme-001 \
--condition "download < 50 Mbps" \
--action "create_ticket" \
--priority "medium"
Key capabilities:
- OAuth/API key authentication
- Automatic ticket creation on threshold violation
- Ticket updates as issue resolves
- Custom ticket templates
- Map NetPace alerts to PSA priority levels
- Attach test results to tickets
Supported PSA platforms:
- ConnectWise Manage (most popular)
- Autotask PSA
- HaloPSA
- ServiceNow
- Zendesk
- Freshdesk
Example workflow:
- NetPace detects download speed 40 Mbps (baseline 200 Mbps)
- Creates ticket in ConnectWise: "Acme Corp - Network Performance Degraded"
- Assigns to "Network Team" board
- Attaches test results and trend chart
- Updates ticket when speed returns to normal
Why MSPs need this: "We live in our PSA tool. If NetPace can create tickets automatically, my techs will actually respond to issues. Otherwise the alerts get lost."
What it is: Remove NetPace branding and replace with MSP's own branding throughout reports and output.
Implementation requirements:
NetPace branding set \
--company-name "SecureIT Solutions" \
--logo "secureit-logo.png" \
--primary-color "#0066CC" \
--footer-text "© 2025 SecureIT Solutions | support@secureit.com"
NetPace branding apply --to reports
NetPace branding preview
Key capabilities:
- Custom logo on all reports
- Color scheme customization
- Custom company name
- Custom footer text
- Remove "Powered by NetPace" branding (or make it subtle)
- Custom report templates
Why MSPs need this: "My clients are paying me for network monitoring. They shouldn't see another vendor's name on reports. It needs to look like I built this myself."
What it is: Run tests before and after network changes to prove improvement or diagnose issues.
Implementation requirements:
NetPace comparison create "Before Upgrade" --client acme-001
# <Make network changes>
NetPace comparison create "After Upgrade" --client acme-001
NetPace comparison report --show-improvement
Key capabilities:
- Tag tests with labels ("before-upgrade", "after-upgrade")
- Side-by-side comparison reports
- Percentage improvement calculation
- Statistical significance testing
- Export comparison data
Example report:
Network Upgrade Results - Acme Corp
─────────────────────────────────────────
Before After Change
Download 98 Mbps 487 Mbps +397%
Upload 12 Mbps 95 Mbps +692%
Latency 45ms 12ms -73%
Recommendation: Upgrade successful
ROI: 5x improvement in download capacity
Why MSPs need this: "When I upgrade a client to fiber, I need before/after data to prove we delivered what we promised. It's how we justify our fees."
What it is: Test multiple physical locations for the same client (branch offices, remote sites).
Implementation requirements:
NetPace location add \
--client acme-001 \
--name "HQ-Chicago" \
--address "123 Main St, Chicago"
NetPace location add \
--client acme-001 \
--name "Branch-Dallas"
NetPace test --client acme-001 --location all
NetPace report --client acme-001 --compare-locations
Key capabilities:
- Unlimited locations per client
- Location-specific baselines
- Cross-location comparison
- Location performance ranking
- Aggregate reporting across all locations
Why MSPs need this: "Enterprise clients have 10-20 locations. I need to test each site independently and compare performance across the organization."
What it is: Define SLA thresholds per client and automatically track compliance.
Implementation requirements:
NetPace sla set \
--client acme-001 \
--download-min 200 \
--upload-min 50 \
--latency-max 30 \
--uptime-min 99.5
NetPace sla report --client acme-001 --month november
NetPace sla compliance --client all
Key capabilities:
- Custom thresholds per client
- Automatic compliance calculation
- Violation tracking
- SLA credits calculation (if breached)
- Compliance trend reporting
Example SLA report:
Acme Corp - November SLA Compliance
─────────────────────────────────────
Download Speed: ✅ 99.8% compliant
Upload Speed: ✅ 100% compliant
Latency: ✅ 98.2% compliant
Overall: ✅ 99.3% (target: 99.5%)
Violations: 2 incidents totaling 4.7 hours
Credit owed: $47 (0.7% of monthly fee)
Why MSPs need this: "We sign SLAs with clients promising certain performance levels. I need to track if we're meeting those commitments or owe credits."
What it is: Optional web interface for viewing results, managing clients, and generating reports without using CLI.
Implementation requirements:
NetPace server start --port 8080
# Visit http://localhost:8080
Key capabilities:
- Client list with health status
- Real-time test results
- Historical charts and graphs
- Report generation UI
- Client configuration management
- User authentication and RBAC
- Mobile-responsive design
Dashboard views:
- Overview: All clients, health status, recent alerts
- Client Detail: Performance trends, test history, SLA compliance
- Reports: Generate and download reports
- Settings: Configure clients, schedules, alerts
Why MSPs need this: "The CLI is great for automation, but sometimes I want to show a client their dashboard in a meeting. A web portal makes that easy."
What it is: Real-time webhook notifications and REST API for custom integrations.
Implementation requirements:
NetPace webhook add \
--url "https://my-msp.com/netpace-webhook" \
--events "test.completed,alert.triggered" \
--client acme-001
# API usage
GET /api/v1/clients
GET /api/v1/clients/acme-001/tests?start=2025-11-01&end=2025-11-30
POST /api/v1/clients/acme-001/tests
Webhook payload example:
{
"event": "alert.triggered",
"client_id": "acme-001",
"client_name": "Acme Corp",
"timestamp": "2025-12-07T14:32:00Z",
"alert": {
"type": "performance_degradation",
"metric": "download",
"current_value": 47.2,
"baseline_value": 245.0,
"deviation_percent": -80.7
}
}Why MSPs need this: "We have our own dashboards and automation. Give us a REST API and webhooks so we can build custom integrations."
What it is: Simulate VoIP calls or video conferences to test real-world application performance beyond just speed.
Why MSPs need this: "Speed tests don't tell the whole story. If a client's Teams calls are choppy, I need jitter and packet loss metrics."
What it is: iOS/Android app for running on-site tests during installations or troubleshooting.
Why MSPs need this: "When my tech is on-site installing equipment, they need to run a test from their phone and attach results to the work order."
What it is: Compare performance across different time periods (e.g., November 2024 vs. November 2025).
Why MSPs need this: "Client wants to know if their network is better than last year. Show me year-over-year trends."
What it is: Calculate cost per Mbps and show ROI for bandwidth upgrades.
Example:
Current: $500/month for 100 Mbps = $5 per Mbps
Upgrade: $800/month for 500 Mbps = $1.60 per Mbps
Recommendation: Upgrade offers 5x bandwidth for only 60% more cost
Why MSPs need this: "Help me show clients the business case for upgrading. Cost per Mbps makes it clear."
What it is: Different users (MSP techs) can log in with different permission levels.
Roles:
- Admin: Full access to everything
- Technician: View reports, run tests, no configuration changes
- Read-Only: View reports only
- Client Portal: Clients can view their own data only
Why MSPs need this: "My junior techs should be able to run tests but not delete data or change client configurations."
Goal: Make NetPace usable by a single MSP with 5-10 clients
- ✅ Multi-tenant architecture (client profiles)
- ✅ Scheduled automated testing
- ✅ Historical data storage (SQLite)
- ✅ CSV bulk export
- ✅ Baseline calculation & alerts
- ✅ Basic report generation (PDF with charts)
Deliverable: MSP can onboard clients, schedule tests, receive alerts, generate monthly reports
Goal: Make NetPace competitive with existing MSP tools
- ✅ White-label branding
- ✅ Professional report templates (multiple styles)
- ✅ Comparison testing (before/after)
- ✅ Multi-location support
- ✅ SLA threshold tracking
Deliverable: MSP can confidently sell NetPace reports to clients as their own service
Goal: Integrate with MSP's existing workflow
- ✅ PSA integration (ConnectWise, Autotask)
- ✅ Webhook/REST API
- ✅ Optional web dashboard
- ✅ Historical trending (better analytics)
Deliverable: NetPace fits seamlessly into MSP's existing tools and workflows
Goal: Differentiate from competitors
- ⏳ VoIP/Video quality testing
- ⏳ Mobile app
- ⏳ RBAC / multi-user
- ⏳ Year-over-year comparisons
- ⏳ Cost analysis / ROI calculator
Deliverable: NetPace becomes the most comprehensive MSP speed testing tool on the market
Current: File-based (JSON/CSV) MSP Requirement: Database (SQLite for small MSPs, PostgreSQL for enterprise)
Schema example:
CREATE TABLE clients (
id TEXT PRIMARY KEY,
name TEXT,
created_at TIMESTAMP
);
CREATE TABLE tests (
id TEXT PRIMARY KEY,
client_id TEXT REFERENCES clients(id),
location_id TEXT,
timestamp TIMESTAMP,
download_mbps REAL,
upload_mbps REAL,
latency_ms REAL,
server_id TEXT,
metadata JSON
);
CREATE TABLE alerts (
id TEXT PRIMARY KEY,
client_id TEXT REFERENCES clients(id),
triggered_at TIMESTAMP,
resolved_at TIMESTAMP,
type TEXT,
severity TEXT,
message TEXT
);Current: Command-line flags MSP Requirement: Per-client configuration files
Example structure:
/home/claude/.netpace/
config.yaml # Global settings
clients/
acme-001/
config.yaml # Client-specific settings
schedules.yaml # Test schedules
sla.yaml # SLA thresholds
reports/ # Generated reports
techcorp-002/
...
Recommended library: Pandoc (Markdown → PDF/DOCX) Charts: matplotlib or plotly (generate PNG charts) Templates: Jinja2 for dynamic content
Option 1: Per-Client Pricing
- $5/month per client monitored
- Unlimited tests per client
- Example: MSP with 50 clients = $250/month
Option 2: Tiered Pricing
- Starter: $49/month (up to 10 clients)
- Professional: $149/month (up to 50 clients)
- Enterprise: $399/month (unlimited clients)
Option 3: Per-Technician Pricing
- $29/month per technician/user
- Unlimited clients per technician
- Common in MSP tools (Atera, Pulseway use this model)
Recommendation: Start with Option 2 (Tiered) as it's easiest for MSPs to budget and scales predictably.
- Small MSPs (1-5 techs, 10-30 clients): Price-sensitive, need simple tools
- Medium MSPs (5-20 techs, 30-150 clients): Need automation and integrations
- Enterprise MSPs (20+ techs, 150+ clients): Need white-label and API access
- Direct: Sell through NetPace website
- MSP marketplaces: List on ConnectWise Marketplace, Pax8, Datto
- Resellers: Partner with RMM vendors (bundle with their tools)
- Communities: r/msp Reddit, MSP Facebook groups, Spiceworks
- Simplicity: CLI-first design (MSPs love scriptability)
- Price: 50-70% cheaper than enterprise tools
- Focus: Specialized for speed testing (not trying to do everything)
- .NET ecosystem: Familiar to MSPs who use Windows-based tools
How to measure if NetPace for MSPs is successful:
- Number of MSPs signed up
- Average clients per MSP
- Tests run per client per month
- Reports generated per month
- % of MSPs using scheduled tests (should be >90%)
- % of MSPs generating reports (should be >80%)
- % of MSPs using integrations (should be >50% in Phase 3)
- Churn rate (should be <5% monthly)
- Monthly Recurring Revenue (MRR)
- Customer Acquisition Cost (CAC)
- Lifetime Value (LTV)
- LTV:CAC ratio (should be >3:1)
Q: Why not just use speedtest.net? A: Speedtest is great for one-off tests, but MSPs need:
- Scheduled automated testing
- Historical data and trending
- Multi-client management
- Professional branded reports
- SLA compliance tracking
- Integration with their existing tools
Q: What's your competitive advantage vs. enterprise RMM tools? A: We're specialized and affordable:
- Auvik/SolarWinds cost $5-10/device/month = $500-1000/month for a 100-device client
- NetPace: $5/client/month regardless of device count
- We do one thing really well instead of trying to do everything
Q: Do I need to install an agent on every device? A: No! NetPace is agentless. Install once on a server or network appliance, and it tests the entire location's internet connection.
Q: Can clients see their own data? A: Yes (optional in Phase 4). You can give clients read-only access to their own dashboard and reports.
Q: Does this replace my RMM tool? A: No, NetPace complements your RMM by adding specialized speed testing. It integrates with your RMM via API/webhooks.
The MSP market is a perfect fit for NetPace because:
- Clear pain point: MSPs need professional speed testing for client reporting
- Recurring revenue model: MSPs pay monthly for each client monitored
- Viral growth: One MSP manages 20-50 clients, multiplying your impact
- Your strengths align: CLI-first, .NET ecosystem, automation-friendly
- Underserved market: No affordable, specialized tool exists today
Critical features for MVP (Phase 1):
- Multi-tenant client management
- Scheduled automated testing
- Historical data storage
- Baseline & alerts
- CSV export
- Basic PDF reports
Differentiators for competitive advantage (Phase 2-3):
- White-label branding
- PSA integrations
- Professional reports
- SLA tracking
- REST API
Start with Phase 1 to validate the market, then iterate based on real MSP feedback. Target 10 pilot MSPs to test the concept before investing in Phases 2-3.