1import{c as r,j as e}from"./personaKnowledge-Wxu6iTGA.js";import{P as i,S as h,ac as n,f as c,C as l,L as t,k as o,A as a}from"./website-BRH-I_IC.js";import{b as d,f as u,F as m,a as p,c as g,g as f,h as y,d as w,e as b}from"./FeatureSections-f7NYRkDw.js";import{T as v}from"./triangle-alert-BpWRZJnf.js";import{T as x}from"./trending-down-Dz5sG3NV.js";/** 2 * @license lucide-react v0.462.0 - ISC 3 * 4 * This source code is licensed under the ISC license. 5 * See the LICENSE file in the root directory of this source tree. 6 */const j=r("Scale",[["path",{d:"m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"7g6ntu"}],["path",{d:"m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z",key:"ijws7r"}],["path",{d:"M7 21h10",key:"1b0cd5"}],["path",{d:"M12 3v18",key:"108xh3"}],["path",{d:"M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2",key:"3gwbw2"}]]),s=[{q:"What is the anchoring trap in construction sales?",a:"It is what happens when you give a client a rough number early to be helpful. That first figure becomes the price they believe. Every later, better-informed number reads as an increase â even when it was always the true cost â so you end up negotiating against your own guess instead of against the scope."},{q:"Why does a low first number cost more than losing the job?",a:"Because you often keep the job and lose the margin. The client holds you to the anchor, the scope grows to what the project actually needs, and the difference comes out of your profit or out of a change-order fight that damages the relationship."},{q:"How do you avoid anchoring without stalling the client?",a:"Give a complete number the first time. That requires being able to produce a full, dependency-checked estimate in the same conversation rather than a week later â which is the entire reason this software exists."},{q:"Is a fast estimate really accurate enough to commit to?",a:"Speed here comes from removing re-entry and remembered relationships, not from skipping scope. The same 75 trade cards and 256 server-side dependency rules run whether the estimate takes four minutes or four hours."}],F=()=>e.jsxs(i,{children:[e.jsx(h,{title:"The Anchoring Trap: Why Rough Estimates Cost You Margin",description:"A rough number given early becomes the price the client believes. Learn how anchoring destroys construction margin â and how a complete first estimate prevents it.",path:"/anchoring-trap",jsonLd:[d([{name:"Home",path:"/"},{name:"The anchoring trap",path:"/anchoring-trap"}]),u(s)]}),e.jsx(m,{eyebrow:"The most expensive sentence in construction",eyebrowIcon:v,title:`"It'll probably run around ${n.spoken}"`,highlight:`The real number was ${n.reality}`,subtitle:"You said it to be helpful. From that moment on, you were negotiating against your own guess instead of against the scope of work â and the client heard every honest correction as you raising the price."}),e.jsxs(p,{heading:"How the trap closes",children:[e.jsx("p",{children:"A homeowner asks what a project will cost. You do not have plans, you do not have quantities, and you do not want to seem evasive â so you give a range from memory. It is a generous, professional instinct, and it is the moment the job goes wrong."}),e.jsx("p",{children:"The first number a client hears becomes their reference point for every number after it. When the real scope surfaces â the mechanicals the addition needs, the finishes behind the wall you are opening, the work an occupied home requires â the honest figure looks like a bait and switch. You then choose between eating the difference and fighting for it."})]}),e.jsx(g,{heading:"What the anchor actually costs you",subheading:"It rarely shows up as a lost bid. It shows up as a won job with no margin in it.",items:[{icon:x,title:"Margin, quietly",desc:"You hold the anchor to keep the relationship, absorb the scope difference, and finish a large project on a small profit â or none."},{icon:c,title:"Trust, permanently",desc:"The first correction teaches the client to discount everything you say afterward. Every legitimate change order from then on is a negotiation about your credibility."},{icon:l,title:"Weeks of your life",desc:"Reconstructing the number properly takes days you do not have â the reason estimating consumed 326 hours per 100 leads before this system existed."},{icon:j,title:"Your own reference point",desc:"You are no longer defending the cost of the work. You are defending a figure you invented in a driveway, against a client who wrote it down."}]}),e.jsx(f,{heading:"Two ways the same conversation goes",columns:["Moment","With a rough number","With a complete number"],rows:[["First meeting","A range from memory","A full, dependency-checked estimate"],["Client reference point","Your guess","The actual scope of work"],["When real scope appears","Reads as a price increase","Was already in the estimate"],["Change orders","A trust argument","A documented, versioned revision with a reason"],["Your margin","Absorbed to save the relationship","Locked behind authorized profit controls"],["Decision speed","Weeks of follow-up","Often the same conversation"]]}),e.jsx(y,{heading:"How to never anchor again",items:["Produce a complete estimate in the meeting instead of a range in the driveway","Let the engine engage dependent trades so the first number is the whole number","Show the client a scope-by-scope breakdown, not a single figure to haggle over","Keep every revision ver
6sioned with the reason the price moved","Restore any prior version instantly when a client wants to revisit an option","Keep overhead, wastage and net profit locked behind authorized controls, not conversation"]}),e.jsx(w,{heading:"Questions about anchoring and pricing",items:s}),e.jsx("section",{className:"py-14 bg-white",children:e.jsx("div",{className:"container mx-auto px-4 sm:px-6 lg:px-8",children:e.jsxs("div",{className:"max-w-3xl mx-auto text-center",children:[e.jsx("h2",{className:"text-2xl font-bold text-slate-900 mb-3",children:"Where the number comes from"}),e.jsx("p",{className:"text-slate-600 mb-6",children:"A complete first number is only possible if the scope logic is complete. That is the rules engine â 75 trade cards and 256 server-side dependency rules â and the history layer that explains every later movement in price."}),e.jsxs("div",{className:"flex flex-wrap gap-3 justify-center",children:[e.jsx(t,{to:"/features/accuracy-rules",children:e.jsxs(o,{variant:"outline",size:"lg",className:"h-13 rounded-xl",children:["The rules engine ",e.jsx(a,{className:"ml-2 h-4 w-4"})]})}),e.jsx(t,{to:"/features/estimate-history",children:e.jsxs(o,{variant:"outline",size:"lg",className:"h-13 rounded-xl",children:["Estimate history ",e.jsx(a,{className:"ml-2 h-4 w-4"})]})}),e.jsx(t,{to:"/features/profit-protection",children:e.jsxs(o,{variant:"outline",size:"lg",className:"h-13 rounded-xl",children:["Profit protection ",e.jsx(a,{className:"ml-2 h-4 w-4"})]})})]})]})})}),e.jsx(b,{heading:"Bring the job you are about to quote",body:"We will price it live in a 30-minute walkthrough â the whole number, in the first conversation, with the scope logic visible."})]});export{F as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.