Skip to main content
Destin CompassIndependent trip guidance

Methodology

How the decision engine decides

Updated

A recommendation you cannot inspect is just an assertion with better manners. This page is the whole method: what the engine knows, how it reasons, where it stops, and what it will not do at any price.

What it knows, and where that came from

The engine reads one file: a registry of the 7 activity categories this site publishes, each assessed on the same 17 attributes. Every attribute carries a band, a plain-English explanation, and a path to the page or data file it was derived from. Several also carry a note saying what the band cannot tell you, and the engine surfaces those as things to confirm rather than hiding them.

  • Typical group fit Which shapes of group does this tend to suit?
  • Family considerations What decides whether this works with a family?
  • Age considerations How does the youngest traveller's age bear on it?
  • Activity intensity How much does the day ask of you physically?
  • Water exposure How much of the time are you in or on the water?
  • Swimming relevance Does swimming ability change whether this works?
  • Time commitment How much of a day does it realistically take?
  • Budget band Where does this sit relative to the other six, structurally?
  • Private versus shared Which formats are commonly available?
  • Weather sensitivity How much do conditions decide whether it happens?
  • Motion and seasickness How likely is motion to be a factor?
  • Wildlife interest How central is seeing wildlife?
  • Fishing interest How central is fishing?
  • Relaxation versus adventure Where does the day sit on that axis?
  • Accessibility questions What would a traveller with a mobility need have to arrange?
  • Advance-planning sensitivity How much does booking ahead matter?
  • Confirm with the operator What must come from the operator rather than from us?

No attribute holds a price, a duration in minutes, a minimum age, a physical requirement, a safety requirement or an availability claim. Every one of those is set by an individual operator and differs between operators offering the same activity, so publishing a single value for a category would be inventing one. The build fails if any of them appears.

What it asks you

13 questions, all optional, all closed choices. There is no free-text field anywhere in the flow, which means you cannot enter identifying information even by accident. Skipping is a real answer: the engine reports lower confidence and says which questions would have sharpened it, rather than filling the gap with a guess.

  1. Who is travelling?
  2. How old is the youngest person coming?
  3. How comfortable is the group in open water?
  4. Does anyone get motion sick?
  5. Is there a mobility or access need to plan around?
  6. What kind of day are you actually after?
  7. How much does seeing wildlife matter?
  8. Is fishing part of the plan?
  9. How much of a day can you give this?
  10. Private boat, or is sharing fine?
  11. How are you thinking about cost?
  12. Where are you in planning?
  13. If conditions were poor, could you move the day?

How it turns that into an answer

A factor exists only when one of your answers meets a specific registry value. That is the only way any line of reasoning can be produced, which is why every factor shown to you can be traced back to a record with a source path. There are 101 such rules and nothing else.

Each factor is either supporting or reducing, and carries an internal weight — worth mentioning, meaningful, or decisive. Those weights decide which of four groups a category lands in and are then discarded. They are never shown to you, because a visible number invites exactly the ranking reading this engine refuses to support.

Strong fit
Several things you told us line up with how this one works, and nothing you told us cuts against it.
Worth considering
Genuinely plausible for your group, with something to weigh — usually a trade-off rather than an obstacle.
Less aligned with your answers
Something you told us works against this one. That is about your answers, not about the activity being worse.
More information needed
We do not have enough from you to say anything useful. Answering a couple more questions would change that.

A single decisive reducing factor keeps a category out of the top group however much else supports it. That is deliberate: if you have told us somebody reliably gets seasick, ten good reasons do not cancel the one that will actually ruin the morning.

What the confidence label means

Higher, moderate or limited — never a percentage. A percentage would imply a precision we do not have and cannot defend. The label is set by two things: how many of the questions that bear on that particular category you answered, and whether those answers point the same way. Both are stated in plain counts next to the label, so you can check the reasoning rather than trust it.

Which questions bear on a category is not an editorial judgement. It is derived from the rules: a question is relevant to a category if any rule for that question could fire on it. That is why the engine can tell you which of your skipped questions would have mattered, instead of nagging you about all of them.

Why there is no winner

The engine returns all 7 every time, including the ones that do not suit you and why. Inside a group they are ordered alphabetically — not by strength, not by score — so no ordering can be read as a placement. There is no “best”, no top pick and no number one, and the result object the page renders has no field that could hold one.

This is not modesty. A universal best would be a claim about every traveller at once, and no such claim is true here. Two groups on the same week with the same budget genuinely want different days.

One consequence is worth stating plainly, because you will notice it: some categories reach the top group far more often than others. Short, calm, skill-free trips exclude almost nobody, so they clear the bar for a wider range of answers. That is a fact about the format, not a preference of ours, and it is the same arithmetic that puts them last for a group who came to fish.

Commercial independence

The decision modules import the registry and the questions. Nothing else. There is no code path from the engine to partner status, to any application, to any record of who is paying us or to any revenue signal of any kind — not a disabled one, not a conditional one, none. That is checked on every build rather than promised here.

We publish no ratings, no rankings and no best-of lists anywhere on this site, so there is no placement for anyone to buy. If that ever changes, this page changes first. How the commercial side works is public for the same reason.

What happens to your answers

The engine runs in your browser. Nothing is submitted. If you let it save your progress, thirteen short answers go into this browser’s own storage and nowhere else; “start over” deletes them.

We do record that the tool was used — which question was answered, how many were answered, which result you opened. We never record what you answered. Two of the thirteen questions ask about a child’s age band and about a mobility need, and those belong to you. The analytics allowlist has no field that could carry an answer, which is a structural guarantee rather than a policy.

There is also no share link, on purpose. A shareable URL would have to carry your answers, and a link travels through chat histories, referrer headers and server logs. The copy button hands you plain text instead and lets you decide who sees it.

What it refuses to do

  • Name, rank, score, vet or recommend an operator.
  • Quote a price, a deposit or a fee. We publish none.
  • Report availability, hold a slot or confirm a booking.
  • State a minimum age, a weight limit or a fitness requirement.
  • Assess whether an activity is safe or medically suitable for anyone. We are not qualified to and would not be right often enough.
  • Promise weather, water clarity, a wildlife sighting or a catch.
  • Suggest an activity outside the 7 categories we publish.

Where a decision genuinely needs one of these, the engine turns it into a question to put to the operator before you pay — which is the honest form of an answer we do not have.