Last Updated June 8, 2026
5W1H is one of the simplest and most durable frameworks for explanatory completeness. It asks six basic questions: who, what, when, where, why, and how. Those questions appear almost elementary, but together they form a powerful architecture for organizing events, claims, decisions, systems, policies, cases, methods, and public explanations.
In content frameworks, 5W1H matters because incomplete explanation creates confusion. A reader may know what happened but not who was involved. They may understand why an issue matters but not how it works. They may know where a problem appears but not when it developed. They may understand a method but not the context in which it applies. 5W1H helps writers and editors identify those gaps before publication.

This article examines 5W1H as a framework for explanatory completeness, inquiry architecture, content review, evidence organization, reader orientation, and editorial governance. It explains how who, what, when, where, why, and how operate as structural questions rather than a simple writing checklist. It also shows how 5W1H differs from AIDA, PAS, BAB, funnel models, storytelling arcs, and generic outline templates. The article includes advanced Python and R workflows for 5W1H completeness audits, question coverage analysis, evidence-support review, gap detection, explanatory balance scoring, and governance-ready content reports.
Why 5W1H Matters
5W1H matters because explanation is often incomplete in predictable ways. A piece of content may answer the most visible question while leaving out the context that makes the answer useful. It may describe an event but omit actors. It may identify a problem but omit causes. It may describe a method but omit conditions. It may recommend action but omit the process that would make action possible.
The value of 5W1H is not that every article must give equal space to every question. The value is that every article should know which questions it answers, which questions it leaves open, and why. Completeness is not the same as length. A short explanation can be complete for its purpose. A long explanation can still be incomplete if it fails to answer the right questions.
In journalism, 5W1H supports basic event reporting. In research communication, it supports claim context. In policy explanation, it clarifies actors, authority, timing, place, reasons, and implementation. In systems explanation, it helps readers understand components, relationships, mechanisms, and consequences. In content frameworks, it becomes a review structure for clarity and accountability.
| Explanatory gap | 5W1H response | Reader benefit |
|---|---|---|
| The reader does not know who is involved. | Clarify actors, audiences, stakeholders, or responsible parties. | Readers understand agency and responsibility. |
| The issue is vague. | Define what happened, what is being claimed, or what is being examined. | Readers understand the object of explanation. |
| The timing is unclear. | Explain when something occurred, developed, recurs, or matters. | Readers understand sequence and timing. |
| The context is missing. | Explain where the issue occurs physically, institutionally, socially, or conceptually. | Readers understand setting and scope. |
| The purpose or cause is unclear. | Explain why the issue matters, why it happened, or why action is being proposed. | Readers understand stakes and reasoning. |
| The mechanism is missing. | Explain how the process works, how evidence was produced, or how change happens. | Readers understand method, pathway, or operation. |
5W1H is a simple framework with serious editorial consequences. It helps reveal what a reader still needs to know.
What 5W1H Is
5W1H stands for who, what, when, where, why, and how. It is a questioning framework used to gather information, structure explanation, diagnose gaps, and support clarity. It appears in journalism, education, research communication, planning, investigation, process improvement, policy analysis, project documentation, and content design.
The framework is powerful because each question opens a different dimension of understanding. “Who” identifies actors. “What” identifies the event, object, claim, problem, or decision. “When” identifies time and sequence. “Where” identifies place, context, scope, or setting. “Why” identifies reasons, causes, purposes, or stakes. “How” identifies mechanisms, methods, processes, or implementation pathways.
| Question | Core function | Common content use |
|---|---|---|
| Who | Identifies actors, audiences, stakeholders, sources, or responsible parties. | Profiles, accountability, stakeholder maps, audience context. |
| What | Defines the event, claim, issue, object, problem, method, or decision. | Definitions, summaries, issue framing, article scope. |
| When | Clarifies timing, sequence, frequency, history, duration, and deadlines. | Timelines, process stages, historical context, review cycles. |
| Where | Defines place, context, setting, scale, jurisdiction, or system boundary. | Geographic context, institutional scope, domain boundaries. |
| Why | Explains reasons, causes, purposes, motivations, stakes, or significance. | Analysis, causal explanation, strategic rationale, public reasoning. |
| How | Explains mechanisms, methods, processes, pathways, or implementation. | Methods, workflows, tutorials, systems explanation, governance steps. |
5W1H is not only a reporting tool. It is a structure for making explanation answerable.
5W1H as Architecture, Not Checklist
5W1H is often treated as a checklist. That is useful for basic completeness, but the framework becomes more powerful when it is treated as architecture. The six questions are not isolated boxes. They interact.
Who affects why. What affects how. When affects where. Where affects who. Why affects what counts as relevant. How affects whether a claim is credible. A policy explanation, for example, cannot fully answer “what changed” without explaining who has authority, when the change applies, where it applies, why it was made, and how it will be implemented.
As architecture, 5W1H helps writers organize relationships among explanatory dimensions. It can reveal whether a reader is missing context, source support, temporal sequence, mechanism, actor responsibility, or purpose. It can also help editors decide which missing details matter and which are outside the article’s scope.
| Checklist use | Architectural use |
|---|---|
| Asks whether each question appears somewhere. | Asks whether each question supports the explanation’s purpose. |
| Treats all questions as equal. | Prioritizes questions based on audience need and content type. |
| Looks for surface coverage. | Looks for relationships among actors, events, timing, place, cause, and process. |
| Can encourage formulaic writing. | Supports structured reasoning and editorial judgment. |
| Ends when all boxes are checked. | Continues through evidence review, gap analysis, and governance. |
5W1H should not make explanation mechanical. It should make explanation more complete, navigable, and accountable.
Core Functions of 5W1H
5W1H helps content systems organize explanation by making basic dimensions of completeness visible and reviewable.
It orients the reader
The framework helps readers understand the basic actors, issues, timing, context, reasons, and mechanisms involved.
It reveals missing information
By asking six structured questions, editors can identify where an explanation is incomplete or ambiguous.
It supports evidence architecture
Each question can be connected to source support, method notes, examples, or citations.
It clarifies scope
5W1H helps writers decide what belongs inside the article and what should be linked, deferred, or excluded.
It supports audience adaptation
Different audiences may need different levels of detail for each question.
It strengthens governance
5W1H records can support content audits, revision queues, metadata, and publication readiness checks.
It connects explanation to action
When readers know who, what, when, where, why, and how, next steps become more understandable.
These functions make 5W1H useful across explanatory, educational, research, policy, technical, and strategic content.
Who: Actors, Audiences, Stakeholders, and Responsibility
The who question identifies people, organizations, institutions, communities, decision-makers, audiences, experts, affected groups, and responsible parties. It is often the question that reveals agency. Without who, an explanation can become strangely passive: things happen, policies change, risks appear, systems fail, decisions are made, but no one is visible.
In explanatory content, who can refer to several different groups. It may identify who did something, who was affected, who has authority, who benefits, who bears risk, who provides evidence, who should act, or who the article is written for. These are not interchangeable.
| Who dimension | Question | Why it matters |
|---|---|---|
| Actors | Who is doing or causing something? | Clarifies agency and responsibility. |
| Audience | Who needs to understand this? | Shapes level, language, examples, and structure. |
| Stakeholders | Who is affected by the issue or decision? | Reveals consequences and representation needs. |
| Authority | Who has power to decide, regulate, implement, or revise? | Clarifies governance and accountability. |
| Sources | Who is providing evidence or interpretation? | Supports source quality and credibility review. |
The who question is especially important in policy, governance, institutional communication, research communication, and ethics. It prevents explanation from hiding responsibility behind abstract nouns.
What: Events, Claims, Objects, Problems, and Decisions
The what question defines the object of explanation. It asks what happened, what is being claimed, what is being studied, what changed, what problem exists, what decision is being made, what method is being used, or what system is being described.
Without what, readers cannot know the scope of the explanation. A vague article may discuss “change,” “risk,” “strategy,” “frameworks,” or “governance” without defining the actual object. The what question forces specificity.
In content frameworks, what is closely connected to titles, headings, excerpts, definitions, metadata, and article-map placement. It helps determine whether an article is about a concept, method, case, model, framework, policy, practice, event, or governance process.
| What dimension | Question | Content example |
|---|---|---|
| Event | What happened? | News report, incident summary, case study. |
| Claim | What is being asserted? | Research communication, evidence review, argument map. |
| Problem | What needs explanation, decision, or action? | Policy analysis, strategy brief, systems diagnosis. |
| Method | What process or framework is being used? | Methods article, workflow, tutorial. |
| Object | What system, document, artifact, technology, or institution is being discussed? | Technical explanation, governance review, platform documentation. |
The what question should make the article’s object clear enough that the reader knows what is inside the frame and what is outside it.
When: Time, Sequence, Duration, and Timing
The when question places explanation in time. It asks when something happened, when it began, when it changed, when it applies, how long it lasts, how often it recurs, what sequence matters, and what timing affects interpretation.
Time is often underexplained. A policy may apply after a certain date. A scientific finding may depend on data collected during a specific period. A system failure may unfold in phases. A strategic decision may look reasonable at one point and harmful later. A content article may become stale if review cycles are not visible.
In knowledge systems, when supports versioning, publication status, review dates, update cycles, historical context, and time-sensitive interpretation.
| When dimension | Question | Why it matters |
|---|---|---|
| Event time | When did it happen? | Prevents chronological confusion. |
| Sequence | What happened before and after? | Clarifies process and causality. |
| Duration | How long did it last or how long will it apply? | Supports planning and interpretation. |
| Frequency | How often does it occur? | Distinguishes one-time events from patterns. |
| Review timing | When should this explanation be checked again? | Supports editorial governance and trust. |
The when question is essential for avoiding stale, timeless, or misleading explanations. Time changes meaning.
Where: Place, Context, Scale, and Setting
The where question identifies place and context. It can refer to geography, jurisdiction, institution, platform, market, ecosystem, community, system boundary, research setting, or conceptual domain. Where is not always a physical location. It may be an organizational setting, a legal context, a digital platform, or a knowledge system.
Without where, an explanation can appear universal when it is actually local, institutional, domain-specific, or context-dependent. A health policy may apply in one country but not another. A platform workflow may apply in one content management system but not another. A research finding may depend on the study population or setting. A governance problem may exist at one scale but not another.
| Where dimension | Question | Content use |
|---|---|---|
| Geographic place | Where does this occur? | Local, national, regional, or global explanation. |
| Institutional setting | Where inside an organization or system does this apply? | Governance, operations, policy, workflow design. |
| Jurisdiction | Where is authority or rule application bounded? | Law, compliance, public policy, regulation. |
| Platform or medium | Where does the content, interaction, or process occur? | Digital publishing, social media, CMS, repository workflows. |
| System boundary | Where does the analysis begin and end? | Systems thinking, modeling, sustainability, infrastructure. |
The where question protects readers from overgeneralization. It makes scope visible.
Why: Causes, Reasons, Purposes, and Stakes
The why question is one of the most difficult parts of 5W1H because it can mean several different things. It may ask why something happened, why it matters, why a decision was made, why a method was chosen, why an audience should care, or why a proposed action is justified.
Those meanings should not be mixed carelessly. Causal why is different from strategic why. Ethical why is different from institutional why. Motivational why is different from explanatory why. A strong content framework should distinguish these forms of reasoning.
| Type of why | Question | Risk if unclear |
|---|---|---|
| Causal why | Why did this happen? | Correlation may be mistaken for cause. |
| Purpose why | Why was this done? | Intent may be assumed without evidence. |
| Strategic why | Why is this approach being chosen? | Tradeoffs may be hidden. |
| Ethical why | Why is this justified or responsible? | Values may be treated as facts or omitted entirely. |
| Audience why | Why should the reader care? | Relevance may be assumed rather than built. |
The why question gives explanation depth, but it also requires discipline. Writers should specify which kind of why they are answering.
How: Mechanisms, Methods, Processes, and Pathways
The how question explains mechanism. It asks how something works, how evidence was produced, how a process unfolds, how a method is applied, how a decision will be implemented, or how a reader can act. How is often the question that turns description into usable understanding.
Many explanations are weak because they state outcomes without explaining mechanisms. A content strategy improves navigation, but how? A policy reduces risk, but how? A framework supports learning, but how? A model estimates future behavior, but how? A repository workflow supports reproducibility, but how?
How should connect claims to process. It should explain steps, dependencies, inputs, outputs, mechanisms, limitations, and conditions. In technical and educational content, how is central to reader trust.
| How dimension | Question | Content use |
|---|---|---|
| Mechanism | How does it work? | Systems explanation, technical communication, causal reasoning. |
| Method | How was evidence produced? | Research communication, data analysis, evaluation. |
| Process | How does the sequence unfold? | Workflows, tutorials, governance, implementation. |
| Pathway | How can the reader move from current state to desired state? | Learning pathways, strategic action, public guidance. |
| Maintenance | How will this stay accurate? | Editorial governance, review cycles, repository updates. |
The how question is where explanation becomes operational. It shows the reader the structure beneath the claim.
5W1H vs AIDA, PAS, BAB, and Persuasive Frameworks
5W1H differs from persuasive-sequence frameworks such as AIDA, PAS, and BAB. AIDA moves an audience from attention to interest, desire, and action. PAS moves from problem to agitation to solution. BAB moves from before to after to bridge. These are movement frameworks. They help structure persuasion.
5W1H is an explanatory-completeness framework. It asks what information the reader needs to understand the subject. It may support persuasion, but it does not require persuasion. It can be used for reporting, research communication, policy explanation, technical documentation, educational scaffolding, case analysis, internal documentation, or governance review.
| Framework | Main purpose | Primary question |
|---|---|---|
| 5W1H | Explanatory completeness. | What does the reader need to know? |
| AIDA | Persuasive sequence. | How does the audience move toward action? |
| PAS | Tension and solution framing. | What problem matters and what solution fits? |
| BAB | Transformation framing. | How does the audience move from before to after? |
| Story arc | Narrative movement. | How does change unfold through conflict and resolution? |
A persuasive message may still need 5W1H. A solution claim is more credible when the reader understands who it serves, what problem it addresses, when it applies, where it fits, why it matters, and how it works.
5W1H in Content Frameworks
5W1H can strengthen content frameworks by helping editors audit whether articles, article maps, pillar pages, topic clusters, repository blocks, image metadata, references, and calls to action answer enough of the right questions. It is especially useful for knowledge systems that combine educational, research, strategic, technical, and public-interest content.
In a content framework, 5W1H can be embedded at several levels. At the article level, it helps structure explanation. At the metadata level, it supports classification and review. At the repository level, it helps connect code examples to purpose and method. At the governance level, it helps identify missing context and stale claims.
5W1H can support content frameworks through:
- article introductions that orient readers quickly;
- TOCs that reveal explanatory structure;
- tables that map actors, claims, timing, context, causes, and methods;
- metadata fields for scope, audience, status, evidence, and review;
- internal links that answer missing questions in related articles;
- GitHub blocks that explain how workflows support the article;
- repository documentation that explains who uses the code, what it does, and how to run it;
- editorial audits that flag missing 5W1H coverage.
When 5W1H is embedded in a content system, completeness becomes reviewable rather than accidental.
Evidence, Completeness, and Source Support
5W1H should be connected to evidence architecture. It is not enough to answer each question. The answer should be supported appropriately. A who answer may require named sources, institutional records, or stakeholder identification. A when answer may require dates, timelines, publication records, or version history. A why answer may require causal evidence, stated purpose, policy rationale, or ethical reasoning. A how answer may require method documentation, process evidence, or reproducible workflows.
Different questions need different evidence types. Treating every 5W1H answer as if it can be supported by the same source weakens explanation. A source that supports what happened may not support why it happened. A source that explains how a method works may not establish who was affected. Evidence should fit the question.
| 5W1H question | Common evidence support | Review risk |
|---|---|---|
| Who | Named sources, organizational records, stakeholder maps, author credentials. | Actors or affected groups may be missing. |
| What | Definitions, records, observations, claims, datasets, documents. | The object of explanation may be vague. |
| When | Dates, timelines, version histories, publication records. | Time-sensitive information may be stale. |
| Where | Jurisdiction, setting, system boundary, geographic or institutional context. | Scope may be overgeneralized. |
| Why | Causal evidence, stated rationale, argument structure, policy reasoning. | Purpose, cause, and significance may be confused. |
| How | Methods, mechanisms, workflows, process documentation, reproducible code. | Claims may lack operational explanation. |
5W1H becomes stronger when each answer has the right kind of support.
Governance and Review
5W1H should be governed because explanatory completeness can degrade over time. Actors change. Dates become stale. jurisdictions shift. Methods are updated. Source links break. Policy contexts evolve. A complete explanation at publication may become incomplete later.
Governance should track which 5W1H questions are answered, which are intentionally out of scope, which require review, and which rely on sources that may become stale. It should also track whether certain questions are overrepresented while others are missing. For example, an article may explain what and why but omit how. A case study may explain who and what but omit when and where. A technical article may explain how but omit why it matters.
| Governance task | Review question | Why it matters |
|---|---|---|
| Coverage review | Which 5W1H questions are answered? | Identifies explanatory gaps. |
| Scope review | Which questions are intentionally out of scope? | Prevents accidental omission from appearing intentional. |
| Evidence review | Is each answer supported by an appropriate source? | Connects completeness to trust. |
| Freshness review | Do dates, actors, policies, or methods need updating? | Prevents stale explanation. |
| Balance review | Does the article overdevelop some questions while neglecting others? | Improves reader orientation. |
| Accessibility review | Can readers find answers without searching the whole article? | Supports usability and comprehension. |
5W1H governance turns completeness into an editorial practice rather than a one-time drafting exercise.
Risks and Limits
5W1H is useful, but it is limited. It can encourage completeness, but it cannot guarantee depth. It can reveal missing questions, but it cannot decide which questions matter most. It can organize explanation, but it cannot replace expertise, evidence review, audience research, ethical judgment, or systems thinking.
One risk is formulaic completeness. A writer may answer each question briefly without building a coherent explanation. Another risk is false sufficiency. A piece may answer who, what, when, where, why, and how at a surface level while still missing uncertainty, tradeoffs, power, evidence quality, or interpretation. A third risk is overloading the reader. Not every article needs equal detail for every question.
5W1H can also oversimplify complex causality. The why question, in particular, may require careful distinction among cause, reason, purpose, incentive, justification, and consequence. The how question may require technical depth that cannot be compressed into a short answer.
| Limit | What goes wrong | Better practice |
|---|---|---|
| Checklist thinking | Questions are answered mechanically. | Connect answers into a coherent explanation. |
| Surface completeness | All six questions appear, but evidence and interpretation remain weak. | Connect 5W1H to evidence architecture. |
| Reader overload | The article includes unnecessary detail for every question. | Prioritize questions based on audience and purpose. |
| Causal oversimplification | Why becomes a single neat explanation. | Separate cause, purpose, rationale, and significance. |
| Mechanism gaps | How is answered too briefly to be useful. | Use process diagrams, workflows, examples, or linked methods articles. |
5W1H is best used as an audit and design tool, not as a substitute for deeper reasoning.
Mathematics, Computation, and Modeling
5W1H can be modeled computationally by treating each question as a coverage, evidence, and balance signal. These models do not determine whether an explanation is good by themselves, but they help editors identify missing questions, weak support, imbalance, and governance needs.
C_i = \frac{Q_i}{6}
\]
Interpretation: Coverage \(C_i\) estimates how many of the six 5W1H questions are answered in article or asset \(i\).
S_i = \frac{E_i}{Q_i}
\]
Interpretation: Support \(S_i\) estimates how many answered questions have appropriate evidence, source, example, or method support.
B_i = 1 – \frac{\sigma(W_i)}{\mu(W_i)}
\]
Interpretation: Balance \(B_i\) estimates whether coverage across who, what, when, where, why, and how is proportionate for the asset’s purpose.
R_i = w_1C_i + w_2S_i + w_3B_i + w_4A_i + w_5G_i
\]
Interpretation: Explanatory readiness \(R_i\) can combine coverage, evidence support, balance, audience fit, and governance readiness.
These formulas are useful for editorial audits. They cannot replace judgment about significance, evidence quality, uncertainty, power, or reader need.
Python Workflow: Professional 5W1H Completeness Audit
A professional 5W1H audit should evaluate question coverage, source support, audience fit, explanatory balance, scope notes, freshness risk, and governance readiness. The Python workflow below uses only the standard library and produces CSV and JSON outputs.
#!/usr/bin/env python3
"""
5W1H explanatory completeness audit workflow.
This workflow evaluates:
- who, what, when, where, why, how coverage
- evidence support for each question
- explanatory balance
- audience fit
- freshness risk
- governance queues
- catalog exports
Uses only the Python standard library.
"""
from __future__ import annotations
from pathlib import Path
from dataclasses import dataclass, asdict
from collections import defaultdict
from datetime import datetime, timezone
import csv
import json
import math
ROOT = Path(__file__).resolve().parents[1]
DATA = ROOT / "data"
TABLES = ROOT / "outputs" / "tables"
REPORTS = ROOT / "outputs" / "reports"
AUDIT_LOGS = ROOT / "outputs" / "audit_logs"
CATALOG_EXPORTS = ROOT / "outputs" / "catalog_exports"
QUESTIONS = ["who", "what", "when", "where", "why", "how"]
READINESS_THRESHOLD = 0.78
WEIGHTS = {
"coverage": 0.24,
"evidence_support": 0.26,
"balance": 0.16,
"audience_fit": 0.16,
"governance": 0.18
}
@dataclass(frozen=True)
class Finding:
severity: str
category: str
identifier: str
message: str
recommended_action: str
def ensure_dirs() -> None:
for directory in [TABLES, REPORTS, AUDIT_LOGS, CATALOG_EXPORTS]:
directory.mkdir(parents=True, exist_ok=True)
def read_csv(path: Path) -> list[dict[str, str]]:
with path.open(newline="", encoding="utf-8") as handle:
return list(csv.DictReader(handle))
def write_csv(path: Path, rows: list[dict[str, object]]) -> None:
if not rows:
return
path.parent.mkdir(parents=True, exist_ok=True)
with path.open("w", newline="", encoding="utf-8") as handle:
writer = csv.DictWriter(handle, fieldnames=list(rows[0].keys()))
writer.writeheader()
writer.writerows(rows)
def write_json(path: Path, payload: object) -> None:
path.parent.mkdir(parents=True, exist_ok=True)
path.write_text(json.dumps(payload, indent=2), encoding="utf-8")
def yes(value: str) -> bool:
return str(value).strip().lower() in {"yes", "true", "1", "ready", "complete"}
def average(values: list[float]) -> float:
return sum(values) / len(values) if values else 0.0
def balance_score(values: list[float]) -> float:
mean_value = average(values)
if mean_value == 0:
return 0.0
variance = average([(value - mean_value) ** 2 for value in values])
standard_deviation = math.sqrt(variance)
balance = 1 - min(standard_deviation / mean_value, 1)
return max(0.0, min(balance, 1.0))
def severity_rank(severity: str) -> int:
return {"critical": 0, "high": 1, "medium": 2, "low": 3, "info": 4}.get(severity, 99)
def score_asset(asset: dict[str, str]) -> dict[str, float]:
coverage_values = [int(yes(asset[f"{question}_answered"])) for question in QUESTIONS]
support_values = [
int(yes(asset[f"{question}_supported"]))
for question in QUESTIONS
if yes(asset[f"{question}_answered"])
]
coverage = sum(coverage_values) / len(QUESTIONS)
support = average(support_values) if support_values else 0.0
balance = balance_score(coverage_values)
audience_fit = (
int(yes(asset["audience_context_present"])) +
int(yes(asset["scope_note_present"])) +
int(yes(asset["plain_language_summary_present"]))
) / 3
governance = (
int(yes(asset["review_owner_present"])) +
int(yes(asset["last_review_date_present"])) +
int(yes(asset["freshness_checked"])) +
int(yes(asset["revision_queue_checked"]))
) / 4
readiness = (
WEIGHTS["coverage"] * coverage +
WEIGHTS["evidence_support"] * support +
WEIGHTS["balance"] * balance +
WEIGHTS["audience_fit"] * audience_fit +
WEIGHTS["governance"] * governance
)
return {
"coverage_score": round(coverage, 4),
"evidence_support_score": round(support, 4),
"balance_score": round(balance, 4),
"audience_fit_score": round(audience_fit, 4),
"governance_score": round(governance, 4),
"explanatory_readiness_score": round(readiness, 4)
}
def audit_assets(assets: list[dict[str, str]]):
rows = []
findings = []
for asset in assets:
scores = score_asset(asset)
status = "ready" if scores["explanatory_readiness_score"] >= READINESS_THRESHOLD else "governance review"
missing_questions = [question for question in QUESTIONS if not yes(asset[f"{question}_answered"])]
unsupported_questions = [
question for question in QUESTIONS
if yes(asset[f"{question}_answered"]) and not yes(asset[f"{question}_supported"])
]
row = {
"asset_id": asset["asset_id"],
"asset_name": asset["asset_name"],
"asset_type": asset["asset_type"],
"audience": asset["audience"],
**scores,
"missing_questions": ";".join(missing_questions),
"unsupported_questions": ";".join(unsupported_questions),
"explanatory_status": status
}
rows.append(row)
if missing_questions:
findings.append(Finding(
"medium",
"coverage",
asset["asset_id"],
f"Missing 5W1H questions: {', '.join(missing_questions)}.",
"Add answers or explicit scope notes for missing questions."
))
if unsupported_questions:
findings.append(Finding(
"high",
"evidence_support",
asset["asset_id"],
f"Answered questions lack support: {', '.join(unsupported_questions)}.",
"Add evidence, examples, source records, or method notes."
))
if scores["audience_fit_score"] < 0.67:
findings.append(Finding(
"medium",
"audience_fit",
asset["asset_id"],
"Audience support is weak.",
"Add audience context, scope note, or plain-language summary."
))
if scores["governance_score"] < 0.75:
findings.append(Finding(
"medium",
"governance",
asset["asset_id"],
"Governance readiness is incomplete.",
"Add review owner, review date, freshness check, and revision queue status."
))
return rows, findings
def question_coverage_summary(assets: list[dict[str, str]]):
rows = []
for question in QUESTIONS:
answered = sum(1 for asset in assets if yes(asset[f"{question}_answered"]))
supported = sum(
1 for asset in assets
if yes(asset[f"{question}_answered"]) and yes(asset[f"{question}_supported"])
)
rows.append({
"question": question,
"assets_answered": answered,
"assets_supported": supported,
"answer_rate": round(answered / len(assets), 4) if assets else 0,
"support_rate": round(supported / answered, 4) if answered else 0
})
return rows
def audience_summary(readiness_rows):
grouped = defaultdict(list)
for row in readiness_rows:
grouped[row["audience"]].append(float(row["explanatory_readiness_score"]))
return [{
"audience": audience,
"asset_count": len(scores),
"average_explanatory_readiness": round(average(scores), 4)
} for audience, scores in sorted(grouped.items())]
def governance_queue(manual_queue, findings):
rows = []
for item in manual_queue:
rows.append({
"source": "manual_review_queue",
"severity": item["severity"],
"category": item["issue_type"],
"identifier": item["record_id"],
"message": item["review_note"],
"recommended_action": "Resolve through 5W1H explanatory-completeness governance."
})
for finding in findings:
rows.append({
"source": "automated_5w1h_audit",
"severity": finding.severity,
"category": finding.category,
"identifier": finding.identifier,
"message": finding.message,
"recommended_action": finding.recommended_action
})
rows.sort(key=lambda row: (severity_rank(row["severity"]), row["category"], row["identifier"]))
return rows
def main():
ensure_dirs()
assets = read_csv(DATA / "five_w_one_h_content_inventory.csv")
manual_queue = read_csv(DATA / "editorial_review_queue.csv")
readiness_rows, findings = audit_assets(assets)
coverage_rows = question_coverage_summary(assets)
audience_rows = audience_summary(readiness_rows)
queue_rows = governance_queue(manual_queue, findings)
catalog_rows = [{
"series": "Content Frameworks",
"article_slug": "5w1h-and-the-architecture-of-explanatory-completeness",
"asset_id": row["asset_id"],
"asset_name": row["asset_name"],
"asset_type": row["asset_type"],
"audience": row["audience"],
"explanatory_readiness_score": row["explanatory_readiness_score"],
"explanatory_status": row["explanatory_status"],
"github_path": "articles/5w1h-and-the-architecture-of-explanatory-completeness/"
} for row in readiness_rows]
write_csv(TABLES / "five_w_one_h_readiness_report.csv", readiness_rows)
write_csv(TABLES / "five_w_one_h_question_coverage_report.csv", coverage_rows)
write_csv(TABLES / "five_w_one_h_audience_summary_report.csv", audience_rows)
write_csv(TABLES / "five_w_one_h_governance_queue.csv", queue_rows)
write_csv(CATALOG_EXPORTS / "five_w_one_h_catalog_export.csv", catalog_rows)
report = {
"article": "5W1H and the Architecture of Explanatory Completeness",
"generated_at": datetime.now(timezone.utc).isoformat(),
"counts": {
"assets": len(assets),
"findings": len(findings),
"governance_queue": len(queue_rows)
},
"question_coverage": coverage_rows,
"readiness": readiness_rows,
"governance_queue": queue_rows
}
write_json(REPORTS / "five_w_one_h_completeness_audit.json", report)
write_json(AUDIT_LOGS / "five_w_one_h_findings.json", [asdict(finding) for finding in findings])
print("5W1H completeness audit complete.")
print(TABLES / "five_w_one_h_readiness_report.csv")
print(TABLES / "five_w_one_h_governance_queue.csv")
print(REPORTS / "five_w_one_h_completeness_audit.json")
if __name__ == "__main__":
main()
This workflow treats 5W1H as explanatory-completeness infrastructure. It evaluates whether content answers and supports who, what, when, where, why, and how while also checking audience fit and governance readiness.
R Workflow: Question Coverage, Balance, and Governance Reporting
An R workflow can summarize 5W1H coverage across articles, pages, repository blocks, methods sections, and public-facing content assets. The example below uses base R so it can run in lightweight environments.
# five_w_one_h_completeness_analysis.R
# Base R workflow for 5W1H explanatory-completeness readiness.
args <- commandArgs(trailingOnly = FALSE)
file_arg <- grep("^--file=", args, value = TRUE)
if (length(file_arg) > 0) {
script_path <- normalizePath(sub("^--file=", "", file_arg[1]), mustWork = TRUE)
article_root <- normalizePath(file.path(dirname(script_path), ".."), mustWork = TRUE)
} else {
article_root <- getwd()
}
data_dir <- file.path(article_root, "data")
tables_dir <- file.path(article_root, "outputs", "tables")
figures_dir <- file.path(article_root, "outputs", "figures")
reports_dir <- file.path(article_root, "outputs", "reports")
catalog_dir <- file.path(article_root, "outputs", "catalog_exports")
dir.create(tables_dir, recursive = TRUE, showWarnings = FALSE)
dir.create(figures_dir, recursive = TRUE, showWarnings = FALSE)
dir.create(reports_dir, recursive = TRUE, showWarnings = FALSE)
dir.create(catalog_dir, recursive = TRUE, showWarnings = FALSE)
assets <- read.csv(file.path(data_dir, "five_w_one_h_content_inventory.csv"), stringsAsFactors = FALSE)
review_queue <- read.csv(file.path(data_dir, "editorial_review_queue.csv"), stringsAsFactors = FALSE)
yes <- function(x) {
tolower(trimws(x)) %in% c("yes", "true", "1", "ready", "complete")
}
balance_score <- function(values) {
mean_value <- mean(values)
if (mean_value == 0) return(0)
balance <- 1 - min(sd(values) / mean_value, 1)
max(0, min(balance, 1))
}
questions <- c("who", "what", "when", "where", "why", "how")
coverage_matrix <- sapply(questions, function(q) yes(assets[[paste0(q, "_answered")]]))
support_matrix <- sapply(questions, function(q) yes(assets[[paste0(q, "_supported")]]))
assets$coverage_score <- round(rowMeans(coverage_matrix), 4)
supported_answer_counts <- rowSums(coverage_matrix & support_matrix)
answered_counts <- rowSums(coverage_matrix)
assets$evidence_support_score <- ifelse(
answered_counts == 0,
0,
supported_answer_counts / answered_counts
)
assets$evidence_support_score <- round(assets$evidence_support_score, 4)
assets$balance_score <- apply(coverage_matrix, 1, balance_score)
assets$balance_score <- round(assets$balance_score, 4)
assets$audience_fit_score <- round(
(
yes(assets$audience_context_present) +
yes(assets$scope_note_present) +
yes(assets$plain_language_summary_present)
) / 3,
4
)
assets$governance_score <- round(
(
yes(assets$review_owner_present) +
yes(assets$last_review_date_present) +
yes(assets$freshness_checked) +
yes(assets$revision_queue_checked)
) / 4,
4
)
assets$explanatory_readiness_score <- round(
0.24 * assets$coverage_score +
0.26 * assets$evidence_support_score +
0.16 * assets$balance_score +
0.16 * assets$audience_fit_score +
0.18 * assets$governance_score,
4
)
assets$explanatory_status <- ifelse(
assets$explanatory_readiness_score >= 0.78,
"ready",
"governance review"
)
question_coverage <- data.frame(
question = questions,
assets_answered = colSums(coverage_matrix),
assets_supported = colSums(coverage_matrix & support_matrix)
)
question_coverage$answer_rate <- round(question_coverage$assets_answered / nrow(assets), 4)
question_coverage$support_rate <- ifelse(
question_coverage$assets_answered == 0,
0,
round(question_coverage$assets_supported / question_coverage$assets_answered, 4)
)
audience_summary <- aggregate(
explanatory_readiness_score ~ audience,
data = assets,
FUN = mean
)
names(audience_summary) <- c("audience", "average_explanatory_readiness")
audience_summary$average_explanatory_readiness <- round(audience_summary$average_explanatory_readiness, 4)
asset_type_summary <- aggregate(
explanatory_readiness_score ~ asset_type,
data = assets,
FUN = mean
)
names(asset_type_summary) <- c("asset_type", "average_explanatory_readiness")
asset_type_summary$average_explanatory_readiness <- round(asset_type_summary$average_explanatory_readiness, 4)
governance_queue <- subset(assets, explanatory_status == "governance review")
catalog <- assets[, c(
"asset_id",
"asset_name",
"asset_type",
"audience",
"explanatory_readiness_score",
"explanatory_status"
)]
catalog$series <- "Content Frameworks"
catalog$article_slug <- "5w1h-and-the-architecture-of-explanatory-completeness"
catalog$github_path <- "articles/5w1h-and-the-architecture-of-explanatory-completeness/"
write.csv(assets, file.path(tables_dir, "r_five_w_one_h_readiness_report.csv"), row.names = FALSE)
write.csv(question_coverage, file.path(tables_dir, "r_five_w_one_h_question_coverage_report.csv"), row.names = FALSE)
write.csv(audience_summary, file.path(tables_dir, "r_five_w_one_h_audience_summary_report.csv"), row.names = FALSE)
write.csv(asset_type_summary, file.path(tables_dir, "r_five_w_one_h_asset_type_summary_report.csv"), row.names = FALSE)
write.csv(governance_queue, file.path(tables_dir, "r_five_w_one_h_governance_queue.csv"), row.names = FALSE)
write.csv(catalog, file.path(catalog_dir, "r_five_w_one_h_catalog_export.csv"), row.names = FALSE)
png(file.path(figures_dir, "r_five_w_one_h_readiness_scores.png"), width = 1200, height = 800)
barplot(
assets$explanatory_readiness_score,
names.arg = assets$asset_id,
las = 2,
main = "5W1H Explanatory Readiness Scores",
ylab = "Readiness score"
)
dev.off()
png(file.path(figures_dir, "r_five_w_one_h_question_coverage.png"), width = 1000, height = 700)
barplot(
question_coverage$answer_rate,
names.arg = question_coverage$question,
las = 2,
main = "5W1H Question Coverage",
ylab = "Answer rate"
)
dev.off()
writeLines(c(
"# 5W1H and the Architecture of Explanatory Completeness: R Audit",
"",
paste0("- Content assets: ", nrow(assets)),
paste0("- Manual review queue records: ", nrow(review_queue)),
paste0("- Average explanatory readiness score: ", round(mean(assets$explanatory_readiness_score), 4)),
paste0("- Assets requiring governance review: ", nrow(governance_queue))
), file.path(reports_dir, "r_five_w_one_h_report.md"))
print("5W1H completeness R analysis complete.")
print(assets[, c("asset_id", "explanatory_readiness_score", "explanatory_status")])
This R workflow summarizes 5W1H coverage, evidence support, explanatory balance, audience fit, asset-type performance, and governance review needs across content assets.
GitHub repository
The companion repository provides a reproducible technical scaffold for the article’s computational examples, including 5W1H content inventories, question coverage analysis, evidence-support review, explanatory balance scoring, audience-fit checks, governance queues, synthetic data, generated outputs, and reproducibility documentation.
The full code distribution for this article, including selected article examples, expanded computational workflows, reusable HTML/CSS/PHP components, Java content models, Python and R workflows, SQL schemas, synthetic datasets, generated outputs, governance documentation, and notebook placeholders, is available on GitHub.
A Practical Method for Using 5W1H Responsibly
A practical 5W1H method begins with the purpose of the explanation. The goal is not to force every article into the same shape, but to identify what the reader needs to understand and which questions must be answered directly.
1. Define the content purpose
Clarify whether the piece is explaining an event, method, policy, concept, decision, case, system, or framework.
2. Identify the audience
Determine what readers already know, what they need, and where confusion is likely.
3. Draft the six questions
Write who, what, when, where, why, and how questions specific to the article.
4. Prioritize the questions
Decide which questions are central, supporting, linked elsewhere, or out of scope.
5. Answer with specificity
Avoid vague answers. Identify actors, objects, timing, context, reasons, and mechanisms clearly.
6. Match evidence to each answer
Use the right source type for each question, rather than relying on one citation for all claims.
7. Check balance
Look for overdeveloped and underdeveloped questions relative to the article’s purpose.
8. Add scope and limitation notes
Explain what the article does not answer and where readers should go next.
9. Connect internal links
Use related articles to answer deeper versions of questions that cannot fit in one page.
10. Govern and revise
Track freshness, review dates, source changes, broken links, and explanatory gaps.
| Design step | Question | Output |
|---|---|---|
| Purpose definition | What kind of explanation is this? | Content-purpose note. |
| Audience definition | Who needs this explanation? | Audience context note. |
| Question drafting | What are the specific 5W1H questions for this article? | Question inventory. |
| Coverage review | Which questions are answered? | Coverage matrix. |
| Evidence review | Which answers have support? | Source-support record. |
| Scope review | Which questions are intentionally limited? | Scope and limitation note. |
| Governance | How will completeness stay current? | Review status and update queue. |
This method turns 5W1H from a basic writing prompt into a practical editorial-review system.
Common Pitfalls
5W1H often fails when writers assume simple questions require simple answers. The framework is easy to remember, but difficult to apply well in complex domains.
| Pitfall | What goes wrong | Better practice |
|---|---|---|
| Answering mechanically | The article includes all six questions but remains shallow. | Connect answers into a coherent explanation. |
| Confusing cause and purpose | The why answer mixes causality, intent, and significance. | Separate different forms of why. |
| Omitting mechanism | The article states what happens but not how it works. | Develop the how question with process, method, or workflow detail. |
| Hiding actors | Responsibility disappears behind passive language. | Use who to identify actors, authority, and affected groups. |
| Ignoring time | The explanation becomes stale or chronologically confusing. | Use when for timelines, review dates, and update cycles. |
| Overgeneralizing context | A local or bounded claim appears universal. | Use where to clarify setting, jurisdiction, scale, and scope. |
| Using unsupported answers | Completeness becomes assertion rather than evidence-based explanation. | Match sources to each 5W1H answer. |
5W1H works best when it supports precision, not just coverage.
Why This Matters Now
5W1H matters now because digital knowledge systems are expanding faster than many editorial systems can govern them. Articles, summaries, AI-generated drafts, newsletters, policy pages, product documentation, research explainers, and learning pathways can be produced quickly, but speed increases the risk of missing context.
AI-assisted writing makes this especially important. A fluent explanation may appear complete while leaving out who is affected, when information applies, where claims hold, why conclusions follow, or how methods work. 5W1H provides a practical way to audit explanatory completeness before publication.
For public-interest content, 5W1H supports trust. Readers need to know who is involved, what is being claimed, when information applies, where it fits, why it matters, and how it works. Without that structure, explanation can become persuasive without being clear, technical without being usable, or comprehensive without being navigable.
For Content Catalyst’s knowledge architecture, 5W1H also supports scalability. As article maps grow across domains, completeness must be maintained across titles, metadata, internal links, references, GitHub repositories, image metadata, and governance records. 5W1H gives editors a durable review lens.
In a crowded information environment, completeness is not decorative. It is part of trust.
Conclusion
5W1H and the architecture of explanatory completeness help writers, editors, researchers, educators, and content strategists answer the basic questions readers need before they can understand a subject responsibly. Who, what, when, where, why, and how may be simple questions, but they open different dimensions of meaning.
Used well, 5W1H strengthens article introductions, research communication, policy explanation, technical documentation, learning pathways, case studies, internal documentation, and editorial governance. It helps reveal gaps, clarify scope, connect evidence to claims, and improve reader orientation.
Used poorly, it can become a checklist that produces surface completeness without depth. That is why 5W1H should be paired with evidence architecture, audience analysis, source review, accessibility, internal linking, and governance.
For content frameworks, 5W1H is not merely a writing aid. It is a durable model of explanatory completeness. Its value lies in helping knowledge systems remain clear, accountable, navigable, and trustworthy as they grow.
Related articles
- Content Frameworks
- PAS, BAB, and the Structure of Tension and Transformation
- AIDA and the Logic of Persuasive Sequence
- Hierarchy of Effects and Communication Response Models
- Frameworks for Research Communication
- Evidence Architecture in Explanatory Content
- Educational Scaffolding and the Design of Learning Systems
- Conceptual Models in Communication
- Systems Explanation Frameworks
- Public Reasoning and Framework Design
Further reading
- American Society for Quality (n.d.) ‘Back to Basics: The Right Questions’. Available at: https://asq.org/quality-progress/articles/back-to-basics-the-right-questions?id=ca4861cf895845329e03f8cbe5857473
- American Society for Quality (n.d.) ‘Five Whys and Five Hows’. Available at: https://asq.org/quality-resources/five-whys
- Booth, W.C., Colomb, G.G. and Williams, J.M. (2016) The Craft of Research. 4th edn. Chicago: University of Chicago Press.
- Hamborg, F., Breitinger, C. and Gipp, B. (2019) ‘Giveme5W1H: A universal system for extracting main events from news articles’. Available at: https://arxiv.org/abs/1909.02766
- Kipling, R. (1902) Just So Stories. Available at: https://www.gutenberg.org/files/2781/2781-h/2781-h.htm
- National Academies of Sciences, Engineering, and Medicine (2017) Communicating Science Effectively: A Research Agenda. Washington, DC: The National Academies Press. Available at: https://doi.org/10.17226/23674
- Purdue Online Writing Lab (n.d.) ‘Writing Leads’. Available at: https://owl.purdue.edu/owl/subject_specific_writing/journalism_and_journalistic_writing/writing_leads.html
- Purdue Online Writing Lab (n.d.) ‘The Inverted Pyramid Structure’. Available at: https://owl.purdue.edu/owl/subject_specific_writing/journalism_and_journalistic_writing/the_inverted_pyramid.html
- Rosenfeld, L., Morville, P. and Arango, J. (2015) Information Architecture: For the Web and Beyond. 4th edn. Sebastopol, CA: O’Reilly Media.
- Toulmin, S.E. (2003) The Uses of Argument. Updated edn. Cambridge: Cambridge University Press. Available at: https://doi.org/10.1017/CBO9780511840005
- World Wide Web Consortium (2024) Web Content Accessibility Guidelines (WCAG) 2.2. Available at: https://www.w3.org/TR/WCAG22/
References
- American Society for Quality (n.d.) ‘Back to Basics: The Right Questions’. Available at: https://asq.org/quality-progress/articles/back-to-basics-the-right-questions?id=ca4861cf895845329e03f8cbe5857473
- American Society for Quality (n.d.) ‘Five Whys and Five Hows’. Available at: https://asq.org/quality-resources/five-whys
- Booth, W.C., Colomb, G.G. and Williams, J.M. (2016) The Craft of Research. 4th edn. Chicago: University of Chicago Press.
- Hamborg, F., Breitinger, C. and Gipp, B. (2019) ‘Giveme5W1H: A universal system for extracting main events from news articles’. Available at: https://arxiv.org/abs/1909.02766
- Kipling, R. (1902) Just So Stories. Available at: https://www.gutenberg.org/files/2781/2781-h/2781-h.htm
- National Academies of Sciences, Engineering, and Medicine (2017) Communicating Science Effectively: A Research Agenda. Washington, DC: The National Academies Press. Available at: https://doi.org/10.17226/23674
- Purdue Online Writing Lab (n.d.) ‘Writing Leads’. Available at: https://owl.purdue.edu/owl/subject_specific_writing/journalism_and_journalistic_writing/writing_leads.html
- Purdue Online Writing Lab (n.d.) ‘The Inverted Pyramid Structure’. Available at: https://owl.purdue.edu/owl/subject_specific_writing/journalism_and_journalistic_writing/the_inverted_pyramid.html
- Rosenfeld, L., Morville, P. and Arango, J. (2015) Information Architecture: For the Web and Beyond. 4th edn. Sebastopol, CA: O’Reilly Media.
- Toulmin, S.E. (2003) The Uses of Argument. Updated edn. Cambridge: Cambridge University Press. Available at: https://doi.org/10.1017/CBO9780511840005
- World Wide Web Consortium (2024) Web Content Accessibility Guidelines (WCAG) 2.2. W3C Recommendation. Available at: https://www.w3.org/TR/WCAG22/
