Skip to content

Recommendation Methodology

DURUM.ai generates Insights (actionable recommendations) by analyzing your Meta Ads campaigns, sales data, recorded calls, and objectives. Here's exactly how it works -- and what it doesn't do.

Seven Non-Negotiable Principles

Every recommendation follows these rules. If a rule can't be satisfied, no recommendation is generated rather than risking misleading you.

1. Reliability Before Volume

If your sales attribution is insufficient (less than 50% of sales have an identifiable UTM tag), campaign-level recommendations are automatically disabled. You'd rather see fewer recommendations than receive ones based on partial data.

2. Never a Fixed Number Promise

Every impact estimate is presented as a range (e.g., $30K - $60K) accompanied by a disclaimer:

Estimate based on recent data. Depends on execution and market conditions.

This is never a guaranteed result. It's an illustrative scenario to help prioritize.

3. Full Context or Nothing

The engine doesn't flag "creative fatigue" on a simple CTR drop. It cross-references:

  • CTR + 14-day trend
  • CVR (conversion rate) + trend
  • CPM + trend
  • Frequency (impressions / reach)
  • Ad age
  • Seasonality (Black Friday, Boxing Day, Valentine's Day, quarter-ends, back-to-school)

And returns a nuanced diagnosis:

VerdictSuggested Action
fatigueCreate new creatives
saturationChange audience (creative still works)
budget_issueBidding problem, not creative
landing_issueProblem is downstream of the click
seasonalNothing to do -- metrics are atypical
healthyNothing to do

4. Respect for People (Rep Coaching)

A rep who closes well is never flagged, even with an atypical style. The engine compares their close_rate to the team average. If they perform above, no intervention -- regardless of their talk ratio.

Minimum sample: 15 shows to conclude a pattern.

5. Flexibility by Business Profile

Your alert thresholds depend on your business type:

  • B2C High-Ticket Services (coaching, training $2K-$10K) -- default profile
  • B2C E-commerce (physical products $50-$500, high volumes)
  • B2B Mid-Market ($5K-$50K, 30-90 day cycle)
  • B2B Enterprise ($50K+, 6+ month cycle)
  • SaaS PLG (freemium, self-serve, MRR)
  • Professional Services (lawyer, accountant -- low volumes)

6. Dynamic Priority

A "negative ROAS for 3 days" recommendation doesn't have the same urgency as "negative ROAS for 14 days." The engine modulates priority based on:

  • Duration of the problem
  • Magnitude (% of budget impacted)
  • Trend (worsening, stable, improving)

7. Modern Attribution

DURUM.ai supports 4 attribution models, switchable via the toggle in the header:

ModelDescriptionBest For
Scientific (default)First-touch < 30d, last-touch >= 30dGeneral balance
First-touchAll credit to the discovery sourceAwareness campaigns
Last-touchAll credit to the closing sourceDirect-response
AssistedDistributed across all touchpointsJourney understanding

Additionally, DURUM.ai integrates:

  • View-through attribution -- conversions after exposure without click (critical post-iOS 14)
  • Modeled conversions separated -- Meta's estimated conversions (SKAdNetwork) are distinguished from confirmed conversions
  • Cross-device stitching -- via email/phone hash, to link mobile -> desktop journeys

Thresholds & Formulas

Data Confidence

Before any recommendation, the engine calculates a dataConfidence between 0 and 1, weighted by:

  • Spend history (35% weight) -- 28d+ = 1.0
  • Event volume (35% weight) -- 30+ = 1.0
  • UTM attribution quality (30% weight) -- 70%+ = 1.0

If dataConfidence < 0.3, no recommendation is generated. You'll see an empty state with an explanation.

Minimum Samples by Rule

RuleMinimum Required
Rep coaching15 shows per rep
Spend anomaly16 days of history (z-score > 2.5 vs 14-day average)
Creative fatigue1000 impressions + $50 spend per ad
Funnel recommendations15 leads or 10 bookings
Call coaching15 analyzed recordings (B2C high-ticket profile)

These thresholds are automatically adjusted based on your business profile.

A/B Framework

Each recommendation marked as "Implemented" triggers a KPI snapshot at T0. KPIs are re-measured at T+7d, T+30d, and T+90d. The measured delta evaluates each rule's real impact. Rules with negative or insufficient average impact are recalibrated or disabled.


What DURUM.ai Doesn't Do

  • No historical import. We track from the moment of connection. The first 30 days = learning, no recommendations.
  • No offline attribution (inbound calls, walk-ins). We cover only digital journeys.
  • No individual benchmarking without sufficient volume. If your industry has fewer than 10 DURUM clients, we don't display a public median (confidentiality).
  • No recommendation without context. If your data is partial, we say so explicitly rather than recommending blindly.

How to Contest a Recommendation

Each recommendation has a "Dismiss" button with a dropdown of reasons:

  • "Not relevant to my business"
  • "Already done"
  • "Sample too small"
  • "Risk too high"
  • "Other"

This feedback feeds our calibration. If 70%+ of clients dismiss a rule for a given reason, we disable or recalibrate it.


FAQ

Why Does a Recommendation Disappear?

Two cases:

  1. Conditions are no longer met -- the problem resolved itself (e.g., ROAS recovered)
  2. Expiration -- after 7 days without action, a recommendation expires automatically

You can always view the history in the "Past Recommendations" tab of your dashboard.

Why Do Numbers Change Between Visits?

Events sometimes arrive late (webhook retries). The dashboard always displays the last update date/time. Nothing is recalculated or altered after the fact -- only new events move the numbers.

Why Are Some Impacts Ranges?

Because the future isn't a promise. A $30K - $60K range reflects the real uncertainty of a projection based on recent history.


Contact

Questions about a specific recommendation? Write to support@durum.ai citing the recommendation ID (visible in the detail modal URL).

Powered by DURUM.ai — ad attribution and operational intelligence