At a glance
The percentage of Vortex IQ findings created in Basecamp in the last 90 days that have been ticked complete. It is the team’s batting average against the audit programme. Below 50% the team is falling behind; above 75% the team is matching or beating intake. On Basecamp specifically, this card is the most useful single number for an owner to glance at, because Basecamp does not surface velocity, throughput, or any other rollup natively.
| The formula | resolved_in_window ÷ created_in_window, where resolved_in_window counts to-dos with vortexiq_finding_id (encoded in the to-do’s name prefix on Basecamp because the platform has no custom-field surface) AND completed = true AND completed_at within the 90-day window, and created_in_window counts to-dos with the same prefix and created_at within the same window. |
| API endpoints | GET /buckets/{project_id}/todolists/{list_id}/todos.json and .../todos/completed.json, paged via Link header. We bucket by the embedded finding-id to avoid double-counting if a finding was re-created. |
| Window | Rolling 90 days, refreshed every 5 minutes (matching the polling cycle Basecamp limits us to). |
| What “resolved” means | Basecamp completed = true. Basecamp has no Won’t Do state, so the team’s convention is to post a comment explaining the close decision and tick complete. We treat this as resolved, which is correct: from the audit programme’s perspective both decisions (fix it, decide not to fix it) are resolutions. |
| Project / list scope | All connected Basecamp projects, with the mapped Vortex IQ Findings list inside each. |
| Archived projects | Excluded from both numerator and denominator. |
| Time zone | UTC for both created_at and completed_at. The 90-day window aligns to UTC. |
| Alert trigger | < 50% raises a critical alert. The 50% threshold reflects the empirical break-even point: below 50% the open queue compounds week-over-week. |
| Sentiment thresholds | Gauge: green ≥ 75%, amber 50-74%, red < 50%. |
| Multi-account aggregation | Yes, computed on the summed numerator and denominator. Per-account stack panel available. |
| Roles | owner, operations |
Calculation
Calculated automatically from your Basecamp 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 16-person UK outdoor-equipment brand on Adobe Commerce. They run Basecamp as the company-wide PM tool because the founders prefer it for client-comms transparency (they share Basecamp project access with two key suppliers). Snapshot taken on 02 May 26 at 14:30 BST.| Last 90 days (02 Feb 26 - 02 May 26) | Count |
|---|---|
Findings created (Basecamp to-dos with the Vortex IQ name prefix, created_at in window) | 64 |
Findings resolved (above set, AND completed = true, completed_at in window) | 41 |
| Findings still open from window | 18 |
| Findings re-created within window (counted once on first close in numerator) | 5 |
- 64% sits in the amber band (50-74%). Above the alarm threshold but below the green target. The team is closing more than it is opening, but slowly enough that the open queue shrinks by only one or two items per week net. Acceptable, not great.
- The open queue will not collapse to zero. At 64% resolution rate, expect roughly 18-22 open findings as a steady-state on a 16-person Basecamp team. Anything beyond that is the team falling behind; anything below it is the audit programme finding less than usual.
- Pair this card with Avg Time-to-Fix. A 64% rate with a 7-day mean time-to-fix is healthy. A 64% rate with a 25-day mean time-to-fix means the team is closing the easy items and stalling on the harder ones. Basecamp teams trend toward longer time-to-fix because the tool’s no-priority model means harder items naturally drift to the bottom of the list.
- Compare against Findings Open trend. If open count is rising for three weeks while resolution rate sits at 64%, the audit programme is producing more findings than the team can absorb, a calibration issue with the audit, not a team problem.
- The team should aim for 75% sustained. Below 50% is alarm territory; above 75% means the team is keeping up with intake. Basecamp teams commonly run lower (60-75%) than Linear or ClickUp teams because Basecamp’s intentional simplicity discourages aggressive throughput targeting. 64% is a respectable Basecamp number; pushing it higher means tightening the weekly triage rhythm, not adopting heavier tooling.
Sibling cards merchants should reference together
| Card | Why pair it with Resolution Rate | What the combination tells you |
|---|---|---|
| VortexIQ Findings Open | Resolution rate’s denominator-half. Open count grows when this rate falls. | Falling rate plus climbing open count equals capacity bottleneck; falling rate plus flat open count equals audit programme is finding less. |
| Abandoned Findings (>14d) | To-dos that count in the denominator but never become numerators. | High abandoned plus low rate equals execution discipline gap; low abandoned plus low rate equals the team is engaged but underwater. |
| Avg Time-to-Fix (days) | Time-to-fix is the cycle time inside this rate. | High rate plus low time-to-fix equals excellent. High rate plus high time-to-fix equals the team is closing items eventually but slowly. |
| Throughput Weekly | Short-window throughput of all to-dos (not just findings). | If overall throughput is high but findings rate is low, audit work is being deprioritised against client work or campaigns. |
| Throughput Trend | The slope. | A rate dipping while throughput climbs equals deliberate prioritisation away from audit work. |
| Tickets by Assignee | Where the resolutions are happening. | Resolution concentration on one assignee is a single-point-of-failure risk to the rate itself. |
Reconciling against the vendor’s own dashboard
Where to look in Basecamp’s own UI:Basecamp does not natively expose a resolution-rate number, no Reports module, no Dashboards module, no rollups. The closest manual equivalent is to open the Vortex IQ Findings to-do list and read the small X completed link below the open items; clicking it expands the completed section. To compute the rate by hand you would compare that count against the open count over a 90-day window, which is genuinely awkward to do in Basecamp’s UI. Basecamp’s Activity feed (project home → Activity) shows the trail of completions over time, useful for spot-checking whether the rate moved due to a normal weekly tick-rate or a single bulk-close event.The honest read is: Basecamp does not surface this metric, on purpose. The 37signals product philosophy holds that ratios and rates encourage measurement-driven management at the expense of team focus. We respect the philosophy by surfacing the rate here in Vortex IQ Nerve Centre rather than asking Basecamp to produce one. Why our number may legitimately differ from a hand-computed Basecamp count:
| Reason | Direction | Why |
|---|---|---|
| Window definition | Either | Vortex IQ’s 90-day window rolls in UTC; a hand count using Basecamp’s created_at and completed_at viewed in your account-profile timezone may shift by a calendar day at boundaries. |
| Re-created findings | Ours lower | If a finding was completed, re-created, and completed again within 90 days, a Basecamp hand count would count both completion events; we count once per finding-id. |
| Won’t Do treatment | Same | Both Basecamp and our card treat any tick-complete as resolved, regardless of whether the closing comment said “done” or “not doing this”. |
| Archived projects | Ours lower | Archived buckets return no items via the API. Basecamp’s Adminland archive view still shows them. |
| Polling lag | Ours up to 5 min stale | A completion in the last 5 minutes is not yet reflected in the rate. |
| Multi-account aggregation | Ours wider | We sum numerator and denominator across all connected Basecamp accounts; a hand count per project would be lower. |
| Card | Expected relationship | What causes the divergence |
|---|---|---|
datadog.dd_health_score | Independent. Datadog Health is server-side production health; Basecamp resolution rate is internal team operations. They reflect different layers. | A high Datadog Health Score with a low Basecamp resolution rate means production is fine but the team is falling behind on the work that prevents future regressions. The cause-and-effect lag is typically 2-6 weeks. |
newrelic.nr_apdex | Same shape. | Same lag. |