// Diagnostic — David Aaker's 5 Brand Equity Pillars const { useState: useStateD, useEffect: useEffectD, useRef: useRefD } = React; // Animated number — counts up from 0 to target with ease-out function CountUp({ to, duration = 1600, delay = 0, suffix = "", className = "" }) { const [val, setVal] = useStateD(0); const startedRef = useRefD(false); useEffectD(() => { if (startedRef.current) return; startedRef.current = true; const t0 = performance.now() + delay; let raf; const tick = (now) => { const elapsed = Math.max(0, now - t0); const p = Math.min(1, elapsed / duration); // ease-out cubic const eased = 1 - Math.pow(1 - p, 3); setVal(Math.round(to * eased)); if (p < 1) raf = requestAnimationFrame(tick); }; raf = requestAnimationFrame(tick); return () => raf && cancelAnimationFrame(raf); }, []); return {val}{suffix}; } // Animated star rating — stars fly in one by one with bounce function StarRating({ count, max = 5, delay = 0 }) { const [shown, setShown] = useStateD(0); useEffectD(() => { let cancelled = false; const t0 = setTimeout(() => { let i = 0; const tick = () => { if (cancelled) return; i++; setShown(i); if (i < max) setTimeout(tick, 110); }; tick(); }, delay); return () => { cancelled = true; clearTimeout(t0); }; }, []); return (
{Array.from({ length: max }).map((_, i) => { const filled = i < count; const visible = i < shown; return ( ); })}
); } function Diagnostic() { const questions = window.BRANDRI_QUESTIONS; const [step, setStep] = useStateD(0); const [answers, setAnswers] = useStateD(Array(questions.length).fill(null)); const [done, setDone] = useStateD(false); const pick = (i) => { const next = [...answers]; next[step] = i; setAnswers(next); }; const forward = () => { if (step < questions.length - 1) setStep(step + 1); else setDone(true); }; const back = () => { if (step > 0) setStep(step - 1); }; const restart = () => { setStep(0); setAnswers(Array(questions.length).fill(null)); setDone(false); }; // Per-pillar score: weights are 4/3/2/1, map directly to 4/3/2/1 stars; we use 5 max. // 4=5stars, 3=4, 2=2, 1=1 — gives a more dramatic spread than 4/3/2/1. const starsForWeight = (w) => ({ 4: 5, 3: 4, 2: 2, 1: 1 }[w] || 0); const pillarStars = answers.map((a, i) => { if (a === null) return 0; return starsForWeight(questions[i].weights[a]); }); const totalStars = pillarStars.reduce((s, v) => s + v, 0); const maxStars = questions.length * 5; const totalScore = Math.round((totalStars / maxStars) * 100); const grade = (s) => { if (s >= 80) return { g: "Equity Established", ja: "エクイティ確立期", msg: "5つの柱が均衡を保っている状態。次の課題は、AI時代の運用ルールと、定点観測の仕組み化です。" }; if (s >= 60) return { g: "Equity Forming", ja: "エクイティ形成期", msg: "中核の柱は立っていますが、特定の柱に偏りがあります。最も低い柱から立て直しを。" }; if (s >= 40) return { g: "Foundations Building", ja: "基盤構築期", msg: "個々の活動はあっても、エクイティとして積み上がっていない状態。連想と一貫性の設計から。" }; return { g: "Foundational", ja: "起点期", msg: "ブランドエクイティの議論が未着手。まずは認知(差別化の一行)と、判断基準の明文化から始めましょう。" }; }; // Score-based content recommendations. // Each grade maps to an article, a case, and a navigation suggestion. const recommend = (s) => { if (s >= 80) return { note: "ここから先は、AI時代の運用と計測の話に進むのが自然です。", items: [ { kind: "読み物", title: "Agentic AI時代、ブランドはむしろ重くなる。", why: "AI が判断基準を露出させる時代の前提整理。", href: "#knowledge" }, { kind: "事例", title: "Highlite Inc. — 結晶化ブランディング", why: "確立後の運用フェーズで自社実装した記録。", href: "#cases" }, { kind: "次の問い", title: "計測と運用の枠組みを引く", why: "Brandri の用語からガイドライン論を辿る。", href: "#entries" }, ], }; if (s >= 60) return { note: "偏った柱の立て直しに、フェーズ別の論点と事例が効きます。", items: [ { kind: "読み物", title: "事業フェーズごとに、ブランディングで考えること。", why: "今の柱の凹みは、フェーズ不一致が原因のことが多い。", href: "#knowledge" }, { kind: "事例", title: "Forecast Inc. — 採用と事業の一貫", why: "採用と事業の柱が連動する例。連想・一貫性の参考。", href: "#cases" }, { kind: "次の問い", title: "課題から論点を引き直す", why: "9つの課題から、自社の凹みに近いものを探す。", href: "#entries" }, ], }; if (s >= 40) return { note: "個別活動を「エクイティとして積む」発想への切替が次の壁です。", items: [ { kind: "読み物", title: "ブランドとマーケティングは、どこで分かれ、どこで重なるのか。", why: "判断主体の違いが、積み上がるかどうかの分かれ目。", href: "#knowledge" }, { kind: "事例", title: "リアリス — 仮説として出すVI", why: "完成品で固めず、市場で更新する設計の好例。", href: "#cases" }, { kind: "次の問い", title: "Highliteの思想を読む", why: "「定義を切り分ける」「判断を書く」の編集姿勢。", href: "#philosophy" }, ], }; return { note: "まずは語彙と判断軸を揃えましょう。Brandri の「歩き方」が最短です。", items: [ { kind: "入口", title: "ブランディング、まずはここから。", why: "60秒で現在地を測る。学習地形図と次の3歩を提示。", href: "start.html" }, { kind: "読み物", title: "ブランドとマーケティングは、どこで分かれ、どこで重なるのか。", why: "最初に整理すべき定義論。", href: "#knowledge" }, { kind: "事例", title: "リアリス — スタートアップのスピード設計", why: "判断基準を仮説として出す入門例。", href: "#cases" }, ], }; }; if (done) { const g = grade(totalScore); return (
Framework David A. Aaker Brand Equity Model
5 Pillars

診断結果

D・アーカー教授の「ブランドエクイティ」概念に基づき、5つの柱それぞれを評価しています。総合点は5柱の平均値として算出。

Methodology · Aaker (1991, 1996)
Calibration · Highlite editorial
Result · {new Date().toLocaleDateString("ja-JP")}
Brand Equity · Total Stars
/ {maxStars}
— {g.g} / {g.ja} —
{g.msg}
Five Pillars D. Aaker
{questions.map((q, i) => (
{q.pillarNum}
{q.pillar}
{q.pillarJa}
/ 5
))}
{(() => { const r = recommend(totalScore); return (
▸ Highlite Note — 次の3本

{r.note}

{r.items.map((it, i) => (
{it.kind}
{it.title}
{it.why}
続きを見る →
))}
); })()} {/* 相談オファー併置 — spec 001 FR-021: 診断結果に個別相談オファーを併置する */}
Consultation Offer 初回90分 · 無料

この診断結果を持ち込んで、判断の枠組みを一緒に整理しませんか。 5つの柱のうち最も低い柱から立て直しの順序を設計します。売り込みはありません。

この結果をもとに相談する →
); } const q = questions[step]; const answered = answers[step] !== null; const answeredCount = answers.filter(a => a !== null).length; return (
Framework David A. Aaker Brand Equity Model
5 Pillars

5問で測る
ブランドエクイティ。

D・アーカーが提唱した「ブランドエクイティ」5柱(認知 / ロイヤルティ / 連想 / 知覚品質 / 資産)を、 5つの問いで自社に当てはめます。答えに正解はありません。現状に近い選択肢を直感で。

Pillars · 05
Estimated · 約2分
Data · 匿名・送信なし
Question — {String(step+1).padStart(2,"0")} / {String(questions.length).padStart(2,"0")}
{q.pillarNum} {q.pillar} · {q.pillarJa}

{q.q}

{q.note}

{q.options.map((opt, i) => ( ))}
); } ReactDOM.createRoot(document.getElementById("diagnostic-app")).render();