Goal-Based Planning
Set visibility targets, track progress with milestones, and get pace indicators
Overview
Goal-Based Planning lets you set concrete visibility targets for your project and track progress toward them over time. Instead of watching metrics passively, you define where you want to be — a target visibility score, citation count, or sentiment level — and the system computes milestones, evaluates your pace daily, and warns you when a goal is at risk.
Goals are per-segment, so you can set different targets for branded queries vs. non-branded discovery vs. competitor head-to-head prompts. Each goal includes a feasibility assessment based on your current baseline and industry benchmarks, auto-computed milestones on a front-loaded curve, and daily progress evaluation with pace indicators.
How It Works
Dynamic Trigger
Goal-based planning does not appear until you have something to plan against. The GoalPromptCard surfaces automatically on the dashboard after your first capture completes and a baseline metric exists. This ensures every goal starts from a real measurement, not a guess.
Per-Segment Goals
Each goal targets a specific prompt segment:
| Segment | What It Covers |
|---|---|
| All | Aggregate across every prompt in the project |
| Branded | Prompts that mention your brand name |
| Non-Branded | Organic discovery prompts — the most important segment for growth |
| Competitor | Head-to-head comparison prompts |
You can have separate goals per segment. A common setup is a conservative branded target (maintain current position) alongside an ambitious non-branded target (grow organic discovery).
Auto-Computed Milestones
When you create a goal, the system computes intermediate milestones between your baseline and target using a front-loaded curve. This means early milestones are closer together (faster expected progress at the start) and later milestones are spaced wider (acknowledging diminishing returns as you approach the target).
Daily Progress Evaluation
A cron job evaluates all active goals daily. For each goal, it:
- Fetches the latest metric value for the goal's segment
- Computes pace against the timeline
- Updates milestone statuses (achieved, missed, or pending)
- Logs the progress entry
- Generates intelligence insights if the goal is at risk
Available Metrics
Goals can target any of these metrics:
| Metric Key | What It Measures |
|---|---|
visibility_score | Overall visibility percentage across all models |
visibility_branded | Visibility on branded prompts specifically |
visibility_nonbranded | Visibility on non-branded (organic discovery) prompts |
citation_count | Number of citations linking back to your pages |
sentiment_score | Average sentiment across AI-generated responses |
model_coverage | Percentage of tracked AI models that mention your brand |
factual_accuracy | Accuracy of factual claims about your brand in AI responses |
Each metric is evaluated against the same segment filter applied to the goal, so a visibility_score goal scoped to branded only considers snapshots from branded prompts.
Setting Goals
Accessing the Goal Setter
When the GoalPromptCard appears on your dashboard (after your first capture with a valid baseline), clicking it opens the GoalSetter drawer. You can also access it from the Analytics section.
Benchmark Context
The GoalSetter shows benchmark context to help you set realistic targets:
| Benchmark | Description |
|---|---|
| Industry average | Mean score across projects in your industry vertical |
| Median | 50th percentile — half of projects score above this |
| P75 | 75th percentile — top quartile threshold |
| Your percentile rank | Where your current baseline falls relative to the benchmark population |
Feasibility Assessment
After you enter a target value and deadline, the system evaluates feasibility:
| Assessment | Meaning |
|---|---|
| Achievable | The target is within normal improvement range given your baseline and timeline. High likelihood of success with consistent effort. |
| Ambitious | The target requires above-average improvement velocity. Achievable but demands focused optimization work. |
| Very Ambitious | The target requires exceptional improvement. Consider extending the deadline or lowering the target unless you have a specific strategy in mind. |
The assessment factors in your current baseline, the gap to target, the timeline, and historical improvement rates observed across the platform.
Milestone Computation
Front-Loaded Curve
Milestones follow a front-loaded curve defined by:
This curve front-loads progress: early milestones expect faster gains (when optimization efforts have the most impact), while later milestones allow more time (acknowledging that gains become harder as you approach the target).
Milestone Spacing and Limits
- 1 milestone approximately every 3 weeks between goal start and deadline
- Maximum 6 milestones per goal, regardless of timeline length
- Each milestone has a target value (interpolated on the curve) and an expected date
Milestone Statuses
| Status | Meaning |
|---|---|
| Achieved | The metric reached the milestone value on or before the expected date |
| Missed | The expected date passed without the metric reaching the milestone value |
| Pending | The expected date has not yet arrived |
Milestone status is evaluated during the daily progress cron. A missed milestone does not cancel the goal — it updates the pace indicator and may trigger an at-risk insight.
Progress Tracking
Pace Status
The daily evaluation assigns one of four pace statuses:
| Status | Meaning |
|---|---|
| Ahead | Current metric value is above where the curve expects you to be at this point in time |
| On Track | Current metric value is within an acceptable range of the expected curve position |
| Behind | Current metric value is below expected. You need to accelerate to hit the target by deadline |
| At Risk | Current metric value is significantly behind expected, or multiple milestones have been missed. The goal is unlikely to be met without intervention |
Scope Change Detection
If your project's prompt count changes by more than 20% after a goal is created (e.g., you add a large batch of new prompts or remove a segment), the system flags a scope change. Scope changes affect baseline assumptions — a visibility score computed over 50 prompts is not directly comparable to one computed over 100. The flag helps you decide whether to adjust the goal or acknowledge the new baseline.
Forecasted Value
The progress tracker computes a forecasted value at deadline using linear extrapolation from your progress log. This gives you a simple projection: "At your current rate, you will reach X by the deadline." Compare this to the target to see whether your pace is sufficient.
Daily Progress Log
Every daily evaluation appends an entry to the goal's progress log:
- Date of evaluation
- Current metric value
- Expected value (from the front-loaded curve at this point)
- Pace status
- Forecasted value at deadline
The log provides a complete history of how the goal progressed over time, useful for retrospectives and for understanding what interventions worked.
Intelligence Integration
Goal-at-Risk Insights
When a goal's pace status moves to at_risk, the intelligence engine automatically generates a goal_at_risk insight. This insight includes:
- Which goal is at risk and by how much
- The current vs. expected metric value
- Suggested actions based on the metric type (e.g., "Add more non-branded prompts" for a visibility goal, "Review negative sentiment snapshots" for a sentiment goal)
Narrative Strip
Goal progress is included in the dashboard's narrative strip, providing a natural-language summary: "Your non-branded visibility goal is on track — 62% of the way to your target of 75% by June 15."
Action Attribution
Goals can be linked to actions (from the Insights system). When you take an action that the platform recommended, and your goal metric subsequently improves, the system can attribute the improvement to that action. This closes the feedback loop between "what should I do" and "did it work."
MCP Tools
Three MCP tools are available for programmatic goal management:
| Tool | Description |
|---|---|
list_goals | Returns all goals for a project, with current progress, pace status, and milestone states |
create_goal | Creates a new goal with metric, target value, deadline, and optional segment filter |
update_goal | Updates an existing goal's target, deadline, or status (e.g., mark as completed or cancelled) |
Example: Create a Goal
Example: List Goals with Progress
Response includes each goal's current value, pace status, milestones, forecasted value, and scope change flags.
Webhook Events
Two webhook events are dispatched for goal lifecycle changes:
| Event | Fires When |
|---|---|
goal.created | A new goal is created. Payload includes the goal definition, baseline value, computed milestones, and feasibility assessment. |
goal.at_risk | A goal's pace status moves to at_risk. Payload includes the goal, current vs. expected value, missed milestones, and forecasted value at deadline. |
Configure webhook endpoints in Settings → Webhooks to receive these events. See Webhooks for setup details.
Plan Requirements
Goal-Based Planning is available on all plans.