SaaS SLA Reality Score
Pricing
from $5.00 / 1,000 results
SaaS SLA Reality Score
Scores the real reliability of SaaS vendors from their public status-page incident history and compares it against the SLA they claim. One structured scorecard per vendor: observed uptime, incident stats, MTTR, trend and a transparent 0-100 score. 168 vendors built in.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Kasım Genç
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scores the real, observed reliability of SaaS vendors from their public status-page incident history — and, when you know the SLA they promise, compares promise vs reality.
- "Looking for a Stripe alternative — whose public incident history was actually better in the last 90 days?"
- "This vendor claims 99.9%. Their own status page implies 97.9%. Ask them about that in the renewal call."
- "Which of our critical vendors is trending worse this quarter?"
One structured scorecard per vendor, per run. Schedule it weekly and feed your vendor-risk dashboard.
What you get
{"vendor": "GitHub","statusPage": "https://www.githubstatus.com","currentStatus": "none","claimedSla": 99.9,"observedUptimePct": 97.946,"slaGapPct": -1.954,"reliabilityScore": 30,"grade": "F","scoreDelta": -3,"scoreBreakdown": { "downtimePenalty": 50, "frequencyPenalty": 17.4, "mttrPenalty": 2.5 },"windowDays": 90,"coverageDays": 73,"windowTruncated": true,"incidents": 45,"incidentsByImpact": { "critical": 13, "major": 5, "minor": 27 },"downtimeMinutes": 2159,"medianResolutionMinutes": 101,"p90ResolutionMinutes": 354,"updatesPerIncident": 6.3,"incidentsPer30d": 14.5,"trend": "stable","newIncidentsSinceLastRun": [],"recentIncidents": [ { "name": "...", "impact": "critical", "startedAt": "...", "url": "https://stspg.io/..." } ],"detectedAt": "2026-07-10T14:16:57.571Z"}
The run summary (OUTPUT key in the default key-value store) contains a ready-made ranking of all scored vendors.
Input
{"vendors": ["github","openai",{ "name": "Acme Corp", "statusPageUrl": "https://status.acme.com", "claimedSla": 99.95 }],"windowDays": 90}
| Field | Type | Description |
|---|---|---|
vendors * | array | Registry slugs (167 built-in, list below) and/or objects. Any status page built on Atlassian Statuspage works via the object form — that covers a large share of the SaaS industry. |
windowDays | integer | Analysis window, 7–365. Default 90. |
snapshotStoreName | string | Named KV store for per-vendor state between runs (enables scoreDelta and newIncidentsSinceLastRun). |
maxConcurrency | integer | Parallel vendors. Default 5. |
Built-in registry (168 vendors)
Every slug below was individually verified against the live status page API:
- AI:
anthropic,assemblyai,cohere,deepgram,elevenlabs,groq,langsmith,openai,pinecone,replicate - Automation:
ifttt,make,tray,workato,zapier - CI/CD:
buildkite,circleci,codecov - CRM & Sales:
attio,close,copper,gong,hubspot,salesloft - Cloud Hosting:
digitalocean,flyio,linode,netlify,render,scaleway,vercel - Communication:
discord - Communication APIs:
ably,courier,getstream,onesignal,pusher,twilio - Customer Support:
gorgias,helpscout,kustomer - Data & Analytics:
amplitude,census,confluent,dbt,elastic,fivetran,heap,mixpanel,rudderstack,segment,snowflake - Databases:
cockroachdb,influxdata,mongodb-atlas,neo4j,planetscale,supabase - Design:
canva,figma,lucid,spline - Developer Tools:
bitbucket,github,jfrog,launchdarkly,ngrok,npm,ona,postman,pypi,quay,readme,retool,rubygems - E-commerce:
bigcommerce,easypost,recharge,shippo,shipstation,shopify,squarespace,webflow,wix - Education:
coursera,duolingo,instructure,kahoot,udemy - Email & Messaging:
loops,mailgun,mailjet,sendgrid,sparkpost - File Storage:
box,dropbox - Gaming:
epicgames - HR & Finance Ops:
ashby,expensify,greenhouse,gusto,lever,quickbooks,rippling,xero - Infrastructure & CDN:
bunny,cloudflare,cloudinary,hashicorp,imgix - Marketing & Growth:
braze,hotjar,iterable,klaviyo,surveymonkey,typeform,unbounce - Monitoring & Observability:
bugsnag,datadog,fullstory,honeycomb,logrocket,newrelic,opsgenie,rollbar,sentry,servicenow-observability,statuspage,sumologic - Payments & Fintech:
brex,chargebee,coinbase,gemini-exchange,kraken,marqeta,paddle,plaid,recurly,square,wise - Productivity:
airtable,asana,atlassian,calendly,coda,confluence,docusign,dropbox-sign,grammarly,jira,linear,miro,monday,notion,pandadoc,smartsheet,trello - Security & Identity:
1password,duo,knowbe4,snyk,tailscale - Social & Media:
reddit,twitch - Streaming & Media:
plex(most consumer streaming services — Netflix, Hulu, Disney+ — do not operate public status pages, so there is nothing public to measure) - Video & Media:
vimeo - Video & Meetings:
mux,zoom
Each scorecard record includes the vendor's category, so you can build per-category rankings from the dataset.
Where does claimedSla come from?
You don't need it — the score works without it. Three sources, in order:
- You provide it (recommended): your contract states your SLA; pass it per vendor and get
slaGapPct. - Registry defaults: for a few vendors with well-known public SLA documents (GitHub, Twilio, Cloudflare Enterprise, DigitalOcean) we ship the documented value with its source URL. Verify at the source before relying on it.
- Absent →
claimedSla/slaGapPctarenull; the reliability score and ranking still work.
The score formula (fully transparent)
score = 100 − downtimePenalty − frequencyPenalty − mttrPenaltydowntimePenalty = min(50, 33 × √(impactWeightedDowntime%))frequencyPenalty = min(25, weightedIncidentsPer30d × 1.2)mttrPenalty = min(15, medianResolutionHours × 1.5)grade: A ≥ 90, B ≥ 80, C ≥ 70, D ≥ 60, F < 60
- Impact weights (duration): critical 1.0, major 0.4, minor 0.1. Frequency weights: critical 1.5, major 1.0, minor 0.4.
- 24 h per-incident cap: multi-day status items are almost always partial degradations left open, not full outages; without the cap one of them dominates the whole window.
- Calibrated against the real 90-day history of 10 popular status pages so grades spread meaningfully — quiet pages (PyPI, npm) score A/B; incident-heavy quarters (GitHub, Cloudflare in mid-2026) score F. A grade is a statement about the window you measured, not the brand.
Honesty notes (read before quoting scores)
- This is the public track record, not true uptime. Status pages are curated by vendors; unposted incidents don't exist here. Treat the score as "what the vendor admits", which is exactly what you can hold them to.
- The public Statuspage API returns at most the 50 most recent incidents. If those don't reach back to your full window, we shrink the analysis to the covered span and set
windowTruncated: true+coverageDays. Ironically, hitting this limit is itself a reliability signal. observedUptimePctcounts critical+major incident-minutes (capped at 24 h/incident) against the window — an approximation of user-visible availability, not a billing-grade SLA measurement.- Vendors on custom status systems (Stripe, Slack, AWS, GCP, Heroku, Salesforce...) are not supported yet — only Atlassian-Statuspage-compatible pages.
Suggested usage
- Weekly schedule with your vendor list → time series of scores in the dataset (
scoreDeltatracks movement). - Procurement one-shot: run once with the candidates you're evaluating; read the ranking in
OUTPUT. - Pipe
newIncidentsSinceLastRuninto Slack/webhook via Apify integrations for a lightweight multi-vendor incident feed.