At a glance
The percentage of Vortex IQ-filed Tidio tickets that the merchant team has actually closed in the last 90 days. Designed to answer the merchant question: “is the audit programme working, or am I paying for findings that nobody actions?” Tidio’s positioning is DTC-ecommerce-friendly live chat with Lyro (their proprietary AI chatbot) doing the deflection layer. On a Tidio account, the headline rate is heavily influenced by Lyro: if Lyro is closing chats it can have a hand in closing tickets too. Read this card alongside Lyro’s resolution-by-AI breakdown to know what is human action and what is bot deflection.
| What it counts | solved_findings_90d / (solved_findings_90d + open_findings_90d) × 100, expressed as a percent of Vortex IQ-tagged tickets created in the last 90 days now in solved status. |
| Numerator | Tickets with tags includes "vortex_iq" AND status:solved AND created_at >= now-90d. |
| Denominator | All tickets with tags includes "vortex_iq" AND created_at >= now-90d, regardless of state. |
| Status filter | Tidio’s helpdesk uses the statuses Open and Solved (no separate Pending/Closed in the way Zendesk does). Solved counts as resolved; Open counts as unresolved. The simpler model means the rate is easier to read but also means there is no “snoozed” graceful-aging path; findings either get worked or they sit Open. |
| Issue type filter | All Vortex IQ-tagged tickets included. The category sub-tags (vortex_iq:catalogue, vortex_iq:checkout, vortex_iq:performance, vortex_iq:seo) do not filter the rate; they exist for breakdown views. |
| Project / board scope | Single Tidio project. Multi-project accounts (rare; usually used for separate brands) connect each project as a separate Vortex IQ instance. |
| Lyro AI-handled tickets | Counted as resolved if Lyro closes the ticket. Vortex IQ findings rarely match Lyro’s training scope (Lyro is trained on customer-facing FAQs, not engineering bug reports), so Lyro closures of vortex_iq tickets are uncommon and worth auditing each month. If Lyro closes a Vortex IQ ticket with a generic “we are looking into it” reply, the underlying issue is unresolved even though the ticket is closed. |
| Reopened tickets | If a ticket is solved then reopened, it counts as unresolved at the moment of measurement. |
| API endpoint | Tidio’s REST API: GET /v1/tickets?tags=vortex_iq&status=solved&created_after=<now-90d> for the numerator. Page size 50 with offset pagination; rate-limited at 60 req/min on Communicator plan, higher on Plus. |
| Time window | 90D rolling. Anchored on the filing date; an old finding closed today does NOT count if it was filed more than 90 days ago. |
| Alert trigger | <50%. At 50% you are leaving as many findings open as you close, the point at which the backlog grows faster than the team clears it. |
| Sentiment thresholds | Good >= 75%, warn 50-75%, critical <50%. |
| Time zone | Account timezone in Settings -> General -> Time zone. |
| Roles | owner, operations |
Calculation
Calculated automatically from your Tidio data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK DTC pet-supplies brand on Shopify running Tidio Plus with Lyro AI enabled and 2 agents covering UK office hours. Snapshot taken on 02 May 26 at 16:15 BST, looking back over the rolling 90 days from 02 Feb 26.| Bucket | Count | Notes |
|---|---|---|
| Vortex IQ tickets filed in window | 35 | SMB scale; smaller than enterprise peers |
| Solved by agent | 22 | Standard triage |
| Solved by Lyro AI | 1 | Rare; Lyro is trained for customer FAQs, not Vortex IQ findings |
| Solved by Tidio Workflow rule | 2 | Auto-solve after 21 days no reply |
| Open | 10 | Active findings |
| Resolution rate | (22 + 1 + 2) / 35 = 25 / 35 = 71.4% | Amber, healthy mid-range |
- 71% is healthy for a 2-agent SMB on Tidio. Tidio attracts smaller DTC brands with limited helpdesk discipline; the benchmark for a 2-agent team is 65-75%. Above 75% sustained for a quarter often means the audit thresholds are too generous (lower them).
- Audit Lyro’s 1 closure carefully. Lyro is trained on customer-facing FAQs from your Tidio Knowledge Base. A Vortex IQ ticket filed about “broken Klarna at checkout” is not in that training scope; if Lyro closed it, Lyro probably replied with a generic “we will look into it” message. Open the ticket and verify the underlying issue (Klarna) is fixed in production. If yes, the closure is honest; if no, retrain Lyro to defer to a human on
tag:vortex_iqtickets. - The 2 Workflow auto-solves are a real pattern. Tidio’s auto-solve-after-N-days rule is configurable per tag. Set it to 21 days for
vortex_iqtags so abandoned findings drop into the solved bucket. The honest configuration: only count a Workflow-solve as resolution if the underlying issue is genuinely fixed (a deploy went out, the catalogue was corrected). Otherwise the rate is inflated. - Pair with
shopify.refund_rate. If refund rate is steady or falling AND this card sits at 71%, the audit programme is paying for itself. If refund rate is climbing despite findings being closed (especially Lyro-closed), the team is closing the wrong findings cosmetically. - DTC brands on Tidio often have founders in the chat stream. This is a positive: a founder reading customer chats sees Vortex IQ findings in context and triages faster. The flip side: when the founder is busy (campaign launch, weekend), Vortex IQ tickets sit. The 10 open findings here probably skew to weeks when the founder was attending other things. Pair with
tid_open_ticketsto confirm. - Tidio’s UK/Polish heritage shows in API rate limits. The Communicator-plan rate limit (60 req/min) is tight; on a busy account with 1000+ findings the connector falls back to slower polling. Plus and Premium plans have higher limits. None of this changes the rate calculation, only the refresh frequency (60-90 seconds vs 30 seconds).
Sibling cards merchants should reference together
| Card | Why pair it with Finding Resolution Rate | What the combination tells you |
|---|---|---|
| VortexIQ Findings Open | The unresolved-count counterpart. | Open count high + resolution rate low equals findings filed but never closed, the worst possible state. |
| Abandoned Findings (>14d no movement) | The “silent-leak” subset; especially relevant on Tidio because the Open->Solved model has no graceful aging path. | Abandoned rising while this rate falls equals the team is losing ground specifically. |
| Avg Time-to-Fix (days) | Cycle-time peer. The rate tells you whether findings close; this tells you how fast once they do. | Rate green + time-to-fix slow equals team eventually ships but late; rate red + time-to-fix fast equals team ships some quickly and abandons the rest. |
| Open Tickets (all) | Total Tidio backlog context. | Both elevated equals overall channel under-attended (founder distracted); rate dropping in isolation equals findings deprioritised specifically. |
| Avg Cycle Time | Triage-health peer for the whole queue. | Cycle time creeping up while this rate falls equals systemic triage breakdown. |
| Refund Rate (Shopify / BigCommerce) | The downstream truth metric an audit programme should protect. | Refund rate flat or falling + rate at 65%+ equals the programme is paying for itself; refund rate climbing despite high resolution rate equals team is closing low-impact findings (or Lyro is closing them prematurely). |
| Customer Service Sentiment (Shopify) | The retention-side outcome of running this programme well. | Rate climbing + sentiment climbing equals the audit story works for the founder; sentiment flat while rate climbs equals Lyro is closing things customers feel are unresolved. |
| Datadog Operational Health Score | Sibling-platform health score for technical findings. | Datadog health green + this rate green equals the team is keeping pace with both reliability and audit work. |
Reconciling against the vendor’s own dashboard
Where to look in Tidio’s own dashboard: Tidio does NOT provide a single “tag-scoped resolution rate” gauge, so this card is computed by Vortex IQ from the Tickets API. To verify it manually:Analytics -> Tickets filtered toWhy our number may legitimately differ from Analytics’ number:tag = vortex_iq, date range last 90 days. Read the percentage ofSolvedagainstTotal. That is the same calculation this card runs. Tickets list withtag:vortex_iqplus astatus:solvedfilter, gives the numerator population at a glance. [Saved filter -> “Vortex IQ findings, solved (90d)”] if you have set one up, gives the count without re-typing the filter.
| Reason | Direction | Why |
|---|---|---|
| Time zone | Boundary days off | Analytics honours the account’s configured timezone; the card uses the same timezone but rounds the rolling 90-day window to UTC midnight for cross-connector arithmetic. Sub-1% gap. |
| API replication lag | Ours lower for “just now” | Tidio’s API replicates the database 5-30 seconds behind real-time ticket changes. A finding solved seconds ago may not be in the numerator yet. |
| Reopened tickets | Ours lower | If a ticket was solved then reopened in the 90-day window, we count it as unresolved. Some Analytics views count “ever solved” rather than “currently solved”. |
| Tag inclusion | Ours stricter | We require literal tag:vortex_iq. Legacy tags drop out of our population. |
| Lyro AI closures | Same | We count Lyro closures the same way we count human closures (both move status to solved). Some Analytics views break “Solved by Lyro” out separately under the AI Performance tab. |
| Workflow auto-solve | Same | We count Workflow-rule-solved tickets the same as agent-solved. |
| Communicator plan rate limit | Brief gaps | The Communicator plan has a 60 req/min API limit; on busy accounts the connector may use a cached prior value during polling bursts. |
| Multi-project | Either | If the merchant runs multiple Tidio projects (separate brands), each is a separate Vortex IQ instance; the card does not cross-aggregate. |
| Card | Expected relationship | What causes the divergence |
|---|---|---|
shopify.refund_rate / bigcommerce.refund_rate | Inverse correlation. Higher resolution rate should reduce refund rate over a 4-8 week trailing window. | Resolution rate up + refund rate up equals team is closing low-impact findings (likely Lyro auto-closing); resolution rate down + refund rate down equals findings were duplicates or stale. |
shopify.customer_service_sentiment | Positive correlation, 2-4 week lag. | Sustained 70%+ resolution rate predicts CSAT lift of 2-4 points within a quarter. On Tidio, watch for the inverse: rate up but sentiment flat usually means Lyro is closing things customers feel are unresolved. |
datadog.dd_health_score | Independent peer; correlates only when the audit is dominantly technical. | Both green equals balanced engineering culture; technical findings closing fast and reliability holding. |
Known limitations / merchant FAQs
The rate dropped 15 points this week. What changed? Three usual causes, in order of likelihood:- Audit volume up. Vortex IQ filed more findings than usual. The denominator grew faster than the team’s closure rate.
- Capacity loss. Founder distracted (campaign launch, ad-spend audit, weekend), or the single CS agent on holiday. Pair with Open Tickets (all); if global Tickets backlog is also up, capacity is the answer.
- Workflow drift. A Tidio Workflow rule that auto-tagged or auto-routed Vortex IQ tickets turned off, or Lyro retraining changed which intents it handles. Open Settings -> Automation and confirm the
vortex_iqrules and Lyro intents are still as expected.
tag:vortex_iq tickets (in Lyro Settings -> Audience, exclude tickets carrying that tag).
A finding closed today but it was filed 95 days ago. Does it count?
No. The window is anchored on the filing date, not the closure date.
What is a healthy rate on Tidio?
- 75%+ : healthy. Audit programme is working; team has slack.
- 60-75% : normal for a maturing programme.
- 50-60% : warn. Team is straining; investigate triage process.
- <50% : critical. Findings are filed faster than they are closed.
vortex_iq tickets monthly.
Why is the alert threshold 50% and not 70%?
50% is the breakeven point at which the team is closing one finding for every one filed. Below 50% the backlog grows; above 50% it shrinks. A 70% threshold would over-page in the first quarter of any new audit programme.
My Tidio is connected via the Shopify app. Does that change anything?
The Shopify app adds order-context enrichment to chats and tickets, which speeds up agent triage but does not change the API surface this card uses. The rate calculation is identical for Shopify-app-connected and standalone-API-connected accounts.