{
 "profile": "data-package",
 "name": "compile-the-law-data",
 "id": "https://future-seems-so-good.com/blog/assets/compile-the-law/data/datapackage.json",
 "title": "Compile the law: the data behind the book",
 "description": "Everything a four-wave search by AI agents collected and derived about software opportunities for Brazilian small businesses, professionals and consumers in October 2026: every idea at every stage, the R50 ranking and its cards, 1,008 classified findings, 28 buyer personas with their populations, 78 dated obligations, 8,709 checked sources, the value model, the 93 research reports and the code that built them.",
 "homepage": "https://future-seems-so-good.com/blog/compile-the-law",
 "version": "1.0.0",
 "created": "2026-10-12T00:00:00Z",
 "spatial": "Brazil",
 "temporal": "2026-09-12/2026-10-13",
 "licenses": [
  {
   "name": "CC-BY-4.0",
   "path": "https://creativecommons.org/licenses/by/4.0/",
   "title": "Creative Commons Attribution 4.0"
  }
 ],
 "keywords": [
  "Brazil",
  "small business",
  "software",
  "regulation",
  "tax reform",
  "CBS",
  "IBS",
  "MEI",
  "CNAE",
  "AI agents",
  "market sizing",
  "forced decisions",
  "asymmetries",
  "economic value"
 ],
 "contributors": [
  {
   "title": "Martin Roark",
   "path": "https://future-seems-so-good.com",
   "role": "author"
  }
 ],
 "resources": [
  {
   "name": "ideas",
   "path": "tables/ideas.csv",
   "profile": "tabular-data-resource",
   "title": "Every idea, at every stage",
   "description": "All 698 idea records of the search in one table: the 208 wave-1 cards, the 19 wave-2 deep dives, the 100 wave-3 re-scores of the earlier ideas, the 331 R50 variants of waves 3 and 4, and 40 ideas screened out in wave 4. Each row has its stage's own score and verdict, a percentile within the stage, an English gloss, buyer personas, the job the software does, whether a rule forces the purchase and its legal basis, and its lineage: the merged idea a card went into, the family a variant belongs to, the product it became.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 485353,
   "hash": "sha256:919897d0050b28a7ff7230276950461046db8a64a45a2f4052e6d568aee99ac6",
   "schema": {
    "fields": [
     {
      "name": "idea_id",
      "type": "string",
      "description": "Unique id: stage prefix (W1, W2, W3M, R50, SCR) and the record's own id."
     },
     {
      "name": "stage",
      "type": "string",
      "description": "wave1-card, wave2-deep-dive, wave3-rescore, r50-variant or screened."
     },
     {
      "name": "wave",
      "type": "integer",
      "description": "Research wave (1-4)."
     },
     {
      "name": "report_id",
      "type": "string",
      "description": "Research report id (W1-01 to W4-17); joins tables/reports.csv."
     },
     {
      "name": "source_id",
      "type": "string",
      "description": "The record's id in its source file."
     },
     {
      "name": "name",
      "type": "string",
      "description": "Name as the agent wrote it (mostly Portuguese)."
     },
     {
      "name": "en",
      "type": "string",
      "description": "English gloss written by the tagging pass (at most 14 words)."
     },
     {
      "name": "personas",
      "type": "string",
      "description": "Persona codes, main first, separated by '|'; see tables/personas.csv."
     },
     {
      "name": "job",
      "type": "string",
      "description": "What the software does for the buyer: check, calculate, document, schedule, operate, sell, learn, content, data or personal."
     },
     {
      "name": "forced",
      "type": "boolean",
      "description": "true when a legal or regulatory obligation or a dated rule change forces the purchase."
     },
     {
      "name": "legal_basis",
      "type": "string",
      "description": "The law, rule or deadline named, in short form."
     },
     {
      "name": "tags_from",
      "type": "string",
      "description": "self when the record was tagged itself; family when an R50 variant takes its family's tags."
     },
     {
      "name": "buyer",
      "type": "string",
      "description": "Buyer as written on the card."
     },
     {
      "name": "delivery_model",
      "type": "string",
      "description": "offline (runs on the buyer's machine), hybrid (local with an optional cloud part), cloud-light (a small serverless service) or api."
     },
     {
      "name": "revenue_model",
      "type": "string",
      "description": "one-time, subscription or mixed."
     },
     {
      "name": "sales_motion",
      "type": "string"
     },
     {
      "name": "price_brl",
      "type": "number",
      "description": "Entry or one-time price in reais."
     },
     {
      "name": "recurring_price_brl_month",
      "type": "number",
      "description": "Monthly price in reais of the recurring plan, if any."
     },
     {
      "name": "units_base",
      "type": "integer",
      "description": "Wave-1 base case of units sold."
     },
     {
      "name": "base_24m_gross_brl",
      "type": "integer",
      "description": "Base case of gross revenue over the first 24 months, in reais."
     },
     {
      "name": "low_24m_gross_brl",
      "type": "integer",
      "description": "Low case of gross revenue over 24 months, in reais."
     },
     {
      "name": "high_24m_gross_brl",
      "type": "integer",
      "description": "High case of gross revenue over 24 months, in reais."
     },
     {
      "name": "p_base",
      "type": "number",
      "description": "The card's probability of reaching at least the base case."
     },
     {
      "name": "rubric",
      "type": "string",
      "description": "The rubric behind score (each stage used its own)."
     },
     {
      "name": "score",
      "type": "number",
      "description": "Score on the stage's own rubric."
     },
     {
      "name": "score_pct_in_stage",
      "type": "number",
      "description": "Percentile of score within its stage (0-100), the only score comparable across stages."
     },
     {
      "name": "verdict",
      "type": "string",
      "description": "TOP (composite 3.8 or more), GOOD (3.3 to 3.79) or NO (lower, or a hard exclusion); earlier stages use their own labels."
     },
     {
      "name": "w3_score",
      "type": "number",
      "description": "For R50 variants that were wave-3 candidates: their wave-3 composite."
     },
     {
      "name": "w3_verdict",
      "type": "string",
      "description": "Their wave-3 verdict."
     },
     {
      "name": "w1_family",
      "type": "string",
      "description": "Wave-1 family the synthesis grouped the card into."
     },
     {
      "name": "merged_into",
      "type": "string",
      "description": "For wave-1 and wave-2 records: the wave-3 re-scored idea (W3M:...) they were merged into."
     },
     {
      "name": "merged_from",
      "type": "string",
      "description": "For wave-3 re-scores: the wave-1 and wave-2 ids merged into it."
     },
     {
      "name": "family_id",
      "type": "string",
      "description": "R50 product family id; joins tables/families.csv."
     },
     {
      "name": "family_rank",
      "type": "integer",
      "description": "Rank of the variant's family."
     },
     {
      "name": "family_verdict",
      "type": "string",
      "description": "Verdict of the variant's family."
     },
     {
      "name": "built_as",
      "type": "string",
      "description": "The product built from the record's family, if any."
     },
     {
      "name": "end_verdict",
      "type": "string",
      "description": "Where the record ended: the verdict of its merged idea, its own verdict or its family's."
     },
     {
      "name": "forcing",
      "type": "string",
      "description": "The forcing function or window the card cites."
     },
     {
      "name": "channels",
      "type": "string",
      "description": "Sales channels the wave-1 card proposed."
     },
     {
      "name": "key_evidence",
      "type": "string",
      "description": "The facts the agent cited for the card, as written."
     },
     {
      "name": "money_method",
      "type": "string",
      "description": "How the agent computed the money estimate, as written (present for some agents only)."
     },
     {
      "name": "risks",
      "type": "string",
      "description": "Why it fails, kill reason, exclusion or screening reason."
     },
     {
      "name": "lite_version",
      "type": "string",
      "description": "The wave-3 re-score's lighter version of the idea."
     },
     {
      "name": "bureaucracy_items",
      "type": "string",
      "description": "The bureaucracy exposures the card touches (B1-B9) and how the product avoids them."
     },
     {
      "name": "source_file",
      "type": "string",
      "description": "The project file the record comes from."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/ideas.csv"
    }
   ],
   "group": "ideas",
   "rows": 698
  },
  {
   "name": "families",
   "path": "tables/families.csv",
   "profile": "tabular-data-resource",
   "title": "Product families, ranked and tagged",
   "description": "The 222 families of the R50 ranking (220 products, one module, one distribution channel) with rank, composite, verdict, the nine criterion scores, prices, the base, low and high 24-month gross revenue of the variant that sets the family's money, the dated window that forces the purchase, an English gloss, personas, job and legal basis, and the product built from it.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 105085,
   "hash": "sha256:f46aea58867961ee19d67e1cb5672f2f07678118b23791df459cf86b339c2cac",
   "schema": {
    "fields": [
     {
      "name": "rank",
      "type": "integer",
      "description": "Rank of the family in the R50 ranking (1 = best); blank for the module and the distribution channel."
     },
     {
      "name": "family_id",
      "type": "string",
      "description": "R50 product family id; joins tables/families.csv."
     },
     {
      "name": "short_name",
      "type": "string",
      "description": "Short name used in the book's figures."
     },
     {
      "name": "family_name",
      "type": "string",
      "description": "Family name as the merge wrote it."
     },
     {
      "name": "kind",
      "type": "string",
      "description": "product, module or distribution."
     },
     {
      "name": "verdict",
      "type": "string",
      "description": "TOP (composite 3.8 or more), GOOD (3.3 to 3.79) or NO (lower, or a hard exclusion); earlier stages use their own labels."
     },
     {
      "name": "score",
      "type": "number",
      "description": "The family's composite: its best variant's."
     },
     {
      "name": "top50",
      "type": "boolean",
      "description": "true for product families ranked 1 to 50."
     },
     {
      "name": "built_as",
      "type": "string",
      "description": "The product built from the family on 12 October 2026, if any."
     },
     {
      "name": "en",
      "type": "string",
      "description": "English gloss written by the tagging pass (at most 14 words)."
     },
     {
      "name": "personas",
      "type": "string",
      "description": "Persona codes, main first, separated by '|'; see tables/personas.csv."
     },
     {
      "name": "job",
      "type": "string",
      "description": "What the software does for the buyer: check, calculate, document, schedule, operate, sell, learn, content, data or personal."
     },
     {
      "name": "forced",
      "type": "boolean",
      "description": "true when a legal or regulatory obligation or a dated rule change forces the purchase."
     },
     {
      "name": "legal_basis",
      "type": "string",
      "description": "The law, rule or deadline named, in short form."
     },
     {
      "name": "window",
      "type": "string",
      "description": "The dated rule, season or deadline that forces the purchase."
     },
     {
      "name": "delivery_model",
      "type": "string",
      "description": "offline (runs on the buyer's machine), hybrid (local with an optional cloud part), cloud-light (a small serverless service) or api."
     },
     {
      "name": "entry_price_brl",
      "type": "number",
      "description": "Entry price in reais: a one-time price, the first plan or a starter offer."
     },
     {
      "name": "recurring_price_brl_month",
      "type": "string",
      "description": "Monthly price in reais of the recurring plan, if any."
     },
     {
      "name": "family_base_24m_gross_brl",
      "type": "number",
      "description": "The family's money: its largest variant's base case (never a sum)."
     },
     {
      "name": "low_24m_gross_brl",
      "type": "integer",
      "description": "Low case of the variant that sets the family's money."
     },
     {
      "name": "high_24m_gross_brl",
      "type": "integer",
      "description": "High case of the same variant."
     },
     {
      "name": "p_base",
      "type": "number",
      "description": "The card's probability of reaching at least the base case."
     },
     {
      "name": "revenue_variant",
      "type": "string",
      "description": "The variant whose base case is the family's money."
     },
     {
      "name": "best_variant",
      "type": "string",
      "description": "The variant whose composite is the family's score."
     },
     {
      "name": "best_variant_name",
      "type": "string",
      "description": "Its name."
     },
     {
      "name": "best_variant_base_24m_gross_brl",
      "type": "number",
      "description": "Its base case."
     },
     {
      "name": "money",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 20: the base case over 24 months; 2 from R$150k, 3 from R$400k, 4 from R$1M, 5 from R$3M (no family reached 5)."
     },
     {
      "name": "salesability",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 15: 5 = strangers buy online without talking to anyone and acquisition costs at most 30% of first-year revenue; 1 = needs sales calls or procurement."
     },
     {
      "name": "bureaucracy",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 15: 5 = none of the nine exposures (fiscal documents, a sector regulator, a professional council, sensitive data in the seller's cloud, government systems, customers' money, platform approvals, liability for professional outputs, partners or procurement); 1 = several severe ones."
     },
     {
      "name": "ops",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 10: 5 = no human support and no rule updates by hand; 1 = continuous compliance tracking and support for each customer."
     },
     {
      "name": "recurrence",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 10: 5 = most revenue recurs with low churn; 1 = a single purchase."
     },
     {
      "name": "speed",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 10: 5 = first sales within two weeks; 1 = more than four months."
     },
     {
      "name": "asymmetry",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 10: 5 = a concrete reason to win now (a deadline, a reform gap, incumbents' pricing); 1 = none."
     },
     {
      "name": "durability",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 5: 5 = demand lasts five years or more and clones can't erase margins quickly; 1 = under a year."
     },
     {
      "name": "risk",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 5: 5 = low legal, liability, platform and ad-policy risk; 1 = high."
     },
     {
      "name": "n_variants",
      "type": "integer",
      "description": "Number of variants merged into the family."
     },
     {
      "name": "variants",
      "type": "string",
      "description": "The variants as source:id=composite, separated by ';'."
     },
     {
      "name": "reports",
      "type": "string",
      "description": "Reports the variants come from."
     },
     {
      "name": "domain",
      "type": "string",
      "description": "master (sold under the main brand) or a separate domain, with the reason."
     },
     {
      "name": "note",
      "type": "string",
      "description": "Merge note."
     },
     {
      "name": "adjusted",
      "type": "string",
      "description": "Whether a score was cut by hand."
     },
     {
      "name": "preliminary",
      "type": "string",
      "description": "Whether the card was preliminary."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/families.csv"
    }
   ],
   "group": "ranking",
   "rows": 222
  },
  {
   "name": "r50-cards",
   "path": "tables/r50-cards.csv",
   "profile": "tabular-data-resource",
   "title": "The 331 R50 cards as written",
   "description": "Every R50 card as its agent wrote it, with the evidence behind its scores (key evidence, money method, bureaucracy items), the hand adjustments, and its bracketed sources resolved to URLs from the report's own sources section.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 439742,
   "hash": "sha256:542ac8cc3b22a88d731a279842f48d8593b1c277dd9ddd096d5a770be035628a",
   "schema": {
    "fields": [
     {
      "name": "card_key",
      "type": "string",
      "description": "source:id, unique across agents; joins ideas.source_id and the R50 variants file."
     },
     {
      "name": "report_id",
      "type": "string",
      "description": "Research report id (W1-01 to W4-17); joins tables/reports.csv."
     },
     {
      "name": "family_id",
      "type": "string",
      "description": "R50 product family id; joins tables/families.csv."
     },
     {
      "name": "id",
      "type": "string",
      "description": "Card id as the agent wrote it."
     },
     {
      "name": "name",
      "type": "string",
      "description": "Variant name."
     },
     {
      "name": "delivery_model",
      "type": "string",
      "description": "offline (runs on the buyer's machine), hybrid (local with an optional cloud part), cloud-light (a small serverless service) or api."
     },
     {
      "name": "revenue_model",
      "type": "string",
      "description": "one-time, subscription or mixed."
     },
     {
      "name": "buyer_type",
      "type": "string",
      "description": "consumer, MEI, SMB, professional or B2B."
     },
     {
      "name": "sales_motion",
      "type": "string",
      "description": "How it sells: search, ads, marketplace, channel, outbound..."
     },
     {
      "name": "entry_price_brl",
      "type": "number",
      "description": "Entry price in reais: a one-time price, the first plan or a starter offer."
     },
     {
      "name": "recurring_price_brl_month",
      "type": "string",
      "description": "Monthly price in reais of the recurring plan, if any."
     },
     {
      "name": "base_24m_gross_brl",
      "type": "number",
      "description": "Base case of gross revenue over the first 24 months, in reais."
     },
     {
      "name": "low_24m_gross_brl",
      "type": "number",
      "description": "Low case of gross revenue over 24 months, in reais."
     },
     {
      "name": "high_24m_gross_brl",
      "type": "number",
      "description": "High case of gross revenue over 24 months, in reais."
     },
     {
      "name": "p_base",
      "type": "number",
      "description": "The card's probability of reaching at least the base case."
     },
     {
      "name": "money",
      "type": "integer",
      "description": "R50 criterion, 1-5, weight 20: the base case over 24 months; 2 from R$150k, 3 from R$400k, 4 from R$1M, 5 from R$3M (no family reached 5)."
     },
     {
      "name": "salesability",
      "type": "integer",
      "description": "R50 criterion, 1-5, weight 15: 5 = strangers buy online without talking to anyone and acquisition costs at most 30% of first-year revenue; 1 = needs sales calls or procurement."
     },
     {
      "name": "bureaucracy",
      "type": "integer",
      "description": "R50 criterion, 1-5, weight 15: 5 = none of the nine exposures (fiscal documents, a sector regulator, a professional council, sensitive data in the seller's cloud, government systems, customers' money, platform approvals, liability for professional outputs, partners or procurement); 1 = several severe ones."
     },
     {
      "name": "ops",
      "type": "integer",
      "description": "R50 criterion, 1-5, weight 10: 5 = no human support and no rule updates by hand; 1 = continuous compliance tracking and support for each customer."
     },
     {
      "name": "recurrence",
      "type": "integer",
      "description": "R50 criterion, 1-5, weight 10: 5 = most revenue recurs with low churn; 1 = a single purchase."
     },
     {
      "name": "speed",
      "type": "integer",
      "description": "R50 criterion, 1-5, weight 10: 5 = first sales within two weeks; 1 = more than four months."
     },
     {
      "name": "asymmetry",
      "type": "integer",
      "description": "R50 criterion, 1-5, weight 10: 5 = a concrete reason to win now (a deadline, a reform gap, incumbents' pricing); 1 = none."
     },
     {
      "name": "durability",
      "type": "integer",
      "description": "R50 criterion, 1-5, weight 5: 5 = demand lasts five years or more and clones can't erase margins quickly; 1 = under a year."
     },
     {
      "name": "risk",
      "type": "integer",
      "description": "R50 criterion, 1-5, weight 5: 5 = low legal, liability, platform and ad-policy risk; 1 = high."
     },
     {
      "name": "composite",
      "type": "number",
      "description": "Weighted mean of the nine R50 criteria (weights 20, 15, 15, 10, 10, 10, 10, 5, 5)."
     },
     {
      "name": "verdict",
      "type": "string",
      "description": "TOP (composite 3.8 or more), GOOD (3.3 to 3.79) or NO (lower, or a hard exclusion); earlier stages use their own labels."
     },
     {
      "name": "bureaucracy_items",
      "type": "string",
      "description": "The bureaucracy exposures the card touches (B1-B9) and how the product avoids them."
     },
     {
      "name": "key_evidence",
      "type": "string",
      "description": "The facts the agent cited for the card, as written."
     },
     {
      "name": "money_method",
      "type": "string",
      "description": "How the agent computed the money estimate, as written (present for some agents only)."
     },
     {
      "name": "composite_adjusted",
      "type": "number",
      "description": "Composite after the hand adjustments of the merge."
     },
     {
      "name": "verdict_adjusted",
      "type": "string",
      "description": "Verdict after the adjustments."
     },
     {
      "name": "adjustment_note",
      "type": "string",
      "description": "Why a score was adjusted."
     },
     {
      "name": "sources",
      "type": "string",
      "description": "The card's source references as written (numbers of the report's sources section, or URLs)."
     },
     {
      "name": "n_source_urls",
      "type": "integer",
      "description": "Number of URLs the references resolved to."
     },
     {
      "name": "source_urls",
      "type": "string",
      "description": "The resolved URLs, separated by '|'."
     },
     {
      "name": "other_fields",
      "type": "string",
      "description": "Agent-specific extra columns, as JSON."
     },
     {
      "name": "card_file",
      "type": "string",
      "description": "The agent's file the card was read from."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/r50-cards.csv"
    }
   ],
   "group": "ranking",
   "rows": 331
  },
  {
   "name": "products",
   "path": "tables/products.csv",
   "profile": "tabular-data-resource",
   "title": "The ten products built",
   "description": "The ten products built on 12 October 2026, read from the book's product table: what each engine checks or computes, price, where it runs, tests, the family behind it and the hours its build lane ran.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 3734,
   "hash": "sha256:afdc1dd1a164a3f4ca2ac121f517f8f3bec92ec3447b31d85b7cdaf84dd550fa",
   "schema": {
    "fields": [
     {
      "name": "product",
      "type": "string",
      "description": "Product name."
     },
     {
      "name": "family_id",
      "type": "string",
      "description": "R50 product family id; joins tables/families.csv."
     },
     {
      "name": "family",
      "type": "string",
      "description": "Family short name."
     },
     {
      "name": "rank",
      "type": "integer",
      "description": "Rank of the family in the R50 ranking (1 = best); blank for the module and the distribution channel."
     },
     {
      "name": "score",
      "type": "number"
     },
     {
      "name": "verdict",
      "type": "string",
      "description": "TOP (composite 3.8 or more), GOOD (3.3 to 3.79) or NO (lower, or a hard exclusion); earlier stages use their own labels."
     },
     {
      "name": "delivery_model",
      "type": "string",
      "description": "offline (runs on the buyer's machine), hybrid (local with an optional cloud part), cloud-light (a small serverless service) or api."
     },
     {
      "name": "engine",
      "type": "string",
      "description": "What the product's engine checks or computes."
     },
     {
      "name": "price",
      "type": "string",
      "description": "Launch price as stated in the book."
     },
     {
      "name": "runs",
      "type": "string",
      "description": "Where it runs: the buyer's browser, an encrypted backup, a serverless Worker."
     },
     {
      "name": "tests",
      "type": "integer",
      "description": "Automated tests of the product's own code."
     },
     {
      "name": "family_base_24m_gross_brl",
      "type": "integer",
      "description": "The family's base case over 24 months, in reais."
     },
     {
      "name": "personas",
      "type": "string",
      "description": "Persona codes, main first, separated by '|'; see tables/personas.csv."
     },
     {
      "name": "job",
      "type": "string",
      "description": "What the software does for the buyer: check, calculate, document, schedule, operate, sell, learn, content, data or personal."
     },
     {
      "name": "forced",
      "type": "boolean",
      "description": "true when a legal or regulatory obligation or a dated rule change forces the purchase."
     },
     {
      "name": "legal_basis",
      "type": "string",
      "description": "The law, rule or deadline named, in short form."
     },
     {
      "name": "window",
      "type": "string",
      "description": "The dated rule, season or deadline that forces the purchase."
     },
     {
      "name": "build_started",
      "type": "datetime",
      "format": "any",
      "description": "First commit of the lane, on the same clock as the times in the book."
     },
     {
      "name": "build_ended",
      "type": "datetime",
      "format": "any",
      "description": "Last commit of the lane, on the same clock as the times in the book."
     },
     {
      "name": "build_hours",
      "type": "number",
      "description": "Hours from the build lane's first to last commit."
     },
     {
      "name": "status",
      "type": "string",
      "description": "State on 12 October 2026."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/products.csv"
    }
   ],
   "group": "build",
   "rows": 10
  },
  {
   "name": "findings",
   "path": "tables/findings.csv",
   "profile": "tabular-data-resource",
   "title": "Every summary finding of the 93 reports, classified",
   "description": "1,008 findings extracted verbatim from the summary or verdict section of each research report, with the URLs they cite and whether those answered, plus a classification pass: an English headline, the asymmetry type, polarity (opportunity, barrier, context), personas, the date a rule forces a decision, the kind of evidence and a strength from 1 to 3.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 1159003,
   "hash": "sha256:c98605747b2a146d2fb8934386576c6f27f639f53aac3bf81abe7676f33b9e28",
   "schema": {
    "fields": [
     {
      "name": "finding_id",
      "type": "string",
      "description": "F0001 to F1008, in report order."
     },
     {
      "name": "report_id",
      "type": "string",
      "description": "Research report id (W1-01 to W4-17); joins tables/reports.csv."
     },
     {
      "name": "wave",
      "type": "integer",
      "description": "Wave of the report."
     },
     {
      "name": "report_title",
      "type": "string",
      "description": "Title of the report."
     },
     {
      "name": "section",
      "type": "string",
      "description": "The summary or verdict section the finding was taken from."
     },
     {
      "name": "n",
      "type": "integer",
      "description": "Position of the finding in that section."
     },
     {
      "name": "lead",
      "type": "string",
      "description": "The finding's bold lead, if it has one."
     },
     {
      "name": "title_en",
      "type": "string",
      "description": "English headline from the classification pass (at most 14 words)."
     },
     {
      "name": "type",
      "type": "string",
      "description": "Primary asymmetry type; see tables/asymmetries.csv."
     },
     {
      "name": "type2",
      "type": "string",
      "description": "Optional second asymmetry type."
     },
     {
      "name": "polarity",
      "type": "string",
      "description": "opportunity (opens a way to create or sell value), barrier (blocks or kills an option) or context."
     },
     {
      "name": "personas",
      "type": "string",
      "description": "Persona codes, main first, separated by '|'; see tables/personas.csv."
     },
     {
      "name": "forcing_date",
      "type": "date",
      "format": "any",
      "description": "Date a stated rule forces a decision (YYYY-MM-DD; a month gives day 01, a year 01-01)."
     },
     {
      "name": "evidence",
      "type": "string",
      "description": "Main kind of evidence: law, official-data, marketplace, search, complaints, pricing, platform-policy, cost, global, model, test or mixed."
     },
     {
      "name": "strength",
      "type": "integer",
      "description": "3 = quantified, sourced and directly actionable; 2 = useful but partial; 1 = background."
     },
     {
      "name": "text",
      "type": "string",
      "description": "The finding, verbatim (after the privacy scrub)."
     },
     {
      "name": "refs",
      "type": "string",
      "description": "Citation labels in the text ([3], [S12])."
     },
     {
      "name": "refs_unresolved",
      "type": "string",
      "description": "Labels with no entry in the report's sources."
     },
     {
      "name": "urls",
      "type": "string",
      "description": "URLs the finding cites, directly or through its labels, separated by '|'."
     },
     {
      "name": "n_urls",
      "type": "integer",
      "description": "Number of URLs."
     },
     {
      "name": "n_urls_ok",
      "type": "integer",
      "description": "How many answered the link check."
     },
     {
      "name": "n_urls_blocked",
      "type": "integer",
      "description": "How many refused an automated reader (the page usually exists)."
     },
     {
      "name": "n_urls_dead",
      "type": "integer",
      "description": "How many were gone, failed or unreachable."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/findings.csv"
    }
   ],
   "group": "insights",
   "rows": 1008
  },
  {
   "name": "asymmetries",
   "path": "tables/asymmetries.csv",
   "profile": "tabular-data-resource",
   "title": "The fourteen asymmetry types",
   "description": "For each type of asymmetry (forced decision, missing tool, price gap, demand signal...): its definition, how many findings carry it, their polarity and strength, the reports, personas and kinds of evidence behind it, and the three strongest examples.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 6826,
   "hash": "sha256:d156bbf28fdc23a8320ef029e4e8415bf37967f9420eb102fcf2fcecde28bbe2",
   "schema": {
    "fields": [
     {
      "name": "type",
      "type": "string",
      "description": "Asymmetry code."
     },
     {
      "name": "definition",
      "type": "string",
      "description": "What the type means."
     },
     {
      "name": "findings",
      "type": "integer",
      "description": "Findings with this primary type."
     },
     {
      "name": "findings_any",
      "type": "integer",
      "description": "Findings with this type as primary or second type."
     },
     {
      "name": "opportunity",
      "type": "integer",
      "description": "Of the primary findings, how many are opportunities."
     },
     {
      "name": "barrier",
      "type": "integer",
      "description": "How many are barriers."
     },
     {
      "name": "context",
      "type": "integer",
      "description": "How many are context."
     },
     {
      "name": "strength3",
      "type": "integer",
      "description": "How many have strength 3."
     },
     {
      "name": "reports",
      "type": "integer",
      "description": "Distinct reports with a primary finding of this type."
     },
     {
      "name": "waves",
      "type": "string",
      "description": "Waves those reports belong to."
     },
     {
      "name": "top_personas",
      "type": "string",
      "description": "Most frequent personas of those findings."
     },
     {
      "name": "top_evidence",
      "type": "string",
      "description": "Most frequent kinds of evidence."
     },
     {
      "name": "examples",
      "type": "string",
      "description": "The strongest three findings: id and headline."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/asymmetries.csv"
    }
   ],
   "group": "insights",
   "rows": 14
  },
  {
   "name": "personas",
   "path": "tables/personas.csv",
   "profile": "tabular-data-resource",
   "title": "Persona atlas",
   "description": "The 28 buyer personas: population with its basis (CNAE subclasses of the open CNPJ data, MEI and Simples counts, research figures), MEI share, recent openings, findings by polarity and asymmetry, the next dates a rule forces a decision on them, obligations, families and top-50 families aimed at them, their money and the products built.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 9125,
   "hash": "sha256:89bdfdc5234e787d0e54ce4ce29411642196a8b447ce33cd3a6ec9c1660c282c",
   "schema": {
    "fields": [
     {
      "name": "persona",
      "type": "string",
      "description": "Persona code."
     },
     {
      "name": "label",
      "type": "string",
      "description": "What the code stands for."
     },
     {
      "name": "wage_tier",
      "type": "string",
      "description": "Whose time the value model prices: employer, own (own-account worker) or person."
     },
     {
      "name": "population",
      "type": "integer",
      "description": "Head count used for the persona (see population_basis)."
     },
     {
      "name": "population_basis",
      "type": "string",
      "description": "Where the population comes from."
     },
     {
      "name": "cnae_subclasses",
      "type": "integer",
      "description": "CNAE subclasses counted under the persona (tables/persona-cnae.csv)."
     },
     {
      "name": "active_establishments",
      "type": "integer",
      "description": "Active establishments in those subclasses (Receita Federal open CNPJ data, Aug-Sep 2026)."
     },
     {
      "name": "mei_share",
      "type": "number",
      "description": "Share of those establishments that are MEI."
     },
     {
      "name": "opened_2024_plus",
      "type": "integer",
      "description": "Active establishments opened since 2024."
     },
     {
      "name": "no_email_share",
      "type": "number",
      "description": "Share with no e-mail address on record."
     },
     {
      "name": "findings",
      "type": "integer",
      "description": "Findings that name the persona."
     },
     {
      "name": "findings_opportunity",
      "type": "integer",
      "description": "Of those, opportunities."
     },
     {
      "name": "findings_barrier",
      "type": "integer",
      "description": "Of those, barriers."
     },
     {
      "name": "findings_forced",
      "type": "integer",
      "description": "Of those, forced decisions (primary or second type)."
     },
     {
      "name": "top_asymmetries",
      "type": "string",
      "description": "Most frequent asymmetry types in those findings."
     },
     {
      "name": "next_forcing_dates",
      "type": "string",
      "description": "The next dates (from 12 Oct 2026) a finding says a rule forces a decision on the persona."
     },
     {
      "name": "obligations",
      "type": "integer",
      "description": "Dated obligations of tables/obligations.csv that name the persona."
     },
     {
      "name": "families_main",
      "type": "integer",
      "description": "Product families whose main persona it is."
     },
     {
      "name": "families_any",
      "type": "integer",
      "description": "Product families that name it at all."
     },
     {
      "name": "top50_families",
      "type": "integer",
      "description": "Top-50 families whose main persona it is."
     },
     {
      "name": "families_base_24m_gross_brl",
      "type": "integer",
      "description": "Sum of the base cases of the families whose main persona it is (the families are alternatives, so this is a size of opportunity, not a forecast)."
     },
     {
      "name": "best_families",
      "type": "string",
      "description": "Best-ranked families aimed at it."
     },
     {
      "name": "built_products",
      "type": "string",
      "description": "Products built for it."
     },
     {
      "name": "idea_records",
      "type": "integer",
      "description": "Idea records of all stages that name it."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/personas.csv"
    }
   ],
   "group": "population",
   "rows": 28
  },
  {
   "name": "persona-cnae",
   "path": "tables/persona-cnae.csv",
   "profile": "tabular-data-resource",
   "title": "CNAE subclasses assigned to personas",
   "description": "All 1,337 CNAE subclasses with their active establishments and the persona each is counted under (first matching rule wins; blank when no persona fits), so that every persona population can be audited.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 98308,
   "hash": "sha256:b758747775258e16373bce5c1843648838795d2772802b50bf5d37958a0ef320",
   "schema": {
    "fields": [
     {
      "name": "cnae",
      "type": "string",
      "description": "CNAE 2.3 subclass code (7 digits)."
     },
     {
      "name": "description",
      "type": "string",
      "description": "Its description."
     },
     {
      "name": "persona",
      "type": "string",
      "description": "Persona it is counted under; blank when none fits."
     },
     {
      "name": "active_establishments",
      "type": "integer",
      "description": "Active establishments."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/persona-cnae.csv"
    }
   ],
   "group": "population",
   "rows": 1337
  },
  {
   "name": "obligations",
   "path": "tables/obligations.csv",
   "profile": "tabular-data-resource",
   "title": "Dated obligations that force decisions",
   "description": "The 78 dated events of the two calendars (tax reform and other forced demand) in one table: date, event, legal basis, who is forced and how many (as written and parsed), penalty, the free government tool and its quality, paid tools, the software job, personas and the gap index.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 42643,
   "hash": "sha256:f55d0377d0081a9988397004f177af5d8a3ea3b1e356a5a889d33823460ca521",
   "schema": {
    "fields": [
     {
      "name": "obligation_id",
      "type": "string",
      "description": "Calendar row id (C.. for the reform calendar, CAL-.. for the forced-demand calendar)."
     },
     {
      "name": "calendar",
      "type": "string",
      "description": "Which calendar."
     },
     {
      "name": "date",
      "type": "string",
      "description": "Date or period as written."
     },
     {
      "name": "date_status",
      "type": "string",
      "description": "fixed, indicative, in force, missed, pending..."
     },
     {
      "name": "event",
      "type": "string",
      "description": "The obligation or rule change."
     },
     {
      "name": "en",
      "type": "string",
      "description": "English gloss written by the tagging pass (at most 14 words)."
     },
     {
      "name": "legal_basis",
      "type": "string",
      "description": "The law, rule or deadline named, in short form."
     },
     {
      "name": "who",
      "type": "string",
      "description": "Who is forced."
     },
     {
      "name": "personas",
      "type": "string",
      "description": "Persona codes, main first, separated by '|'; see tables/personas.csv."
     },
     {
      "name": "population_text",
      "type": "string",
      "description": "How many, as written."
     },
     {
      "name": "population_n",
      "type": "integer",
      "description": "The first head count in population_text, parsed; blank when the text gives none."
     },
     {
      "name": "penalty",
      "type": "string",
      "description": "Penalty or consequence."
     },
     {
      "name": "free_gov_tool",
      "type": "string",
      "description": "The free tool the government offers."
     },
     {
      "name": "free_tool_quality_1to5",
      "type": "integer",
      "description": "Its quality, 1-5 (reform calendar only)."
     },
     {
      "name": "paid_tools",
      "type": "string",
      "description": "Paid tools and their prices."
     },
     {
      "name": "software_job",
      "type": "string",
      "description": "Job code of the software that would help."
     },
     {
      "name": "software_jobs_text",
      "type": "string",
      "description": "The software jobs as written."
     },
     {
      "name": "gap_0_100",
      "type": "number",
      "description": "Gap index of the reform calendar: population, pain, urgency, weakness of the free tool and low bureaucracy."
     },
     {
      "name": "fit",
      "type": "string",
      "description": "Fit for a small seller (forced-demand calendar)."
     },
     {
      "name": "candidates",
      "type": "string",
      "description": "Cards written for it."
     },
     {
      "name": "source_report",
      "type": "string",
      "description": "The report that built the row."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/obligations.csv"
    }
   ],
   "group": "regulation",
   "rows": 78
  },
  {
   "name": "sources",
   "path": "tables/sources.csv",
   "profile": "tabular-data-resource",
   "title": "Every cited URL and whether it answered",
   "description": "All 8,709 distinct URLs cited in the published research, with host, kind of source, citations, the documents and findings that cite them, and the outcome of a link check on 12-13 October 2026 (ok, blocked by a bot wall, gone, server error, unreachable).",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 1449621,
   "hash": "sha256:9861354c3d2029c5302fc222a4b98f31b7603922b06a42880ffb11562b6649e5",
   "schema": {
    "fields": [
     {
      "name": "url",
      "type": "string",
      "description": "The URL as cited (after the privacy scrub)."
     },
     {
      "name": "host",
      "type": "string",
      "description": "Its host."
     },
     {
      "name": "source_kind",
      "type": "string",
      "description": "government, marketplace, complaints, archive, code-and-models, video-and-social, news-and-trade-press, vendor-docs-and-help or company-or-other."
     },
     {
      "name": "citations",
      "type": "integer",
      "description": "Times the URL appears in the published research."
     },
     {
      "name": "documents",
      "type": "integer",
      "description": "Number of research documents citing it."
     },
     {
      "name": "doc_ids",
      "type": "string",
      "description": "Those documents."
     },
     {
      "name": "findings",
      "type": "integer",
      "description": "Findings citing it."
     },
     {
      "name": "finding_ids",
      "type": "string",
      "description": "Up to 20 of those findings."
     },
     {
      "name": "outcome",
      "type": "string",
      "description": "ok, blocked (401/403/429 or a bot wall), gone (404/410), server (5xx), error (DNS, TLS, timeout) or withheld (cut by the privacy scrub)."
     },
     {
      "name": "http_status",
      "type": "integer",
      "description": "Final HTTP status."
     },
     {
      "name": "final_url",
      "type": "string",
      "description": "Where redirects ended, when different."
     },
     {
      "name": "tls_unverified",
      "type": "integer",
      "description": "1 when the answer came only without certificate verification."
     },
     {
      "name": "error",
      "type": "string",
      "description": "The error, when there was no answer."
     },
     {
      "name": "checked_at",
      "type": "datetime",
      "format": "any",
      "description": "When it was checked (UTC)."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/sources.csv"
    }
   ],
   "group": "evidence",
   "rows": 8709
  },
  {
   "name": "reports",
   "path": "tables/reports.csv",
   "profile": "tabular-data-resource",
   "title": "The 93 research reports",
   "description": "One row per research report: wave, title, topic, words, when the agent ran, findings and their polarity, main asymmetry, URLs cited and how many answered, idea records, families and top-50 families it fed, and products built from it.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 24195,
   "hash": "sha256:0f2ebb084a14abbc78215651275308e03a895795afd6c7df65577de08616954b",
   "schema": {
    "fields": [
     {
      "name": "report_id",
      "type": "string",
      "description": "Research report id (W1-01 to W4-17); joins tables/reports.csv."
     },
     {
      "name": "wave",
      "type": "integer"
     },
     {
      "name": "title",
      "type": "string",
      "description": "First heading of the report."
     },
     {
      "name": "topic",
      "type": "string",
      "description": "Topic from the file name."
     },
     {
      "name": "file",
      "type": "string",
      "description": "Path of the report in the release."
     },
     {
      "name": "words",
      "type": "integer",
      "description": "Words in the report."
     },
     {
      "name": "started",
      "type": "datetime",
      "format": "any",
      "description": "Start, ISO 8601, on the same clock as the times in the book."
     },
     {
      "name": "ended",
      "type": "datetime",
      "format": "any",
      "description": "End, ISO 8601, on the same clock as the times in the book."
     },
     {
      "name": "minutes",
      "type": "integer",
      "description": "Minutes from the agent's first saved file to its report."
     },
     {
      "name": "findings",
      "type": "integer",
      "description": "Findings extracted from its summary."
     },
     {
      "name": "findings_opportunity",
      "type": "integer",
      "description": "Of those, opportunities."
     },
     {
      "name": "findings_barrier",
      "type": "integer",
      "description": "Of those, barriers."
     },
     {
      "name": "main_asymmetry",
      "type": "string",
      "description": "Most frequent asymmetry type of its findings."
     },
     {
      "name": "urls",
      "type": "integer",
      "description": "Distinct URLs it cites."
     },
     {
      "name": "urls_ok",
      "type": "integer",
      "description": "How many answered."
     },
     {
      "name": "urls_blocked",
      "type": "integer",
      "description": "How many refused an automated reader."
     },
     {
      "name": "urls_dead",
      "type": "integer",
      "description": "How many were gone, failed or unreachable."
     },
     {
      "name": "idea_records",
      "type": "integer",
      "description": "Idea records it produced."
     },
     {
      "name": "families",
      "type": "integer",
      "description": "R50 families with a variant from it."
     },
     {
      "name": "top50_families",
      "type": "integer",
      "description": "Of those, in the top 50."
     },
     {
      "name": "best_family_rank",
      "type": "integer",
      "description": "Rank of its best family."
     },
     {
      "name": "built_products",
      "type": "string",
      "description": "Products built from its families."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/reports.csv"
    }
   ],
   "group": "evidence",
   "rows": 93
  },
  {
   "name": "agent-runs",
   "path": "tables/agent-runs.csv",
   "profile": "tabular-data-resource",
   "title": "Research agent runs",
   "description": "The 103 agent runs of the search (93 research reports and 10 R50 re-scores): start, end, minutes and words.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 10305,
   "hash": "sha256:6510ec94b37053ff1388225dc015df9513d243a31d4f3e4ceb8dc49c0986e52f",
   "schema": {
    "fields": [
     {
      "name": "run_id",
      "type": "string",
      "description": "W1-01 to W4-17 for research reports; R50-W3-xx for the re-scoring runs."
     },
     {
      "name": "wave",
      "type": "string"
     },
     {
      "name": "kind",
      "type": "string",
      "description": "research or rescore."
     },
     {
      "name": "started",
      "type": "datetime",
      "format": "any",
      "description": "Start, ISO 8601, on the same clock as the times in the book."
     },
     {
      "name": "ended",
      "type": "datetime",
      "format": "any",
      "description": "End, ISO 8601, on the same clock as the times in the book."
     },
     {
      "name": "minutes",
      "type": "integer",
      "description": "Duration in minutes."
     },
     {
      "name": "words",
      "type": "integer",
      "description": "Words in the report (0 for re-scores, which wrote tables)."
     },
     {
      "name": "output_file",
      "type": "string",
      "description": "The run's report or table in the project."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/agent-runs.csv"
    }
   ],
   "group": "process",
   "rows": 103
  },
  {
   "name": "build-lanes",
   "path": "tables/build-lanes.csv",
   "profile": "tabular-data-resource",
   "title": "Build lanes",
   "description": "The twelve build lanes of Monday (two platform versions and ten products), from first to last commit.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 1074,
   "hash": "sha256:42db280435eab633dbdbf89defb1008a86a401cfa20a1df3491f775f517ac525",
   "schema": {
    "fields": [
     {
      "name": "lane",
      "type": "string",
      "description": "Lane label."
     },
     {
      "name": "product",
      "type": "string",
      "description": "Product built in the lane."
     },
     {
      "name": "family_id",
      "type": "string",
      "description": "R50 product family id; joins tables/families.csv."
     },
     {
      "name": "kind",
      "type": "string",
      "description": "platform or product."
     },
     {
      "name": "started",
      "type": "datetime",
      "format": "any",
      "description": "Start, ISO 8601, on the same clock as the times in the book."
     },
     {
      "name": "ended",
      "type": "datetime",
      "format": "any",
      "description": "End, ISO 8601, on the same clock as the times in the book."
     },
     {
      "name": "hours",
      "type": "number",
      "description": "Hours from first to last commit."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/build-lanes.csv"
    }
   ],
   "group": "process",
   "rows": 12
  },
  {
   "name": "value-estimates",
   "path": "tables/value-estimates.csv",
   "profile": "tabular-data-resource",
   "title": "Time saved per buyer, top 50 (estimates)",
   "description": "For each top-50 family: how the buyer does the job today, uses per year, minutes saved per use and hours saved per year (low, base, high), the main value the model leaves out (fines, money, sales), an incumbent price when the card names one, and a confidence. Written by a language-model pass from each card; estimates, not observations.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 13134,
   "hash": "sha256:b1a4c52d15c71b4ae8c1c0f450ed9d82c68b53696a7ec6f6305a3f96956e81ea",
   "schema": {
    "fields": [
     {
      "name": "family_id",
      "type": "string",
      "description": "R50 product family id; joins tables/families.csv."
     },
     {
      "name": "rank",
      "type": "integer",
      "description": "Rank of the family in the R50 ranking (1 = best); blank for the module and the distribution channel."
     },
     {
      "name": "job_today",
      "type": "string",
      "description": "How the buyer does the job without the product."
     },
     {
      "name": "uses_per_year",
      "type": "integer",
      "description": "Times a typical buyer does the job per year."
     },
     {
      "name": "minutes_saved_per_use_low",
      "type": "integer",
      "description": "Minutes of the buyer's own work saved per use, low."
     },
     {
      "name": "minutes_saved_per_use_base",
      "type": "integer",
      "description": "Same, base."
     },
     {
      "name": "minutes_saved_per_use_high",
      "type": "integer",
      "description": "Same, high."
     },
     {
      "name": "hours_saved_per_year_low",
      "type": "number",
      "description": "uses_per_year x minutes / 60, low."
     },
     {
      "name": "hours_saved_per_year_base",
      "type": "number",
      "description": "Same, base."
     },
     {
      "name": "hours_saved_per_year_high",
      "type": "number",
      "description": "Same, high."
     },
     {
      "name": "other_value",
      "type": "string",
      "description": "The main value the model leaves out: penalty, money, revenue or none."
     },
     {
      "name": "other_value_note",
      "type": "string",
      "description": "What it is, with a number from the card when there is one."
     },
     {
      "name": "alt_paid_brl_month",
      "type": "number",
      "description": "Monthly price of an equivalent paid tool or service named on the card."
     },
     {
      "name": "confidence",
      "type": "string",
      "description": "low, medium or high."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/value-estimates.csv"
    }
   ],
   "group": "value",
   "rows": 50
  },
  {
   "name": "economic-value",
   "path": "tables/economic-value.csv",
   "profile": "tabular-data-resource",
   "title": "Value to buyers per family",
   "description": "For each of the 220 product families, in a low, base and high scenario: 24-month revenue, revenue per buyer, buyers, hours saved, the hourly value of the buyer's time, the value of that time and what buyers keep after paying. Everything the model leaves out (fines, extra sales, money saved) makes these floors.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 69146,
   "hash": "sha256:21940a444379001b66e5fea10a48fa624d7788972bad02a5ae960f1cdf79c33b",
   "schema": {
    "fields": [
     {
      "name": "family_id",
      "type": "string",
      "description": "R50 product family id; joins tables/families.csv."
     },
     {
      "name": "rank",
      "type": "integer",
      "description": "Rank of the family in the R50 ranking (1 = best); blank for the module and the distribution channel."
     },
     {
      "name": "short_name",
      "type": "string"
     },
     {
      "name": "top50",
      "type": "boolean"
     },
     {
      "name": "built_as",
      "type": "string"
     },
     {
      "name": "persona",
      "type": "string",
      "description": "Main persona (all-smb when untagged)."
     },
     {
      "name": "wage_tier",
      "type": "string",
      "description": "Whose time is priced: employer, own or person."
     },
     {
      "name": "job",
      "type": "string",
      "description": "What the software does for the buyer: check, calculate, document, schedule, operate, sell, learn, content, data or personal."
     },
     {
      "name": "forced",
      "type": "boolean",
      "description": "true when a legal or regulatory obligation or a dated rule change forces the purchase."
     },
     {
      "name": "priced",
      "type": "boolean",
      "description": "false when buyers pay no price (ads, leads, fees or sponsorship); such rows have no buyers or value and stay out of the sums."
     },
     {
      "name": "hours_source",
      "type": "string",
      "description": "family estimate (top 50) or the median for the family's job."
     },
     {
      "name": "other_value",
      "type": "string",
      "description": "The main value left out (top 50 only)."
     },
     {
      "name": "entry_price_brl",
      "type": "number",
      "description": "Entry price in reais: a one-time price, the first plan or a starter offer."
     },
     {
      "name": "recurring_price_brl_month",
      "type": "number",
      "description": "Monthly price in reais of the recurring plan, if any."
     },
     {
      "name": "revenue_low",
      "type": "integer",
      "description": "24-month gross revenue, low scenario (the card's low case)."
     },
     {
      "name": "revenue_per_buyer_low",
      "type": "number",
      "description": "What a buyer pays in the window: entry price plus monthly price x paid months."
     },
     {
      "name": "buyers_low",
      "type": "number",
      "description": "revenue / revenue per buyer."
     },
     {
      "name": "hours_per_buyer_year_low",
      "type": "number",
      "description": "Hours saved per buyer per year."
     },
     {
      "name": "hours_saved_low",
      "type": "number",
      "description": "buyers x hours a year x years of use inside the window."
     },
     {
      "name": "wage_low",
      "type": "number",
      "description": "Hourly value of the buyer's time in reais (PNAD Contínua)."
     },
     {
      "name": "buyer_time_value_low",
      "type": "number",
      "description": "hours saved x wage, in reais: the gross value of the time saved."
     },
     {
      "name": "buyer_net_low",
      "type": "integer",
      "description": "Time value minus what buyers paid."
     },
     {
      "name": "revenue_base",
      "type": "integer",
      "description": "Same, base."
     },
     {
      "name": "revenue_per_buyer_base",
      "type": "number",
      "description": "Same, base."
     },
     {
      "name": "buyers_base",
      "type": "number",
      "description": "Same, base."
     },
     {
      "name": "hours_per_buyer_year_base",
      "type": "number",
      "description": "Same, base."
     },
     {
      "name": "hours_saved_base",
      "type": "number",
      "description": "Same, base."
     },
     {
      "name": "wage_base",
      "type": "number",
      "description": "Same, base."
     },
     {
      "name": "buyer_time_value_base",
      "type": "integer",
      "description": "Same, base."
     },
     {
      "name": "buyer_net_base",
      "type": "integer",
      "description": "Same, base."
     },
     {
      "name": "revenue_high",
      "type": "integer",
      "description": "Same, high."
     },
     {
      "name": "revenue_per_buyer_high",
      "type": "number",
      "description": "Same, high."
     },
     {
      "name": "buyers_high",
      "type": "number",
      "description": "Same, high."
     },
     {
      "name": "hours_per_buyer_year_high",
      "type": "number",
      "description": "Same, high."
     },
     {
      "name": "hours_saved_high",
      "type": "integer",
      "description": "Same, high."
     },
     {
      "name": "wage_high",
      "type": "number",
      "description": "Same, high."
     },
     {
      "name": "buyer_time_value_high",
      "type": "integer",
      "description": "Same, high."
     },
     {
      "name": "buyer_net_high",
      "type": "integer",
      "description": "Same, high."
     },
     {
      "name": "value_to_price_base",
      "type": "number",
      "description": "Time value over revenue, base scenario."
     },
     {
      "name": "note",
      "type": "string",
      "description": "Flag when time saved alone is worth less than the price."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/economic-value.csv"
    }
   ],
   "group": "value",
   "rows": 220
  },
  {
   "name": "economic-value-summary",
   "path": "tables/economic-value-summary.csv",
   "profile": "tabular-data-resource",
   "title": "Value to Brazil, summed",
   "description": "The value model summed over the ten built products, the top 50 and all 220 product families, per scenario, with the split of revenue between the state (tax), payment platforms, ad platforms and the seller at the base shares.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 1308,
   "hash": "sha256:5c92257dabe08be1fe1664b4b551f06de7e3e81ae23bdc48f3fe26a2ec03b39c",
   "schema": {
    "fields": [
     {
      "name": "scope",
      "type": "string",
      "description": "built (10), top 50 or all 220 products."
     },
     {
      "name": "scenario",
      "type": "string",
      "description": "low, base or high; low and high combine every low or every high input, so they bound the estimate rather than give a confidence interval."
     },
     {
      "name": "families",
      "type": "integer",
      "description": "Families summed: those whose buyers pay a price."
     },
     {
      "name": "families_unpriced",
      "type": "integer",
      "description": "Families in the scope left out because buyers pay no price."
     },
     {
      "name": "revenue_unpriced_24m",
      "type": "integer",
      "description": "Their 24-month revenue, not in revenue_24m."
     },
     {
      "name": "revenue_24m",
      "type": "integer",
      "description": "Gross revenue over 24 months, in reais."
     },
     {
      "name": "buyers_24m",
      "type": "integer",
      "description": "Buyers served."
     },
     {
      "name": "hours_saved_24m",
      "type": "integer",
      "description": "Hours of buyers' work saved."
     },
     {
      "name": "buyer_time_value_24m",
      "type": "integer",
      "description": "Value of those hours, in reais."
     },
     {
      "name": "buyer_time_value_at_own_account_rate_24m",
      "type": "integer",
      "description": "The same hours valued at the own-account rate for every buyer: the floor of the wage assumption."
     },
     {
      "name": "buyer_net_24m",
      "type": "integer",
      "description": "What buyers keep after paying."
     },
     {
      "name": "to_state_tax",
      "type": "integer",
      "description": "Seller's taxes on the revenue."
     },
     {
      "name": "to_payment_platforms",
      "type": "integer",
      "description": "Checkout and payment fees."
     },
     {
      "name": "to_ad_platforms",
      "type": "integer",
      "description": "Paid acquisition."
     },
     {
      "name": "to_seller_before_costs",
      "type": "integer",
      "description": "What remains for the seller before hosting, support and its own time."
     },
     {
      "name": "value_to_price",
      "type": "number",
      "description": "buyer_time_value_24m / revenue_24m."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/economic-value-summary.csv"
    }
   ],
   "group": "value",
   "rows": 9
  },
  {
   "name": "economic-value-split",
   "path": "tables/economic-value-split.csv",
   "profile": "tabular-data-resource",
   "title": "Where the revenue goes",
   "description": "The low, base and high shares of revenue that go to the state as the seller's tax, to payment platforms and to ad platforms, with the table each comes from.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 591,
   "hash": "sha256:f1463a5b3f327e4aba3dde620b642304dff445f78b276facb085a8428caf2905",
   "schema": {
    "fields": [
     {
      "name": "flow",
      "type": "string",
      "description": "The column of economic-value-summary the share fills."
     },
     {
      "name": "share_low",
      "type": "number",
      "description": "Lowest share of revenue."
     },
     {
      "name": "share_base",
      "type": "number",
      "description": "Base share, the one the summary uses in every scenario."
     },
     {
      "name": "share_high",
      "type": "number",
      "description": "Highest share."
     },
     {
      "name": "basis",
      "type": "string",
      "description": "Where the shares come from."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/economic-value-split.csv"
    }
   ],
   "group": "value",
   "rows": 3
  },
  {
   "name": "forced-decisions-stake",
   "path": "tables/forced-decisions-stake.csv",
   "profile": "tabular-data-resource",
   "title": "What an hour of each forced decision is worth",
   "description": "The 24 obligations dated in the next 12 months whose population was counted: how many must decide (corrected where the source counts something else), whose time it is and what one hour of each decision is worth across them at PNAD hourly earnings.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 7830,
   "hash": "sha256:e1ea2d5700dd9e24adc5395a5f9ef5c68d1d88c364d2424ae9544d404b269589",
   "schema": {
    "fields": [
     {
      "name": "obligation_id",
      "type": "string",
      "description": "Row of tables/obligations.csv."
     },
     {
      "name": "date",
      "type": "string",
      "description": "Date as written in the calendar."
     },
     {
      "name": "event",
      "type": "string",
      "description": "What is forced, in English."
     },
     {
      "name": "legal_basis",
      "type": "string",
      "description": "Law, decree or ruling."
     },
     {
      "name": "persona",
      "type": "string",
      "description": "First persona the obligation falls on."
     },
     {
      "name": "wage_tier",
      "type": "string",
      "description": "Whose time is priced: employer, own or person."
     },
     {
      "name": "deciders",
      "type": "integer",
      "description": "How many must decide: the calendar's population, corrected where it counts something else."
     },
     {
      "name": "deciders_basis",
      "type": "string",
      "description": "What the count is."
     },
     {
      "name": "upper_bound",
      "type": "boolean",
      "description": "true when the count includes people the obligation may not reach (\"part of\", \"subset of\")."
     },
     {
      "name": "penalty",
      "type": "string",
      "description": "Penalty or consequence of missing it."
     },
     {
      "name": "software_job",
      "type": "string",
      "description": "The software job it creates."
     },
     {
      "name": "candidates",
      "type": "string",
      "description": "Ideas or families that answer it."
     },
     {
      "name": "wage_low",
      "type": "number",
      "description": "Hourly earnings of the deciders, low (PNAD Contínua, 2nd quarter 2026)."
     },
     {
      "name": "value_of_one_hour_low",
      "type": "integer",
      "description": "deciders x wage: what one hour of the decision is worth across everyone who must make it."
     },
     {
      "name": "wage_base",
      "type": "number",
      "description": "Same, base."
     },
     {
      "name": "value_of_one_hour_base",
      "type": "integer",
      "description": "Same, base."
     },
     {
      "name": "wage_high",
      "type": "number",
      "description": "Same, high."
     },
     {
      "name": "value_of_one_hour_high",
      "type": "integer",
      "description": "Same, high."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/derived/forced-decisions-stake.csv"
    }
   ],
   "group": "value",
   "rows": 24
  },
  {
   "name": "value-assumptions",
   "path": "tables/value-assumptions.csv",
   "profile": "tabular-data-resource",
   "title": "Assumptions of the value model",
   "description": "Every parameter of the value model with low, base and high values, unit, what it applies to, whether it is observed, derived or a judgment, and its source.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 6640,
   "hash": "sha256:da0e2c4f1db6c34e8ce17463aa4142d0909522180c46bd7d399fe1feca7f7d0c",
   "schema": {
    "fields": [
     {
      "name": "id",
      "type": "string",
      "description": "Parameter id."
     },
     {
      "name": "parameter",
      "type": "string",
      "description": "What it is."
     },
     {
      "name": "low",
      "type": "string",
      "description": "Value in the low scenario."
     },
     {
      "name": "base",
      "type": "string",
      "description": "Value in the base scenario."
     },
     {
      "name": "high",
      "type": "string",
      "description": "Value in the high scenario."
     },
     {
      "name": "unit",
      "type": "string",
      "description": "Unit."
     },
     {
      "name": "applies_to",
      "type": "string",
      "description": "Where the model uses it."
     },
     {
      "name": "kind",
      "type": "string",
      "description": "observed, derived, judgment or exclusion."
     },
     {
      "name": "source",
      "type": "string",
      "description": "Source."
     },
     {
      "name": "source_url",
      "type": "string",
      "description": "Source URL."
     },
     {
      "name": "note",
      "type": "string",
      "description": "How it is used."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/release/value-assumptions.csv"
    }
   ],
   "group": "value",
   "rows": 17
  },
  {
   "name": "r50-families-raw",
   "path": "tables/r50-families-raw.csv",
   "profile": "tabular-data-resource",
   "title": "Product families as ranked (raw scoreboard)",
   "description": "The scoreboard the ranking was read from: 222 families (220 ranked products, one module, one distribution channel) with the R50 composite, verdict, best variant, delivery model, prices, base-case revenue over 24 months, the nine criterion scores, the variants merged into each family and the dated window that forces the purchase.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 67165,
   "hash": "sha256:b11788e00777fb424b4b2b2238d7193afdf5b13e6dd75f114386a43028fe9814",
   "schema": {
    "fields": [
     {
      "name": "rank",
      "type": "integer",
      "description": "Rank of the family in the R50 ranking (1 = best); blank for the module and the distribution channel."
     },
     {
      "name": "family_id",
      "type": "string",
      "description": "R50 product family id; joins tables/families.csv."
     },
     {
      "name": "family_name",
      "type": "string"
     },
     {
      "name": "kind",
      "type": "string"
     },
     {
      "name": "score",
      "type": "number"
     },
     {
      "name": "verdict",
      "type": "string",
      "description": "TOP (composite 3.8 or more), GOOD (3.3 to 3.79) or NO (lower, or a hard exclusion); earlier stages use their own labels."
     },
     {
      "name": "best_variant",
      "type": "string"
     },
     {
      "name": "best_variant_name",
      "type": "string"
     },
     {
      "name": "delivery_model",
      "type": "string",
      "description": "offline (runs on the buyer's machine), hybrid (local with an optional cloud part), cloud-light (a small serverless service) or api."
     },
     {
      "name": "entry_price_brl",
      "type": "number",
      "description": "Entry price in reais: a one-time price, the first plan or a starter offer."
     },
     {
      "name": "recurring_price_brl_month",
      "type": "string",
      "description": "Monthly price in reais of the recurring plan, if any."
     },
     {
      "name": "family_base_24m_gross_brl",
      "type": "number"
     },
     {
      "name": "best_variant_base_24m_gross_brl",
      "type": "number"
     },
     {
      "name": "money",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 20: the base case over 24 months; 2 from R$150k, 3 from R$400k, 4 from R$1M, 5 from R$3M (no family reached 5)."
     },
     {
      "name": "salesability",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 15: 5 = strangers buy online without talking to anyone and acquisition costs at most 30% of first-year revenue; 1 = needs sales calls or procurement."
     },
     {
      "name": "bureaucracy",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 15: 5 = none of the nine exposures (fiscal documents, a sector regulator, a professional council, sensitive data in the seller's cloud, government systems, customers' money, platform approvals, liability for professional outputs, partners or procurement); 1 = several severe ones."
     },
     {
      "name": "ops",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 10: 5 = no human support and no rule updates by hand; 1 = continuous compliance tracking and support for each customer."
     },
     {
      "name": "recurrence",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 10: 5 = most revenue recurs with low churn; 1 = a single purchase."
     },
     {
      "name": "speed",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 10: 5 = first sales within two weeks; 1 = more than four months."
     },
     {
      "name": "asymmetry",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 10: 5 = a concrete reason to win now (a deadline, a reform gap, incumbents' pricing); 1 = none."
     },
     {
      "name": "durability",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 5: 5 = demand lasts five years or more and clones can't erase margins quickly; 1 = under a year."
     },
     {
      "name": "risk",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 5: 5 = low legal, liability, platform and ad-policy risk; 1 = high."
     },
     {
      "name": "n_variants",
      "type": "integer"
     },
     {
      "name": "variants",
      "type": "string"
     },
     {
      "name": "sources",
      "type": "string"
     },
     {
      "name": "window",
      "type": "string",
      "description": "The dated rule, season or deadline that forces the purchase."
     },
     {
      "name": "domain",
      "type": "string"
     },
     {
      "name": "note",
      "type": "string"
     },
     {
      "name": "adjusted",
      "type": "string"
     },
     {
      "name": "preliminary",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/top50-scoreboard.csv"
    }
   ],
   "group": "ranking",
   "rows": 222
  },
  {
   "name": "r50-variants-raw",
   "path": "tables/r50-variants-raw.csv",
   "profile": "tabular-data-resource",
   "title": "Scored variants (raw R50 file)",
   "description": "All 331 variants scored on the R50 rubric: delivery, revenue model, buyer type, sales motion, prices, base, low and high 24-month gross revenue, the probability of the base case, nine criterion scores, reported and recomputed composites, hand adjustments and the bureaucracy items each variant carries.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 141092,
   "hash": "sha256:a34104882e23bc7a22aec880d7b7a14b100148e2b27229051d795aa7ec36152e",
   "schema": {
    "fields": [
     {
      "name": "family_id",
      "type": "string",
      "description": "R50 product family id; joins tables/families.csv."
     },
     {
      "name": "family_name",
      "type": "string"
     },
     {
      "name": "family_kind",
      "type": "string"
     },
     {
      "name": "key",
      "type": "string"
     },
     {
      "name": "source",
      "type": "string"
     },
     {
      "name": "id",
      "type": "string"
     },
     {
      "name": "name",
      "type": "string"
     },
     {
      "name": "delivery_model",
      "type": "string",
      "description": "offline (runs on the buyer's machine), hybrid (local with an optional cloud part), cloud-light (a small serverless service) or api."
     },
     {
      "name": "revenue_model",
      "type": "string",
      "description": "one-time, subscription or mixed."
     },
     {
      "name": "buyer_type",
      "type": "string"
     },
     {
      "name": "sales_motion",
      "type": "string"
     },
     {
      "name": "entry_price_brl",
      "type": "number",
      "description": "Entry price in reais: a one-time price, the first plan or a starter offer."
     },
     {
      "name": "recurring_price_brl_month",
      "type": "string",
      "description": "Monthly price in reais of the recurring plan, if any."
     },
     {
      "name": "base_24m_gross_brl",
      "type": "number",
      "description": "Base case of gross revenue over the first 24 months, in reais."
     },
     {
      "name": "low_24m_gross_brl",
      "type": "number",
      "description": "Low case of gross revenue over 24 months, in reais."
     },
     {
      "name": "high_24m_gross_brl",
      "type": "number",
      "description": "High case of gross revenue over 24 months, in reais."
     },
     {
      "name": "p_base",
      "type": "number",
      "description": "The card's probability of reaching at least the base case."
     },
     {
      "name": "money",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 20: the base case over 24 months; 2 from R$150k, 3 from R$400k, 4 from R$1M, 5 from R$3M (no family reached 5)."
     },
     {
      "name": "salesability",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 15: 5 = strangers buy online without talking to anyone and acquisition costs at most 30% of first-year revenue; 1 = needs sales calls or procurement."
     },
     {
      "name": "bureaucracy",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 15: 5 = none of the nine exposures (fiscal documents, a sector regulator, a professional council, sensitive data in the seller's cloud, government systems, customers' money, platform approvals, liability for professional outputs, partners or procurement); 1 = several severe ones."
     },
     {
      "name": "ops",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 10: 5 = no human support and no rule updates by hand; 1 = continuous compliance tracking and support for each customer."
     },
     {
      "name": "recurrence",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 10: 5 = most revenue recurs with low churn; 1 = a single purchase."
     },
     {
      "name": "speed",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 10: 5 = first sales within two weeks; 1 = more than four months."
     },
     {
      "name": "asymmetry",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 10: 5 = a concrete reason to win now (a deadline, a reform gap, incumbents' pricing); 1 = none."
     },
     {
      "name": "durability",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 5: 5 = demand lasts five years or more and clones can't erase margins quickly; 1 = under a year."
     },
     {
      "name": "risk",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 5: 5 = low legal, liability, platform and ad-policy risk; 1 = high."
     },
     {
      "name": "composite_reported",
      "type": "number"
     },
     {
      "name": "composite_recomputed",
      "type": "number"
     },
     {
      "name": "composite_check",
      "type": "string"
     },
     {
      "name": "composite_adjusted",
      "type": "number"
     },
     {
      "name": "verdict_adjusted",
      "type": "string"
     },
     {
      "name": "adjustment_note",
      "type": "string"
     },
     {
      "name": "bureaucracy_items",
      "type": "string",
      "description": "The bureaucracy exposures the card touches (B1-B9) and how the product avoids them."
     },
     {
      "name": "preliminary",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/r50-all-candidates.csv"
    }
   ],
   "group": "ranking",
   "rows": 331
  },
  {
   "name": "wave1-opportunities",
   "path": "tables/wave1-opportunities.csv",
   "profile": "tabular-data-resource",
   "title": "Wave 1 opportunity cards",
   "description": "The 208 opportunity cards written by the 30 wave-1 agents on 11 Oct 2026, scored on the first rubric (demand, willingness to pay, competition gap, channel fit, build ease, low risk, recurrence, defensibility), with price, unit forecasts, target buyers, channels and the forcing function each card cites.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 99360,
   "hash": "sha256:6f1353a449e76de7bbc83a373ee4f2b2522e48626eecad384c9d5969f155da8f",
   "schema": {
    "fields": [
     {
      "name": "id",
      "type": "string"
     },
     {
      "name": "name",
      "type": "string"
     },
     {
      "name": "weighted",
      "type": "number"
     },
     {
      "name": "price_brl",
      "type": "number"
     },
     {
      "name": "units_low",
      "type": "number"
     },
     {
      "name": "units_base",
      "type": "number"
     },
     {
      "name": "units_high",
      "type": "number"
     },
     {
      "name": "demand",
      "type": "number"
     },
     {
      "name": "willingness_to_pay",
      "type": "number"
     },
     {
      "name": "competition_gap",
      "type": "number"
     },
     {
      "name": "channel_fit",
      "type": "number"
     },
     {
      "name": "build_ease",
      "type": "number"
     },
     {
      "name": "low_risk",
      "type": "number"
     },
     {
      "name": "recurrence",
      "type": "number",
      "description": "R50 criterion, 1-5, weight 10: 5 = most revenue recurs with low churn; 1 = a single purchase."
     },
     {
      "name": "defensibility",
      "type": "number"
     },
     {
      "name": "target",
      "type": "string"
     },
     {
      "name": "channels",
      "type": "string"
     },
     {
      "name": "forcing",
      "type": "string"
     },
     {
      "name": "file",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/opportunities.csv"
    }
   ],
   "group": "ideas",
   "rows": 208
  },
  {
   "name": "wave1-card-families",
   "path": "tables/wave1-card-families.csv",
   "profile": "tabular-data-resource",
   "title": "Wave 1 cards grouped into families",
   "description": "The wave-1 cards grouped by the synthesis into idea families, with their weighted score, price and base units.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 26405,
   "hash": "sha256:a5cfd3bf336f8f3568cc5ac3a516c91df4c8597d37d79c647934f1bdb4cfe3ed",
   "schema": {
    "fields": [
     {
      "name": "id",
      "type": "string"
     },
     {
      "name": "agent",
      "type": "integer"
     },
     {
      "name": "family",
      "type": "string"
     },
     {
      "name": "name",
      "type": "string"
     },
     {
      "name": "weighted",
      "type": "number"
     },
     {
      "name": "price_brl",
      "type": "number"
     },
     {
      "name": "units_base",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/synth-card-families.csv"
    }
   ],
   "group": "ideas",
   "rows": 208
  },
  {
   "name": "wave2-deep-dives",
   "path": "tables/wave2-deep-dives.csv",
   "profile": "tabular-data-resource",
   "title": "Wave 2 deep dives",
   "description": "The 19 product families examined in depth in wave 2: verdict, revenue forecast (base, low, high, net), ten criterion scores, MVP weeks, fiscal and hardware needs, why each wins and fails, spot checks and the red team's verdict.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 21022,
   "hash": "sha256:e11a7ce53e9b3eba2b7161352389248e503e626189064ff8e6a627262881db1a",
   "schema": {
    "fields": [
     {
      "name": "id",
      "type": "string"
     },
     {
      "name": "family",
      "type": "string"
     },
     {
      "name": "verdict",
      "type": "string",
      "description": "TOP (composite 3.8 or more), GOOD (3.3 to 3.79) or NO (lower, or a hard exclusion); earlier stages use their own labels."
     },
     {
      "name": "rank_band",
      "type": "string"
     },
     {
      "name": "base_24m_gross_brl",
      "type": "integer",
      "description": "Base case of gross revenue over the first 24 months, in reais."
     },
     {
      "name": "base_24m_net_brl",
      "type": "integer"
     },
     {
      "name": "net_basis",
      "type": "string"
     },
     {
      "name": "low_24m_gross_brl",
      "type": "integer",
      "description": "Low case of gross revenue over 24 months, in reais."
     },
     {
      "name": "high_24m_gross_brl",
      "type": "integer",
      "description": "High case of gross revenue over 24 months, in reais."
     },
     {
      "name": "p_base",
      "type": "number",
      "description": "The card's probability of reaching at least the base case."
     },
     {
      "name": "demand",
      "type": "integer"
     },
     {
      "name": "willingness_to_pay",
      "type": "integer"
     },
     {
      "name": "competition_gap",
      "type": "integer"
     },
     {
      "name": "channel_fit",
      "type": "integer"
     },
     {
      "name": "build_ease",
      "type": "integer"
     },
     {
      "name": "low_risk",
      "type": "integer"
     },
     {
      "name": "recurrence",
      "type": "integer",
      "description": "R50 criterion, 1-5, weight 10: 5 = most revenue recurs with low churn; 1 = a single purchase."
     },
     {
      "name": "defensibility",
      "type": "integer"
     },
     {
      "name": "time_to_revenue",
      "type": "integer"
     },
     {
      "name": "ai_leverage",
      "type": "integer"
     },
     {
      "name": "score_sum",
      "type": "integer"
     },
     {
      "name": "mvp_weeks",
      "type": "string"
     },
     {
      "name": "fiscal_homologation",
      "type": "string"
     },
     {
      "name": "hardware",
      "type": "string"
     },
     {
      "name": "why_wins",
      "type": "string"
     },
     {
      "name": "why_fails",
      "type": "string"
     },
     {
      "name": "spot_check",
      "type": "string"
     },
     {
      "name": "redteam_verdict",
      "type": "string"
     },
     {
      "name": "redteam_severity",
      "type": "string"
     },
     {
      "name": "portfolio_role",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/w2-scoreboard.csv"
    }
   ],
   "group": "ideas",
   "rows": 19
  },
  {
   "name": "wave3-card-map",
   "path": "tables/wave3-card-map.csv",
   "profile": "tabular-data-resource",
   "title": "Lineage from wave-1 cards to wave-3 merged ideas",
   "description": "How each wave-1 and wave-2 card was merged into a wave-3 idea (merged id), with the wave-1 family and score and the merged idea's wave-3 verdict and composite.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 43188,
   "hash": "sha256:6544ea5f4e673e32cdf340ad3dd6c0c4c477c15d0c96f161a674949b3eb94f84",
   "schema": {
    "fields": [
     {
      "name": "source_id",
      "type": "string"
     },
     {
      "name": "source_name",
      "type": "string"
     },
     {
      "name": "wave1_family",
      "type": "string"
     },
     {
      "name": "wave1_weighted",
      "type": "number"
     },
     {
      "name": "merged_id",
      "type": "string"
     },
     {
      "name": "merged_name",
      "type": "string"
     },
     {
      "name": "verdict",
      "type": "string",
      "description": "TOP (composite 3.8 or more), GOOD (3.3 to 3.79) or NO (lower, or a hard exclusion); earlier stages use their own labels."
     },
     {
      "name": "composite",
      "type": "number",
      "description": "Weighted mean of the nine R50 criteria (weights 20, 15, 15, 10, 10, 10, 10, 5, 5)."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w3-01-card-map.csv"
    }
   ],
   "group": "ideas",
   "rows": 255
  },
  {
   "name": "wave3-rescore",
   "path": "tables/wave3-rescore.csv",
   "profile": "tabular-data-resource",
   "title": "Wave 3 re-score of the earlier ideas",
   "description": "The 100 merged ideas from waves 1 and 2 re-scored under the wave-3 rubric (paid demand, reach, price power, zero maintenance, zero support, competition gap, demo power, speed, ad safety, synergy), with the lite version, exclusions, evidence, kill reasons and why survivors survive.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 64138,
   "hash": "sha256:79b722a35e21730a10d5290e158f05ca8b7b6d97584d300dc1819f1239eef040",
   "schema": {
    "fields": [
     {
      "name": "merged_id",
      "type": "string"
     },
     {
      "name": "name",
      "type": "string"
     },
     {
      "name": "lite_version",
      "type": "string"
     },
     {
      "name": "source_ids",
      "type": "string"
     },
     {
      "name": "exclusions",
      "type": "string"
     },
     {
      "name": "paid_demand",
      "type": "integer"
     },
     {
      "name": "reach",
      "type": "integer"
     },
     {
      "name": "price_power",
      "type": "integer"
     },
     {
      "name": "zero_maintenance",
      "type": "integer"
     },
     {
      "name": "zero_support",
      "type": "integer"
     },
     {
      "name": "competition_gap",
      "type": "integer"
     },
     {
      "name": "demo_power",
      "type": "integer"
     },
     {
      "name": "speed",
      "type": "integer",
      "description": "R50 criterion, 1-5, weight 10: 5 = first sales within two weeks; 1 = more than four months."
     },
     {
      "name": "ad_safety",
      "type": "integer"
     },
     {
      "name": "synergy",
      "type": "integer"
     },
     {
      "name": "composite",
      "type": "number",
      "description": "Weighted mean of the nine R50 criteria (weights 20, 15, 15, 10, 10, 10, 10, 5, 5)."
     },
     {
      "name": "verdict",
      "type": "string",
      "description": "TOP (composite 3.8 or more), GOOD (3.3 to 3.79) or NO (lower, or a hard exclusion); earlier stages use their own labels."
     },
     {
      "name": "evidence",
      "type": "string"
     },
     {
      "name": "rank",
      "type": "integer",
      "description": "Rank of the family in the R50 ranking (1 = best); blank for the module and the distribution channel."
     },
     {
      "name": "status",
      "type": "string"
     },
     {
      "name": "composite_prelim",
      "type": "number"
     },
     {
      "name": "spot_check_change",
      "type": "string"
     },
     {
      "name": "why_survives",
      "type": "string"
     },
     {
      "name": "kill_reason",
      "type": "string"
     },
     {
      "name": "score_notes",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w3-01-rescore.csv"
    }
   ],
   "group": "ideas",
   "rows": 100
  },
  {
   "name": "wave3-candidates",
   "path": "tables/wave3-candidates.csv",
   "profile": "tabular-data-resource",
   "title": "Wave 3 candidates",
   "description": "The 132 candidates written by wave-3 vertical agents, scored on the wave-3 rubric, with buyer, entry price, key evidence and the report each comes from.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 56893,
   "hash": "sha256:c35c3c300f4fd42e676e0ec3216dffa002f523eb21ce9a0b36c20e8ce5b68b86",
   "schema": {
    "fields": [
     {
      "name": "source_agent",
      "type": "string"
     },
     {
      "name": "id",
      "type": "string"
     },
     {
      "name": "name",
      "type": "string"
     },
     {
      "name": "buyer",
      "type": "string"
     },
     {
      "name": "entry_price_brl",
      "type": "integer",
      "description": "Entry price in reais: a one-time price, the first plan or a starter offer."
     },
     {
      "name": "paid_demand",
      "type": "integer"
     },
     {
      "name": "reach",
      "type": "integer"
     },
     {
      "name": "price_power",
      "type": "integer"
     },
     {
      "name": "zero_maintenance",
      "type": "integer"
     },
     {
      "name": "zero_support",
      "type": "integer"
     },
     {
      "name": "competition_gap",
      "type": "integer"
     },
     {
      "name": "demo_power",
      "type": "integer"
     },
     {
      "name": "speed",
      "type": "integer",
      "description": "R50 criterion, 1-5, weight 10: 5 = first sales within two weeks; 1 = more than four months."
     },
     {
      "name": "ad_safety",
      "type": "integer"
     },
     {
      "name": "synergy",
      "type": "integer"
     },
     {
      "name": "composite",
      "type": "number",
      "description": "Weighted mean of the nine R50 criteria (weights 20, 15, 15, 10, 10, 10, 10, 5, 5)."
     },
     {
      "name": "verdict",
      "type": "string",
      "description": "TOP (composite 3.8 or more), GOOD (3.3 to 3.79) or NO (lower, or a hard exclusion); earlier stages use their own labels."
     },
     {
      "name": "key_evidence",
      "type": "string",
      "description": "The facts the agent cited for the card, as written."
     },
     {
      "name": "sources",
      "type": "string"
     },
     {
      "name": "report",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/synthesis/w3-scoreboard.csv"
    }
   ],
   "group": "ideas",
   "rows": 132
  },
  {
   "name": "reform-calendar",
   "path": "tables/reform-calendar.csv",
   "profile": "tabular-data-resource",
   "title": "Tax-reform calendar and gap index",
   "description": "42 dated events of Brazil's consumption-tax reform and related rules (2026-2033): legal basis, who is forced, population, what changes, penalty, the free government tool and its quality, paid tools and prices, the software jobs it creates, and a 0-100 gap index built from population, pain, urgency, free-tool weakness and low bureaucracy.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 20041,
   "hash": "sha256:c6cb06fd21457995bedcbd0875a6c1df68640388d000223109d13326ba95ee48",
   "schema": {
    "fields": [
     {
      "name": "id",
      "type": "string"
     },
     {
      "name": "date",
      "type": "string"
     },
     {
      "name": "date_status",
      "type": "string"
     },
     {
      "name": "year",
      "type": "integer"
     },
     {
      "name": "event",
      "type": "string"
     },
     {
      "name": "legal_basis",
      "type": "string",
      "description": "The law, rule or deadline named, in short form."
     },
     {
      "name": "who",
      "type": "string"
     },
     {
      "name": "population",
      "type": "string"
     },
     {
      "name": "what_changes",
      "type": "string"
     },
     {
      "name": "penalty_or_consequence",
      "type": "string"
     },
     {
      "name": "free_gov_tool",
      "type": "string"
     },
     {
      "name": "free_tool_quality_1to5",
      "type": "integer"
     },
     {
      "name": "paid_tools_prices",
      "type": "string"
     },
     {
      "name": "software_jobs",
      "type": "string"
     },
     {
      "name": "vendor_bureaucracy_items",
      "type": "string"
     },
     {
      "name": "rule_change_frequency",
      "type": "string"
     },
     {
      "name": "s_population",
      "type": "integer"
     },
     {
      "name": "s_pain",
      "type": "integer"
     },
     {
      "name": "s_urgency",
      "type": "integer"
     },
     {
      "name": "s_free_tool_weakness",
      "type": "integer"
     },
     {
      "name": "s_low_bureaucracy",
      "type": "integer"
     },
     {
      "name": "gap_index",
      "type": "integer"
     },
     {
      "name": "gap_0_100",
      "type": "number"
     },
     {
      "name": "owner",
      "type": "string"
     },
     {
      "name": "sources",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-01-reform-calendar.csv"
    }
   ],
   "group": "regulation",
   "rows": 42
  },
  {
   "name": "forced-demand-calendar",
   "path": "tables/forced-demand-calendar.csv",
   "profile": "tabular-data-resource",
   "title": "Forced-demand calendar",
   "description": "36 dated obligations outside the tax reform that force decisions on small firms, professionals or consumers: legal basis, who is forced, population, penalty, enforcement reality, the free government floor, paid tools today, the software job, bureaucracy for a seller, fit and candidate products.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 19414,
   "hash": "sha256:041ca7d802967e5de51ec51046de95f47002f177b6f2f5de6e96ae0357dde6ea",
   "schema": {
    "fields": [
     {
      "name": "id",
      "type": "string"
     },
     {
      "name": "date",
      "type": "string"
     },
     {
      "name": "date_status",
      "type": "string"
     },
     {
      "name": "event",
      "type": "string"
     },
     {
      "name": "legal_basis",
      "type": "string",
      "description": "The law, rule or deadline named, in short form."
     },
     {
      "name": "who_is_forced",
      "type": "string"
     },
     {
      "name": "population",
      "type": "string"
     },
     {
      "name": "penalty",
      "type": "string"
     },
     {
      "name": "enforcement_reality",
      "type": "string"
     },
     {
      "name": "free_government_floor",
      "type": "string"
     },
     {
      "name": "paid_tools_today",
      "type": "string"
     },
     {
      "name": "software_job",
      "type": "string"
     },
     {
      "name": "bureaucracy_for_us",
      "type": "string"
     },
     {
      "name": "fit",
      "type": "string"
     },
     {
      "name": "candidate_ids",
      "type": "string"
     },
     {
      "name": "handoff",
      "type": "string"
     },
     {
      "name": "sources",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-15-calendar.csv"
    }
   ],
   "group": "regulation",
   "rows": 36
  },
  {
   "name": "regulation-matrix",
   "path": "tables/regulation-matrix.csv",
   "profile": "tabular-data-resource",
   "title": "Regulation matrix (archetype x obligation)",
   "description": "442 rows: for each of 26 product archetypes, every legal obligation a seller of that software takes on (LGPD, consumer law, tax, invoices, sector rules, health, AI, accessibility...), its severity 0-3, what to do, legal basis and status in October 2026.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 226531,
   "hash": "sha256:30025cc78978e23ad6cb6a940c1b80d00525c3c9fd1acc327b21470c92f7248f",
   "schema": {
    "fields": [
     {
      "name": "archetype_id",
      "type": "string"
     },
     {
      "name": "archetype",
      "type": "string"
     },
     {
      "name": "archetype_pt",
      "type": "string"
     },
     {
      "name": "verdict",
      "type": "string",
      "description": "TOP (composite 3.8 or more), GOOD (3.3 to 3.79) or NO (lower, or a hard exclusion); earlier stages use their own labels."
     },
     {
      "name": "obligation_code",
      "type": "string"
     },
     {
      "name": "obligation",
      "type": "string"
     },
     {
      "name": "b_item",
      "type": "string"
     },
     {
      "name": "severity",
      "type": "integer"
     },
     {
      "name": "what_to_do",
      "type": "string"
     },
     {
      "name": "legal_basis",
      "type": "string",
      "description": "The law, rule or deadline named, in short form."
     },
     {
      "name": "status_oct_2026",
      "type": "string"
     },
     {
      "name": "source_ids",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-11-matrix.csv"
    }
   ],
   "group": "regulation",
   "rows": 442
  },
  {
   "name": "regulation-archetypes",
   "path": "tables/regulation-archetypes.csv",
   "profile": "tabular-data-resource",
   "title": "Regulation summary per archetype",
   "description": "The regulation matrix summed per product archetype: severity per obligation code, counts of severity 2 and 3, a bureaucracy index, the R50 bureaucracy score it suggests, the key constraint and the design rule that keeps the product light.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 8314,
   "hash": "sha256:9caac4343f436dfdc0bc32484d52979fa0f1f90c7e2c9d75d3a7729d0b453683",
   "schema": {
    "fields": [
     {
      "name": "archetype_id",
      "type": "string"
     },
     {
      "name": "archetype",
      "type": "string"
     },
     {
      "name": "archetype_pt",
      "type": "string"
     },
     {
      "name": "buyer",
      "type": "string"
     },
     {
      "name": "verdict",
      "type": "string",
      "description": "TOP (composite 3.8 or more), GOOD (3.3 to 3.79) or NO (lower, or a hard exclusion); earlier stages use their own labels."
     },
     {
      "name": "LG",
      "type": "integer"
     },
     {
      "name": "SD",
      "type": "integer"
     },
     {
      "name": "MN",
      "type": "integer"
     },
     {
      "name": "TX",
      "type": "integer"
     },
     {
      "name": "IN",
      "type": "integer"
     },
     {
      "name": "MC",
      "type": "integer"
     },
     {
      "name": "UG",
      "type": "integer"
     },
     {
      "name": "CD",
      "type": "integer"
     },
     {
      "name": "RG",
      "type": "integer"
     },
     {
      "name": "PC",
      "type": "integer"
     },
     {
      "name": "AI",
      "type": "integer"
     },
     {
      "name": "ES",
      "type": "integer"
     },
     {
      "name": "PL",
      "type": "integer"
     },
     {
      "name": "MO",
      "type": "integer"
     },
     {
      "name": "LI",
      "type": "integer"
     },
     {
      "name": "PR",
      "type": "integer"
     },
     {
      "name": "AC",
      "type": "integer"
     },
     {
      "name": "max_severity",
      "type": "integer"
     },
     {
      "name": "n_sev2",
      "type": "integer"
     },
     {
      "name": "n_sev3",
      "type": "integer"
     },
     {
      "name": "bureaucracy_index",
      "type": "integer"
     },
     {
      "name": "r50_bureaucracy_suggested",
      "type": "integer"
     },
     {
      "name": "b_items",
      "type": "string"
     },
     {
      "name": "key_constraint",
      "type": "string"
     },
     {
      "name": "design_rule_to_stay_light",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-11-archetype-summary.csv"
    }
   ],
   "group": "regulation",
   "rows": 26
  },
  {
   "name": "reform-credit-gap",
   "path": "tables/reform-credit-gap.csv",
   "profile": "tabular-data-resource",
   "title": "Simples Nacional credit gap under CBS/IBS",
   "description": "For Simples Nacional bands and annexes: effective rate, CBS/IBS share, credit passed to a business buyer, the full-rate 'por fora' alternative and the price cut a Simples seller needs to match a regular-regime seller.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 2381,
   "hash": "sha256:c45cd5758d379b7f3fb6d4fa11d7a46c08d13d38dc2ae2ade57ab3d4d8b6a980",
   "schema": {
    "fields": [
     {
      "name": "period",
      "type": "string"
     },
     {
      "name": "annex",
      "type": "string"
     },
     {
      "name": "band",
      "type": "integer"
     },
     {
      "name": "rbt12_brl",
      "type": "integer"
     },
     {
      "name": "effective_rate_pct",
      "type": "number"
     },
     {
      "name": "cbs_ibs_share_pct",
      "type": "number"
     },
     {
      "name": "credit_to_buyer_pct_of_price",
      "type": "number"
     },
     {
      "name": "full_rate_por_fora_pct",
      "type": "number"
     },
     {
      "name": "price_cut_needed_to_match_regular_pct",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-02-credit-gap.csv"
    }
   ],
   "group": "regulation",
   "rows": 50
  },
  {
   "name": "tax-table-versions",
   "path": "tables/tax-table-versions.csv",
   "profile": "tabular-data-resource",
   "title": "Versions of the reform's code tables",
   "description": "Publication history of the CST, cClassTrib and related code tables of the reform: table, version, date, source.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 10274,
   "hash": "sha256:7efecd1e8718c80fa02e020d223423ff1b327330faf96d6c149e5cfe2ac5eac7",
   "schema": {
    "fields": [
     {
      "name": "table",
      "type": "string"
     },
     {
      "name": "version",
      "type": "string"
     },
     {
      "name": "date",
      "type": "string"
     },
     {
      "name": "source",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-03-table-versions.csv"
    }
   ],
   "group": "regulation",
   "rows": 46
  },
  {
   "name": "nfe-technical-notes",
   "path": "tables/nfe-technical-notes.csv",
   "profile": "tabular-data-resource",
   "title": "Cadence of NF-e technical notes",
   "description": "35 NF-e technical notes with publication date, title, summary and relevance to a small retail emitter: the rate at which invoice software must change.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 8614,
   "hash": "sha256:7d75fa663a0f495f506442163751bd1bae0a7ee1a7236e58847715beb3cafddf",
   "schema": {
    "fields": [
     {
      "name": "published",
      "type": "date",
      "format": "any"
     },
     {
      "name": "title",
      "type": "string"
     },
     {
      "name": "summary",
      "type": "string"
     },
     {
      "name": "relevance_to_small_retail_emitter (agent-27 judgment)",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/27-nfe-technical-notes-cadence.csv"
    }
   ],
   "group": "regulation",
   "rows": 35
  },
  {
   "name": "cnae-counts",
   "path": "tables/cnae-counts.csv",
   "profile": "tabular-data-resource",
   "title": "Active establishments per CNAE subclass",
   "description": "1,337 CNAE subclasses from the Receita Federal open CNPJ data (August-September 2026): active establishments and head offices, MEI, ME, EPP and other sizes, Simples, branches, counts per region, e-mail domain type (none, free, own domain), establishments opened since 2024 and median capital of non-MEI firms.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 188884,
   "hash": "sha256:bb73b1b46dabd1d43fed3e094ee6ee8efa77160c4aa11f82f4e0d8d71a5e55c3",
   "schema": {
    "fields": [
     {
      "name": "cnae",
      "type": "string"
     },
     {
      "name": "descricao",
      "type": "string"
     },
     {
      "name": "active_estab",
      "type": "integer"
     },
     {
      "name": "active_matriz",
      "type": "integer"
     },
     {
      "name": "mei",
      "type": "integer"
     },
     {
      "name": "me_non_mei",
      "type": "integer"
     },
     {
      "name": "epp",
      "type": "integer"
     },
     {
      "name": "demais",
      "type": "integer"
     },
     {
      "name": "porte_nao_informado",
      "type": "integer"
     },
     {
      "name": "simples_non_mei",
      "type": "integer"
     },
     {
      "name": "filiais",
      "type": "integer"
     },
     {
      "name": "reg_n",
      "type": "integer"
     },
     {
      "name": "reg_ne",
      "type": "integer"
     },
     {
      "name": "reg_se",
      "type": "integer"
     },
     {
      "name": "reg_s",
      "type": "integer"
     },
     {
      "name": "reg_co",
      "type": "integer"
     },
     {
      "name": "email_none",
      "type": "integer"
     },
     {
      "name": "email_free",
      "type": "integer"
     },
     {
      "name": "email_other_domain",
      "type": "integer"
     },
     {
      "name": "active_opened_2024_plus",
      "type": "integer"
     },
     {
      "name": "median_capital_non_mei",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/12-cnae-counts-full.csv"
    }
   ],
   "group": "population",
   "rows": 1337
  },
  {
   "name": "cnae-openings-by-year",
   "path": "tables/cnae-openings-by-year.csv",
   "profile": "tabular-data-resource",
   "title": "Openings per CNAE subclass and year",
   "description": "Establishments opened per CNAE subclass and year, how many are still active, closed (baixadas) or unfit (inaptas), and the MEI share.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 680384,
   "hash": "sha256:67fa4dc1f893e16f95a18996ebf7955656a37aadc740cbd4e36097467eafc43e",
   "schema": {
    "fields": [
     {
      "name": "cnae",
      "type": "string"
     },
     {
      "name": "y",
      "type": "integer"
     },
     {
      "name": "opened",
      "type": "integer"
     },
     {
      "name": "still_active",
      "type": "integer"
     },
     {
      "name": "baixadas",
      "type": "integer"
     },
     {
      "name": "inaptas",
      "type": "integer"
     },
     {
      "name": "opened_as_mei",
      "type": "integer"
     },
     {
      "name": "still_active_mei",
      "type": "integer"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/12-cnae-openings-by-year.csv"
    }
   ],
   "group": "population",
   "rows": 21572
  },
  {
   "name": "cnae-closures-by-year",
   "path": "tables/cnae-closures-by-year.csv",
   "profile": "tabular-data-resource",
   "title": "Registration status per CNAE and year",
   "description": "Counts per CNAE subclass, year and registration status (situação cadastral) from the open CNPJ data.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 832689,
   "hash": "sha256:b85188a5c4950ce12a846bc03cf764c52511e90836495de7857fea141c420dae",
   "schema": {
    "fields": [
     {
      "name": "cnae",
      "type": "string"
     },
     {
      "name": "y",
      "type": "integer"
     },
     {
      "name": "situacao",
      "type": "string"
     },
     {
      "name": "n",
      "type": "integer"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/12-cnae-closures-by-year.csv"
    }
   ],
   "group": "population",
   "rows": 43793
  },
  {
   "name": "vertical-tam",
   "path": "tables/vertical-tam.csv",
   "profile": "tabular-data-resource",
   "title": "Vertical sizes and one-time software TAM",
   "description": "24 verticals built from groups of CNAE subclasses: active companies and establishments, MEI share, ME/EPP, PC-equipped estimate, openings and closures in 2025, assumed need share, base one-time price and the low, base and high yearly market for one-time software.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 4260,
   "hash": "sha256:b82da4ca4ded73a76c68c18c135d1ffc9eb76f24570897d478a29580cf5c9b72",
   "schema": {
    "fields": [
     {
      "name": "vertical",
      "type": "string"
     },
     {
      "name": "label",
      "type": "string"
     },
     {
      "name": "n_cnaes",
      "type": "integer"
     },
     {
      "name": "active_companies",
      "type": "integer"
     },
     {
      "name": "active_establishments",
      "type": "integer"
     },
     {
      "name": "mei_share",
      "type": "number"
     },
     {
      "name": "me_epp",
      "type": "integer"
     },
     {
      "name": "pc_equipped_est",
      "type": "integer"
     },
     {
      "name": "opened_2025",
      "type": "integer"
     },
     {
      "name": "baixadas_2025",
      "type": "integer"
     },
     {
      "name": "pc_equipped_new_2025_est",
      "type": "integer"
     },
     {
      "name": "need_share_assumed",
      "type": "number"
     },
     {
      "name": "price_onetime_base_brl",
      "type": "integer"
     },
     {
      "name": "units_per_year_low",
      "type": "integer"
     },
     {
      "name": "tam_onetime_brl_per_year_low",
      "type": "integer"
     },
     {
      "name": "units_per_year_base",
      "type": "integer"
     },
     {
      "name": "tam_onetime_brl_per_year_base",
      "type": "integer"
     },
     {
      "name": "units_per_year_high",
      "type": "integer"
     },
     {
      "name": "tam_onetime_brl_per_year_high",
      "type": "integer"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/12-vertical-tam.csv"
    }
   ],
   "group": "population",
   "rows": 24
  },
  {
   "name": "cnae-trades",
   "path": "tables/cnae-trades.csv",
   "profile": "tabular-data-resource",
   "title": "CNAE counts for auto and technical trades",
   "description": "48 CNAE subclasses in auto repair and the technical trades with active establishments (Aug 2026), MEI and Simples shares, monthly openings and closures and IBGE CEMPRE 2024 units, workers and employees.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 6369,
   "hash": "sha256:e772312d4b7aa2d67f060554cbfb0667a4abcc3a53c2d645583fdbacfb9bf010",
   "schema": {
    "fields": [
     {
      "name": "group",
      "type": "string"
     },
     {
      "name": "cnae",
      "type": "string"
     },
     {
      "name": "name",
      "type": "string"
     },
     {
      "name": "active_aug2026",
      "type": "integer"
     },
     {
      "name": "mei_pct",
      "type": "number"
     },
     {
      "name": "simples_pct",
      "type": "number"
     },
     {
      "name": "openings_month",
      "type": "integer"
     },
     {
      "name": "closures_month",
      "type": "integer"
     },
     {
      "name": "cempre_class",
      "type": "string"
     },
     {
      "name": "cempre2024_units",
      "type": "integer"
     },
     {
      "name": "cempre2024_workers",
      "type": "integer"
     },
     {
      "name": "cempre2024_employees",
      "type": "integer"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/20-cnae-counts.csv"
    }
   ],
   "group": "population",
   "rows": 48
  },
  {
   "name": "ai-companies",
   "path": "tables/ai-companies.csv",
   "profile": "tabular-data-resource",
   "title": "Companies declaring AI activity",
   "description": "Brazilian companies with AI-related activity in the CNPJ data (June 2026), by dimension (state, size, CNAE).",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 4522,
   "hash": "sha256:304825a17e26c3d867dc2bca348008e4bf4c9bc20fdb181834a915c615a91fa2",
   "schema": {
    "fields": [
     {
      "name": "dimensao",
      "type": "string"
     },
     {
      "name": "codigo",
      "type": "string"
     },
     {
      "name": "descricao",
      "type": "string"
     },
     {
      "name": "total",
      "type": "integer"
     },
     {
      "name": "pct",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/22-cnpj-ia-empresas-brasil-2026-06.csv"
    }
   ],
   "group": "population",
   "rows": 90
  },
  {
   "name": "os-share-brazil",
   "path": "tables/os-share-brazil.csv",
   "profile": "tabular-data-resource",
   "title": "Operating-system share in Brazil",
   "description": "Monthly StatCounter share of operating systems across all platforms in Brazil, 2022-2026.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 3447,
   "hash": "sha256:b47822b0b8e4471be2676ffb479073a691941840c6424dcc11e4b1824a41d89b",
   "schema": {
    "fields": [
     {
      "name": "Date",
      "type": "string"
     },
     {
      "name": "Android",
      "type": "number"
     },
     {
      "name": "Windows",
      "type": "number"
     },
     {
      "name": "iOS",
      "type": "number"
     },
     {
      "name": "OS X",
      "type": "number"
     },
     {
      "name": "Linux",
      "type": "number"
     },
     {
      "name": "macOS",
      "type": "number"
     },
     {
      "name": "Chrome OS",
      "type": "number"
     },
     {
      "name": "Samsung",
      "type": "number"
     },
     {
      "name": "Xbox",
      "type": "number"
     },
     {
      "name": "Playstation",
      "type": "number"
     },
     {
      "name": "Other",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/12-statcounter-brazil-all-os-2022-2026.csv"
    }
   ],
   "group": "population",
   "rows": 57,
   "licenses": [
    {
     "name": "CC-BY-SA-3.0",
     "path": "https://creativecommons.org/licenses/by-sa/3.0/",
     "title": "Creative Commons Attribution-ShareAlike 3.0 (StatCounter Global Stats)"
    }
   ]
  },
  {
   "name": "desktop-os-share-brazil",
   "path": "tables/desktop-os-share-brazil.csv",
   "profile": "tabular-data-resource",
   "title": "Desktop operating-system share in Brazil",
   "description": "Monthly StatCounter desktop OS share in Brazil, 2022-2026.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 1956,
   "hash": "sha256:c24a070fe2238de37d12429f4b7465ab022eda62e0844fd667ff4a8970f0a5a2",
   "schema": {
    "fields": [
     {
      "name": "Date",
      "type": "string"
     },
     {
      "name": "Windows",
      "type": "number"
     },
     {
      "name": "OS X",
      "type": "number"
     },
     {
      "name": "Linux",
      "type": "number"
     },
     {
      "name": "macOS",
      "type": "number"
     },
     {
      "name": "Chrome OS",
      "type": "number"
     },
     {
      "name": "Other",
      "type": "integer"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/12-statcounter-brazil-desktop-os-2022-2026.csv"
    }
   ],
   "group": "population",
   "rows": 57,
   "licenses": [
    {
     "name": "CC-BY-SA-3.0",
     "path": "https://creativecommons.org/licenses/by-sa/3.0/",
     "title": "Creative Commons Attribution-ShareAlike 3.0 (StatCounter Global Stats)"
    }
   ]
  },
  {
   "name": "windows-version-share-brazil",
   "path": "tables/windows-version-share-brazil.csv",
   "profile": "tabular-data-resource",
   "title": "Windows version share in Brazil",
   "description": "Monthly StatCounter Windows version share in Brazil, 2022-2026.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 2698,
   "hash": "sha256:c6530cf49bf2c8f58950989b55de0780081be1b327edafd16313597b45856d01",
   "schema": {
    "fields": [
     {
      "name": "Date",
      "type": "string"
     },
     {
      "name": "Win10",
      "type": "number"
     },
     {
      "name": "Win11",
      "type": "number"
     },
     {
      "name": "Win7",
      "type": "number"
     },
     {
      "name": "Win8.1",
      "type": "number"
     },
     {
      "name": "Win8",
      "type": "number"
     },
     {
      "name": "WinXP",
      "type": "number"
     },
     {
      "name": "WinVista",
      "type": "number"
     },
     {
      "name": "Other",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/12-statcounter-brazil-windows-version-2022-2026.csv"
    }
   ],
   "group": "population",
   "rows": 57,
   "licenses": [
    {
     "name": "CC-BY-SA-3.0",
     "path": "https://creativecommons.org/licenses/by-sa/3.0/",
     "title": "Creative Commons Attribution-ShareAlike 3.0 (StatCounter Global Stats)"
    }
   ]
  },
  {
   "name": "mobile-os-share-brazil",
   "path": "tables/mobile-os-share-brazil.csv",
   "profile": "tabular-data-resource",
   "title": "Mobile operating-system share in Brazil",
   "description": "Monthly StatCounter mobile OS share in Brazil, 2022-2026.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 1933,
   "hash": "sha256:c218d476a01e077ba6635fe453ea1d85379c1e8a00925c664efad72b5e684b00",
   "schema": {
    "fields": [
     {
      "name": "Date",
      "type": "string"
     },
     {
      "name": "Android",
      "type": "number"
     },
     {
      "name": "iOS",
      "type": "number"
     },
     {
      "name": "Samsung",
      "type": "number"
     },
     {
      "name": "Windows",
      "type": "number"
     },
     {
      "name": "Other",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/12-statcounter-brazil-mobile-os-2022-2026.csv"
    }
   ],
   "group": "population",
   "rows": 57,
   "licenses": [
    {
     "name": "CC-BY-SA-3.0",
     "path": "https://creativecommons.org/licenses/by-sa/3.0/",
     "title": "Creative Commons Attribution-ShareAlike 3.0 (StatCounter Global Stats)"
    }
   ]
  },
  {
   "name": "platform-share-brazil",
   "path": "tables/platform-share-brazil.csv",
   "profile": "tabular-data-resource",
   "title": "Desktop, mobile and tablet share in Brazil",
   "description": "Monthly StatCounter platform share in Brazil, 2022-2026.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 1719,
   "hash": "sha256:f74afe2b5a6457d1f1b2fa5d0e1b20b39101f225cba6b669907d7c5eabcef986",
   "schema": {
    "fields": [
     {
      "name": "Date",
      "type": "string"
     },
     {
      "name": "Mobile",
      "type": "number"
     },
     {
      "name": "Desktop",
      "type": "number"
     },
     {
      "name": "Tablet",
      "type": "number"
     },
     {
      "name": "Console",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/12-statcounter-brazil-platform-2022-2026.csv"
    }
   ],
   "group": "population",
   "rows": 57,
   "licenses": [
    {
     "name": "CC-BY-SA-3.0",
     "path": "https://creativecommons.org/licenses/by-sa/3.0/",
     "title": "Creative Commons Attribution-ShareAlike 3.0 (StatCounter Global Stats)"
    }
   ]
  },
  {
   "name": "desktop-resolution-brazil",
   "path": "tables/desktop-resolution-brazil.csv",
   "profile": "tabular-data-resource",
   "title": "Desktop screen resolutions in Brazil",
   "description": "StatCounter desktop screen-resolution share in Brazil, 2024-2026.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 355,
   "hash": "sha256:69d923fde0fc2fe60f8e311406d260bb99acb1c2da6c63bbde7812dd66c63b89",
   "schema": {
    "fields": [
     {
      "name": "Screen Resolution",
      "type": "string"
     },
     {
      "name": "Market Share Perc. (Jan 2024 - Sept 2026)",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/12-statcounter-brazil-desktop-resolution-2024-2026.csv"
    }
   ],
   "group": "population",
   "rows": 21,
   "licenses": [
    {
     "name": "CC-BY-SA-3.0",
     "path": "https://creativecommons.org/licenses/by-sa/3.0/",
     "title": "Creative Commons Attribution-ShareAlike 3.0 (StatCounter Global Stats)"
    }
   ]
  },
  {
   "name": "search-keywords",
   "path": "tables/search-keywords.csv",
   "profile": "tabular-data-resource",
   "title": "Search autosuggest keywords",
   "description": "13,511 autosuggest completions from Google, Bing and YouTube for 178 niche seeds and buying patterns ('sistema para', 'planilha', 'app'...), each labelled with intent (buy software, free, template, how-to, piracy...), engine and whether it stays on topic. A place an engine appended to a completion reads <place>: engines localize suggestions to whoever asks.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 2151428,
   "hash": "sha256:d74a50a4398ca9bf1ee922a3c1ef2a7c3aaf8b4f8f9ca499f811b20608e47d48",
   "schema": {
    "fields": [
     {
      "name": "seed",
      "type": "string"
     },
     {
      "name": "segment",
      "type": "string"
     },
     {
      "name": "label",
      "type": "string"
     },
     {
      "name": "pattern",
      "type": "string"
     },
     {
      "name": "query",
      "type": "string"
     },
     {
      "name": "completion",
      "type": "string"
     },
     {
      "name": "intent",
      "type": "string"
     },
     {
      "name": "engine",
      "type": "string"
     },
     {
      "name": "on_topic",
      "type": "integer"
     },
     {
      "name": "echo",
      "type": "integer"
     },
     {
      "name": "added_words",
      "type": "string"
     },
     {
      "name": "flags",
      "type": "string"
     },
     {
      "name": "src",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w3-07-keywords.csv"
    }
   ],
   "group": "demand",
   "rows": 13511
  },
  {
   "name": "search-niche-metrics",
   "path": "tables/search-niche-metrics.csv",
   "profile": "tabular-data-resource",
   "title": "Search demand per niche",
   "description": "Per niche seed: breadth of on-topic completions per engine and the share of software, free-seeking, template, how-to, purchase, desktop, mobile, online and AI intent.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 46071,
   "hash": "sha256:9774bcee5dace82b12e35f06027f13b59b1bc3047c17cce81d95e408b403374c",
   "schema": {
    "fields": [
     {
      "name": "seed",
      "type": "string"
     },
     {
      "name": "segment",
      "type": "string"
     },
     {
      "name": "label",
      "type": "string"
     },
     {
      "name": "flags",
      "type": "string"
     },
     {
      "name": "head",
      "type": "string"
     },
     {
      "name": "bing_answered",
      "type": "integer"
     },
     {
      "name": "bing_queries_with_hits",
      "type": "integer"
     },
     {
      "name": "bing_queries_with_3plus",
      "type": "integer"
     },
     {
      "name": "breadth",
      "type": "integer"
     },
     {
      "name": "software_intent_share",
      "type": "number"
     },
     {
      "name": "free_seeking_share",
      "type": "number"
     },
     {
      "name": "template_share",
      "type": "number"
     },
     {
      "name": "howto_share",
      "type": "number"
     },
     {
      "name": "brand_share",
      "type": "number"
     },
     {
      "name": "other_share",
      "type": "number"
     },
     {
      "name": "added_free_share",
      "type": "number"
     },
     {
      "name": "added_template_share",
      "type": "number"
     },
     {
      "name": "added_software_share",
      "type": "number"
     },
     {
      "name": "added_howto_share",
      "type": "number"
     },
     {
      "name": "added_purchase_share",
      "type": "number"
     },
     {
      "name": "added_desktop_share",
      "type": "number"
     },
     {
      "name": "added_mobile_share",
      "type": "number"
     },
     {
      "name": "added_online_share",
      "type": "number"
     },
     {
      "name": "added_ai_share",
      "type": "number"
     },
     {
      "name": "sw_breadth_nonfree",
      "type": "integer"
     },
     {
      "name": "free_breadth",
      "type": "integer"
     },
     {
      "name": "template_breadth",
      "type": "integer"
     },
     {
      "name": "purchase_breadth",
      "type": "integer"
     },
     {
      "name": "piracy_breadth",
      "type": "integer"
     },
     {
      "name": "desktop_breadth",
      "type": "integer"
     },
     {
      "name": "yield_software_patterns",
      "type": "integer"
     },
     {
      "name": "yield_template_patterns",
      "type": "integer"
     },
     {
      "name": "yield_gratis",
      "type": "integer"
     },
     {
      "name": "yield_download",
      "type": "integer"
     },
     {
      "name": "google_head_answered",
      "type": "integer"
     },
     {
      "name": "google_head_ontopic",
      "type": "integer"
     },
     {
      "name": "google_head_free",
      "type": "integer"
     },
     {
      "name": "google_head_template",
      "type": "integer"
     },
     {
      "name": "google_head_software",
      "type": "integer"
     },
     {
      "name": "youtube_head_answered",
      "type": "integer"
     },
     {
      "name": "youtube_head_ontopic",
      "type": "integer"
     },
     {
      "name": "youtube_head_tutorial",
      "type": "integer"
     },
     {
      "name": "g_prefix_slots",
      "type": "integer"
     },
     {
      "name": "g_prefix_lists",
      "type": "integer"
     },
     {
      "name": "g_prefix_best_rank",
      "type": "integer"
     },
     {
      "name": "yt_prefix_slots",
      "type": "integer"
     },
     {
      "name": "sdi",
      "type": "number"
     },
     {
      "name": "commercial_ratio",
      "type": "number"
     },
     {
      "name": "serp_keyword",
      "type": "string"
     },
     {
      "name": "serp_difficulty",
      "type": "string"
     },
     {
      "name": "serp_free_tools",
      "type": "string"
     },
     {
      "name": "fit_flag",
      "type": "string"
     },
     {
      "name": "buyable_index",
      "type": "number"
     },
     {
      "name": "earnable_index",
      "type": "number"
     },
     {
      "name": "sdi_rank",
      "type": "integer"
     },
     {
      "name": "buyable_index_rank",
      "type": "integer"
     },
     {
      "name": "earnable_index_rank",
      "type": "integer"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w3-07-niche-metrics.csv"
    }
   ],
   "group": "demand",
   "rows": 178
  },
  {
   "name": "search-demand-index",
   "path": "tables/search-demand-index.csv",
   "profile": "tabular-data-resource",
   "title": "Uniform demand index (wave 2)",
   "description": "A uniform demand index across 27 product families and niches built from Google, Bing and YouTube autosuggest breadth, commercial modifiers and marketplace review counts.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 16135,
   "hash": "sha256:e86c37b702e75493387117ee18f9513a93db53431bfa302664c8f2fb9d8969a8",
   "schema": {
    "fields": [
     {
      "name": "unit",
      "type": "string"
     },
     {
      "name": "key",
      "type": "string"
     },
     {
      "name": "name",
      "type": "string"
     },
     {
      "name": "kind",
      "type": "string"
     },
     {
      "name": "n_seeds",
      "type": "integer"
     },
     {
      "name": "g_breadth_n",
      "type": "integer"
     },
     {
      "name": "g_breadth_max",
      "type": "integer"
     },
     {
      "name": "g_breadth_mean",
      "type": "number"
     },
     {
      "name": "g_breadth_top3",
      "type": "number"
     },
     {
      "name": "g_comm_breadth_n",
      "type": "integer"
     },
     {
      "name": "g_comm_breadth_max",
      "type": "integer"
     },
     {
      "name": "g_comm_breadth_mean",
      "type": "number"
     },
     {
      "name": "g_comm_breadth_top3",
      "type": "number"
     },
     {
      "name": "yt_breadth_n",
      "type": "integer"
     },
     {
      "name": "yt_breadth_max",
      "type": "integer"
     },
     {
      "name": "yt_breadth_mean",
      "type": "number"
     },
     {
      "name": "yt_breadth_top3",
      "type": "number"
     },
     {
      "name": "b_breadth_n",
      "type": "integer"
     },
     {
      "name": "b_breadth_max",
      "type": "integer"
     },
     {
      "name": "b_breadth_mean",
      "type": "number"
     },
     {
      "name": "b_breadth_top3",
      "type": "number"
     },
     {
      "name": "b_comm_breadth_n",
      "type": "integer"
     },
     {
      "name": "b_comm_breadth_max",
      "type": "integer"
     },
     {
      "name": "b_comm_breadth_mean",
      "type": "number"
     },
     {
      "name": "b_comm_breadth_top3",
      "type": "number"
     },
     {
      "name": "g_union_breadth",
      "type": "integer"
     },
     {
      "name": "yt_union_breadth",
      "type": "integer"
     },
     {
      "name": "b_union_breadth",
      "type": "integer"
     },
     {
      "name": "g_gratis_pooled",
      "type": "number"
     },
     {
      "name": "g_download_pooled",
      "type": "number"
     },
     {
      "name": "g_online_pooled",
      "type": "number"
     },
     {
      "name": "g_app_pooled",
      "type": "number"
     },
     {
      "name": "g_planilha_pooled",
      "type": "number"
     },
     {
      "name": "g_mercado_livre_pooled",
      "type": "number"
     },
     {
      "name": "g_offline_pooled",
      "type": "number"
     },
     {
      "name": "g_vitalicio_pooled",
      "type": "number"
     },
     {
      "name": "g_sem_mensalidade_pooled",
      "type": "number"
     },
     {
      "name": "g_purchase_pooled",
      "type": "number"
     },
     {
      "name": "g_info_pooled",
      "type": "number"
     },
     {
      "name": "g_template_pooled",
      "type": "number"
     },
     {
      "name": "g_piracy_pooled",
      "type": "number"
     },
     {
      "name": "g_navigational_pooled",
      "type": "number"
     },
     {
      "name": "g_commercial_pooled",
      "type": "number"
     },
     {
      "name": "b_commercial_pooled",
      "type": "number"
     },
     {
      "name": "b_navigational_pooled",
      "type": "number"
     },
     {
      "name": "b_gratis_pooled",
      "type": "number"
     },
     {
      "name": "b_purchase_pooled",
      "type": "number"
     },
     {
      "name": "yt_tutorial_pooled",
      "type": "number"
     },
     {
      "name": "yt_gratis_pooled",
      "type": "number"
     },
     {
      "name": "best_seed",
      "type": "string"
     },
     {
      "name": "c_g_comm",
      "type": "number"
     },
     {
      "name": "c_yt",
      "type": "number"
     },
     {
      "name": "c_bing",
      "type": "number"
     },
     {
      "name": "search_index",
      "type": "number"
     },
     {
      "name": "ml_n_listings",
      "type": "integer"
     },
     {
      "name": "ml_sum_reviews",
      "type": "integer"
     },
     {
      "name": "ml_top3_reviews",
      "type": "integer"
     },
     {
      "name": "ml_top1_reviews",
      "type": "integer"
     },
     {
      "name": "ml_top1_title",
      "type": "string"
     },
     {
      "name": "ml_top3_share",
      "type": "number"
     },
     {
      "name": "c_ml",
      "type": "number"
     },
     {
      "name": "hotmart_n_products",
      "type": "integer"
     },
     {
      "name": "hotmart_top3_reviews",
      "type": "integer"
     },
     {
      "name": "hotmart_top1",
      "type": "string"
     },
     {
      "name": "c_hotmart",
      "type": "number"
     },
     {
      "name": "play_niche",
      "type": "string"
     },
     {
      "name": "play_br_top5_installs",
      "type": "integer"
     },
     {
      "name": "play_top_app",
      "type": "string"
     },
     {
      "name": "play_imputed",
      "type": "string"
     },
     {
      "name": "c_play",
      "type": "number"
     },
     {
      "name": "c_paid_phrasing",
      "type": "number"
     },
     {
      "name": "pdai",
      "type": "number"
     },
     {
      "name": "pdai_no_play_imputation",
      "type": "number"
     },
     {
      "name": "score_search_only",
      "type": "number"
     },
     {
      "name": "rank_search_only",
      "type": "integer"
     },
     {
      "name": "score_paid_heavy",
      "type": "number"
     },
     {
      "name": "rank_paid_heavy",
      "type": "integer"
     },
     {
      "name": "score_equal",
      "type": "number"
     },
     {
      "name": "rank_equal",
      "type": "integer"
     },
     {
      "name": "score_no_ml",
      "type": "number"
     },
     {
      "name": "rank_no_ml",
      "type": "integer"
     },
     {
      "name": "rank_pdai",
      "type": "integer"
     },
     {
      "name": "rank_range",
      "type": "string"
     },
     {
      "name": "rank_search",
      "type": "integer"
     },
     {
      "name": "rank_pdai_families",
      "type": "integer"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w2-26-demand-index.csv"
    }
   ],
   "group": "demand",
   "rows": 27
  },
  {
   "name": "search-seed-metrics",
   "path": "tables/search-seed-metrics.csv",
   "profile": "tabular-data-resource",
   "title": "Demand metrics per seed (wave 2)",
   "description": "The 144 seeds behind the uniform demand index with their per-engine breadth and modifier shares.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 21879,
   "hash": "sha256:da008d6224a58035ec8eaaf0ce90e0949174e682b3173cb35cf61189a8729f48",
   "schema": {
    "fields": [
     {
      "name": "unit",
      "type": "string"
     },
     {
      "name": "unit_key",
      "type": "string"
     },
     {
      "name": "seed",
      "type": "string"
     },
     {
      "name": "given",
      "type": "string"
     },
     {
      "name": "g_answered",
      "type": "integer"
     },
     {
      "name": "g_breadth",
      "type": "integer"
     },
     {
      "name": "g_comm_breadth",
      "type": "integer"
     },
     {
      "name": "g_comm_share",
      "type": "number"
     },
     {
      "name": "g_purchase_share",
      "type": "number"
     },
     {
      "name": "g_info_share",
      "type": "number"
     },
     {
      "name": "g_template_share",
      "type": "number"
     },
     {
      "name": "g_piracy_share",
      "type": "number"
     },
     {
      "name": "g_gratis",
      "type": "number"
     },
     {
      "name": "g_download",
      "type": "number"
     },
     {
      "name": "g_online",
      "type": "number"
     },
     {
      "name": "g_app",
      "type": "number"
     },
     {
      "name": "g_planilha",
      "type": "number"
     },
     {
      "name": "g_mercado_livre",
      "type": "number"
     },
     {
      "name": "g_offline",
      "type": "number"
     },
     {
      "name": "g_vitalicio",
      "type": "number"
     },
     {
      "name": "g_sem_mensalidade",
      "type": "number"
     },
     {
      "name": "yt_answered",
      "type": "integer"
     },
     {
      "name": "yt_breadth",
      "type": "integer"
     },
     {
      "name": "yt_tutorial_share",
      "type": "number"
     },
     {
      "name": "b_answered",
      "type": "integer"
     },
     {
      "name": "b_breadth",
      "type": "integer"
     },
     {
      "name": "b_comm_breadth",
      "type": "integer"
     },
     {
      "name": "b_gratis",
      "type": "number"
     },
     {
      "name": "b_purchase",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w2-26-seed-metrics.csv"
    }
   ],
   "group": "demand",
   "rows": 144
  },
  {
   "name": "search-niches-wave1",
   "path": "tables/search-niches-wave1.csv",
   "profile": "tabular-data-resource",
   "title": "Autosuggest niches ranked (wave 1)",
   "description": "214 niches ranked by a demand score from Google autosuggest breadth, probes, organic hits and YouTube, with modifier counts (grátis, offline, sem mensalidade, Excel, online, baixar, nota fiscal, Mercado Livre...). Places in the example completions read <place>.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 95139,
   "hash": "sha256:95511a1e63457d474247282ccff7a033b053268983854524d71353d32f12401e",
   "schema": {
    "fields": [
     {
      "name": "rank",
      "type": "integer",
      "description": "Rank of the family in the R50 ranking (1 = best); blank for the module and the distribution channel."
     },
     {
      "name": "demand_score",
      "type": "number"
     },
     {
      "name": "id",
      "type": "string"
     },
     {
      "name": "label",
      "type": "string"
     },
     {
      "name": "cluster",
      "type": "string"
     },
     {
      "name": "type",
      "type": "string"
     },
     {
      "name": "g_breadth",
      "type": "integer"
     },
     {
      "name": "probe_depth",
      "type": "number"
     },
     {
      "name": "probe_coverage",
      "type": "number"
     },
     {
      "name": "families",
      "type": "integer"
     },
     {
      "name": "family_groups",
      "type": "integer"
     },
     {
      "name": "organic_hits",
      "type": "integer"
     },
     {
      "name": "organic_score",
      "type": "number"
     },
     {
      "name": "yt_breadth",
      "type": "integer"
     },
     {
      "name": "intent_seed_hits",
      "type": "integer"
     },
     {
      "name": "g_breadth_all",
      "type": "integer"
     },
     {
      "name": "pooled_completions",
      "type": "integer"
     },
     {
      "name": "modifier_n",
      "type": "integer"
     },
     {
      "name": "price_sensitivity",
      "type": "number"
     },
     {
      "name": "installable_intent",
      "type": "number"
     },
     {
      "name": "mod_gratis",
      "type": "number"
     },
     {
      "name": "mod_gratuito",
      "type": "number"
     },
     {
      "name": "mod_offline",
      "type": "number"
     },
     {
      "name": "mod_sem_internet",
      "type": "number"
     },
     {
      "name": "mod_sem_mensalidade",
      "type": "number"
     },
     {
      "name": "mod_excel",
      "type": "number"
     },
     {
      "name": "mod_online",
      "type": "number"
     },
     {
      "name": "mod_baixar",
      "type": "number"
     },
     {
      "name": "mod_com_nota_fiscal",
      "type": "number"
     },
     {
      "name": "mod_mercado_livre",
      "type": "number"
     },
     {
      "name": "mod_para_pc",
      "type": "number"
     },
     {
      "name": "mod_android",
      "type": "number"
     },
     {
      "name": "mod_whatsapp",
      "type": "number"
     },
     {
      "name": "mod_completo",
      "type": "number"
     },
     {
      "name": "mod_simples",
      "type": "number"
     },
     {
      "name": "mod_melhor",
      "type": "number"
     },
     {
      "name": "mod_preco",
      "type": "number"
     },
     {
      "name": "mod_por_assinatura",
      "type": "number"
     },
     {
      "name": "mod_sebrae",
      "type": "number"
     },
     {
      "name": "mod_ia",
      "type": "number"
     },
     {
      "name": "mod_pix",
      "type": "number"
     },
     {
      "name": "mod_aprender",
      "type": "number"
     },
     {
      "name": "mod_pirataria",
      "type": "number"
     },
     {
      "name": "mod_modelo",
      "type": "number"
     },
     {
      "name": "fmt_sistema",
      "type": "number"
     },
     {
      "name": "fmt_programa",
      "type": "number"
     },
     {
      "name": "fmt_app",
      "type": "number"
     },
     {
      "name": "fmt_planilha",
      "type": "number"
     },
     {
      "name": "fmt_bot",
      "type": "number"
     },
     {
      "name": "examples",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/16-autosuggest-niches.csv"
    }
   ],
   "group": "demand",
   "rows": 214
  },
  {
   "name": "search-autosuggest-docs",
   "path": "tables/search-autosuggest-docs.csv",
   "profile": "tabular-data-resource",
   "title": "Autosuggest summary: documents, real estate, legal, office",
   "description": "Autosuggest results per seed for the wave-3 documents, real-estate, legal and office niches, with free, template, tool and professional shares. Places in the completions read <place>.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 47329,
   "hash": "sha256:9a20de1a4fdf3c12fa8a128def0c67a530d40bdca0225ab7e8e045e8abd82f12",
   "schema": {
    "fields": [
     {
      "name": "engine",
      "type": "string"
     },
     {
      "name": "seed",
      "type": "string"
     },
     {
      "name": "cluster",
      "type": "string"
     },
     {
      "name": "n_suggestions",
      "type": "integer"
     },
     {
      "name": "n_on_topic",
      "type": "integer"
     },
     {
      "name": "free_share",
      "type": "number"
     },
     {
      "name": "template_share",
      "type": "number"
     },
     {
      "name": "tool_share",
      "type": "number"
     },
     {
      "name": "pro_share",
      "type": "number"
     },
     {
      "name": "blocked",
      "type": "string"
     },
     {
      "name": "suggestions",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w3-09-autosuggest-summary.csv"
    }
   ],
   "group": "demand",
   "rows": 121
  },
  {
   "name": "search-autosuggest-simples",
   "path": "tables/search-autosuggest-simples.csv",
   "profile": "tabular-data-resource",
   "title": "Autosuggest summary: Simples Nacional and the reform",
   "description": "Autosuggest completions per seed for Simples Nacional, hybrid regime and reform pricing queries. Places in the completions read <place>.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 29105,
   "hash": "sha256:d6d8e1532e6d6e219f8f5cfe91452cb0e472dacbfb17d45e7f3268aabbfe8181",
   "schema": {
    "fields": [
     {
      "name": "engine",
      "type": "string"
     },
     {
      "name": "seed",
      "type": "string"
     },
     {
      "name": "n_suggestions",
      "type": "integer"
     },
     {
      "name": "blocked",
      "type": "string"
     },
     {
      "name": "suggestions",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-02-autosuggest-summary.csv"
    }
   ],
   "group": "demand",
   "rows": 102
  },
  {
   "name": "marketplace-listings",
   "path": "tables/marketplace-listings.csv",
   "profile": "tabular-data-resource",
   "title": "Mercado Livre software listings (deduplicated)",
   "description": "3,322 deduplicated Mercado Livre listings of software, spreadsheets and kits observed live and in archived search pages (2019-2026): title, prices, reviews, rating, dates, niche, job, kind (self-developed, resale, gray market), estimated lifetime units. Seller names are replaced by stable pseudonyms.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 1216231,
   "hash": "sha256:337f8461c021c72bff148f1bb8cfc484d211fdc72d8f7326787573d4ede93c83",
   "schema": {
    "fields": [
     {
      "name": "listing_key",
      "type": "string"
     },
     {
      "name": "mlb_ids",
      "type": "string"
     },
     {
      "name": "catalog_ids",
      "type": "string"
     },
     {
      "name": "title",
      "type": "string"
     },
     {
      "name": "seller",
      "type": "string"
     },
     {
      "name": "seller_source",
      "type": "string"
     },
     {
      "name": "seller_inferred",
      "type": "string"
     },
     {
      "name": "seller_inferred_basis",
      "type": "string"
     },
     {
      "name": "price_min",
      "type": "number"
     },
     {
      "name": "price_max",
      "type": "number"
     },
     {
      "name": "price_latest",
      "type": "number"
     },
     {
      "name": "reviews_max",
      "type": "integer"
     },
     {
      "name": "reviews_counted",
      "type": "integer"
     },
     {
      "name": "reviews_pool",
      "type": "string"
     },
     {
      "name": "rating",
      "type": "number"
     },
     {
      "name": "first_seen",
      "type": "date",
      "format": "any"
     },
     {
      "name": "last_seen",
      "type": "date",
      "format": "any"
     },
     {
      "name": "n_observations",
      "type": "integer"
     },
     {
      "name": "n_undated_snippet_obs",
      "type": "integer"
     },
     {
      "name": "source_files",
      "type": "string"
     },
     {
      "name": "search_slugs",
      "type": "string"
     },
     {
      "name": "ever_sponsored",
      "type": "string"
     },
     {
      "name": "ever_mais_vendido",
      "type": "string"
     },
     {
      "name": "sold_label",
      "type": "string"
     },
     {
      "name": "kind",
      "type": "string"
     },
     {
      "name": "scope",
      "type": "string"
     },
     {
      "name": "niche",
      "type": "string"
     },
     {
      "name": "job",
      "type": "string",
      "description": "What the software does for the buyer: check, calculate, document, schedule, operate, sell, learn, content, data or personal."
     },
     {
      "name": "jobs_all",
      "type": "string"
     },
     {
      "name": "claims",
      "type": "string"
     },
     {
      "name": "brand",
      "type": "string"
     },
     {
      "name": "est_units_x8",
      "type": "integer"
     },
     {
      "name": "est_units_x20",
      "type": "integer"
     },
     {
      "name": "official_store",
      "type": "string"
     },
     {
      "name": "seller_id",
      "type": "string"
     },
     {
      "name": "source_types",
      "type": "string"
     },
     {
      "name": "id_basis",
      "type": "string"
     },
     {
      "name": "dedupe_method",
      "type": "string"
     },
     {
      "name": "n_cards",
      "type": "integer"
     },
     {
      "name": "n_titles_seen",
      "type": "integer"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w2-20-master-listings.csv"
    }
   ],
   "group": "demand",
   "rows": 3322
  },
  {
   "name": "marketplace-observations",
   "path": "tables/marketplace-observations.csv",
   "profile": "tabular-data-resource",
   "title": "Mercado Livre listing observations",
   "description": "4,207 individual observations of listings (page, date, position, price, reviews, sponsored, best-seller label) behind the deduplicated listings. Seller names are pseudonyms.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 1025285,
   "hash": "sha256:0f68cdc186166484916936d5e7e7455317a591ca7e79f9debf90805cdddf61d5",
   "schema": {
    "fields": [
     {
      "name": "obs_id",
      "type": "integer"
     },
     {
      "name": "listing_key",
      "type": "string"
     },
     {
      "name": "source_type",
      "type": "string"
     },
     {
      "name": "source_file",
      "type": "string"
     },
     {
      "name": "page",
      "type": "string"
     },
     {
      "name": "date",
      "type": "date",
      "format": "any"
     },
     {
      "name": "pos",
      "type": "integer"
     },
     {
      "name": "title",
      "type": "string"
     },
     {
      "name": "item_ids",
      "type": "string"
     },
     {
      "name": "up_ids",
      "type": "string"
     },
     {
      "name": "cat_ids",
      "type": "string"
     },
     {
      "name": "price",
      "type": "number"
     },
     {
      "name": "list_price",
      "type": "number"
     },
     {
      "name": "rating",
      "type": "number"
     },
     {
      "name": "reviews",
      "type": "integer"
     },
     {
      "name": "sponsored",
      "type": "string"
     },
     {
      "name": "mais_vendido",
      "type": "string"
     },
     {
      "name": "seller",
      "type": "string"
     },
     {
      "name": "seller_basis",
      "type": "string"
     },
     {
      "name": "sold_label",
      "type": "string"
     },
     {
      "name": "parser",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w2-20-observations.csv"
    }
   ],
   "group": "demand",
   "rows": 4207
  },
  {
   "name": "marketplace-niche-demand",
   "path": "tables/marketplace-niche-demand.csv",
   "profile": "tabular-data-resource",
   "title": "Mercado Livre demand per niche",
   "description": "Per niche and dimension: listings, listings with reviews, total reviews, self-developed share, top listing, review-weighted median price, concentration and estimated lifetime units. Seller names are pseudonyms.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 12558,
   "hash": "sha256:384c64c93fcc634e74cd1bcbf0311e268fdf29e8521339432df54fa1c47b2ac1",
   "schema": {
    "fields": [
     {
      "name": "dimension",
      "type": "string"
     },
     {
      "name": "value",
      "type": "string"
     },
     {
      "name": "n_listings",
      "type": "integer"
     },
     {
      "name": "n_with_reviews",
      "type": "integer"
     },
     {
      "name": "total_reviews",
      "type": "integer"
     },
     {
      "name": "n_listings_selfdev",
      "type": "integer"
     },
     {
      "name": "total_reviews_selfdev",
      "type": "integer"
     },
     {
      "name": "top_listing_reviews",
      "type": "integer"
     },
     {
      "name": "top_listing_title",
      "type": "string"
     },
     {
      "name": "top_listing_seller",
      "type": "string"
     },
     {
      "name": "top_listing_price",
      "type": "number"
     },
     {
      "name": "top_listing_key",
      "type": "string"
     },
     {
      "name": "review_weighted_median_price",
      "type": "number"
     },
     {
      "name": "median_price_unweighted",
      "type": "number"
     },
     {
      "name": "top3_share_of_reviews",
      "type": "number"
     },
     {
      "name": "est_lifetime_units_x8",
      "type": "integer"
     },
     {
      "name": "est_lifetime_units_x20",
      "type": "integer"
     },
     {
      "name": "latest_obs_date",
      "type": "date",
      "format": "any"
     },
     {
      "name": "n_listings_undated_only",
      "type": "integer"
     },
     {
      "name": "n_search_pages",
      "type": "integer"
     },
     {
      "name": "kind_mix_by_reviews",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w2-20-niche-demand.csv"
    }
   ],
   "group": "demand",
   "rows": 61
  },
  {
   "name": "marketplace-price-bands",
   "path": "tables/marketplace-price-bands.csv",
   "profile": "tabular-data-resource",
   "title": "Mercado Livre price bands",
   "description": "Listings and reviews per price band and group, with median price and top listing.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 3251,
   "hash": "sha256:480ad779a0568a89220ed20352134bd294b34334a17c7639fa54b4e931dcc509",
   "schema": {
    "fields": [
     {
      "name": "group",
      "type": "string"
     },
     {
      "name": "band",
      "type": "string"
     },
     {
      "name": "n_listings",
      "type": "integer"
     },
     {
      "name": "share_of_listings",
      "type": "number"
     },
     {
      "name": "n_with_reviews",
      "type": "integer"
     },
     {
      "name": "total_reviews",
      "type": "integer"
     },
     {
      "name": "share_of_reviews",
      "type": "number"
     },
     {
      "name": "median_price",
      "type": "number"
     },
     {
      "name": "top_listing",
      "type": "string"
     },
     {
      "name": "top_listing_reviews",
      "type": "integer"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w2-20-price-bands.csv"
    }
   ],
   "group": "demand",
   "rows": 32
  },
  {
   "name": "marketplace-seller-leaderboard",
   "path": "tables/marketplace-seller-leaderboard.csv",
   "profile": "tabular-data-resource",
   "title": "Mercado Livre seller leaderboard",
   "description": "71 sellers of software on Mercado Livre ranked by reviews: listings, reviews, estimated lifetime units, top listing, price range, niches and dates. Seller names are pseudonyms.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 16099,
   "hash": "sha256:bbdb40990b47899a3655cc3c7bc904cd12120eac4ea064a591de58a09013ccee",
   "schema": {
    "fields": [
     {
      "name": "scope",
      "type": "string"
     },
     {
      "name": "seller",
      "type": "string"
     },
     {
      "name": "attribution",
      "type": "string"
     },
     {
      "name": "n_listings",
      "type": "integer"
     },
     {
      "name": "n_listings_verified_seller",
      "type": "integer"
     },
     {
      "name": "n_with_reviews",
      "type": "integer"
     },
     {
      "name": "total_reviews",
      "type": "integer"
     },
     {
      "name": "est_lifetime_units_x8",
      "type": "integer"
     },
     {
      "name": "est_lifetime_units_x20",
      "type": "integer"
     },
     {
      "name": "top_listing_title",
      "type": "string"
     },
     {
      "name": "top_listing_reviews",
      "type": "integer"
     },
     {
      "name": "top_listing_price",
      "type": "number"
     },
     {
      "name": "top_listing_key",
      "type": "string"
     },
     {
      "name": "price_min",
      "type": "number"
     },
     {
      "name": "price_max",
      "type": "number"
     },
     {
      "name": "n_niches",
      "type": "integer"
     },
     {
      "name": "niches_covered",
      "type": "string"
     },
     {
      "name": "kinds",
      "type": "string"
     },
     {
      "name": "total_reviews_selfdev",
      "type": "integer"
     },
     {
      "name": "first_seen",
      "type": "date",
      "format": "any"
     },
     {
      "name": "last_seen",
      "type": "date",
      "format": "any"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w2-20-seller-leaderboard.csv"
    }
   ],
   "group": "demand",
   "rows": 71
  },
  {
   "name": "marketplace-search-pages",
   "path": "tables/marketplace-search-pages.csv",
   "profile": "tabular-data-resource",
   "title": "Archived Mercado Livre search pages",
   "description": "70 archived Mercado Livre search pages used for the listing dataset: date, slug, parser, items, reviews and total results.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 29997,
   "hash": "sha256:e7ff1f7b79b5a5aa76affe74937be7f87ba1ae2b1974ed4dce70e1b12dfeb243",
   "schema": {
    "fields": [
     {
      "name": "date",
      "type": "date",
      "format": "any"
     },
     {
      "name": "ts",
      "type": "integer"
     },
     {
      "name": "display_slug",
      "type": "string"
     },
     {
      "name": "slug",
      "type": "string"
     },
     {
      "name": "url",
      "type": "string"
     },
     {
      "name": "category_page",
      "type": "string"
     },
     {
      "name": "chosen_parser",
      "type": "string"
     },
     {
      "name": "chosen_file",
      "type": "string"
     },
     {
      "name": "chosen_n_items",
      "type": "integer"
     },
     {
      "name": "chosen_n_with_reviews",
      "type": "integer"
     },
     {
      "name": "chosen_sum_reviews",
      "type": "integer"
     },
     {
      "name": "chosen_n_with_price",
      "type": "integer"
     },
     {
      "name": "reviews_unknown",
      "type": "string"
     },
     {
      "name": "reviews_unknown_reason",
      "type": "string"
     },
     {
      "name": "total_results",
      "type": "integer"
     },
     {
      "name": "n_versions",
      "type": "integer"
     },
     {
      "name": "stored_best_items",
      "type": "integer"
     },
     {
      "name": "stored_best_reviews",
      "type": "integer"
     },
     {
      "name": "versions",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w2-20-pages.csv"
    }
   ],
   "group": "demand",
   "rows": 70
  },
  {
   "name": "marketplace-latam-listings",
   "path": "tables/marketplace-latam-listings.csv",
   "profile": "tabular-data-resource",
   "title": "Software listings in other Latin American marketplaces",
   "description": "102 listings from Mercado Libre sites in other countries, priced in local currency and in reais at October 2026 exchange rates. Seller names are pseudonyms.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 28019,
   "hash": "sha256:2fac5d1e79c6a937b2f2c4061c2be535538360770cffeb4d56e7308e01c6de5f",
   "schema": {
    "fields": [
     {
      "name": "country",
      "type": "string"
     },
     {
      "name": "site",
      "type": "string"
     },
     {
      "name": "search_slug",
      "type": "string"
     },
     {
      "name": "snapshot_date",
      "type": "date",
      "format": "any"
     },
     {
      "name": "pos",
      "type": "integer"
     },
     {
      "name": "title",
      "type": "string"
     },
     {
      "name": "item_id",
      "type": "string"
     },
     {
      "name": "price_local",
      "type": "number"
     },
     {
      "name": "currency",
      "type": "string"
     },
     {
      "name": "price_brl_at_2026_10_fx",
      "type": "number"
     },
     {
      "name": "rating",
      "type": "number"
     },
     {
      "name": "reviews",
      "type": "integer"
     },
     {
      "name": "sponsored",
      "type": "string"
     },
     {
      "name": "seller",
      "type": "string"
     },
     {
      "name": "source_file",
      "type": "string"
     },
     {
      "name": "kind",
      "type": "string"
     },
     {
      "name": "scope",
      "type": "string"
     },
     {
      "name": "niche",
      "type": "string"
     },
     {
      "name": "job",
      "type": "string",
      "description": "What the software does for the buyer: check, calculate, document, schedule, operate, sell, learn, content, data or personal."
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w2-20-latam-listings.csv"
    }
   ],
   "group": "demand",
   "rows": 102
  },
  {
   "name": "marketplace-listings-wave2",
   "path": "tables/marketplace-listings-wave2.csv",
   "profile": "tabular-data-resource",
   "title": "Mercado Livre listings used by the demand index",
   "description": "806 listings with units, reviews, price and observation dates used by the wave-2 demand index.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 86418,
   "hash": "sha256:e1d46e038a2c7d07e854923a5c94e4bd5a5f4ff99b7975e98d9e93a7fe07448f",
   "schema": {
    "fields": [
     {
      "name": "units",
      "type": "string"
     },
     {
      "name": "title",
      "type": "string"
     },
     {
      "name": "reviews",
      "type": "integer"
     },
     {
      "name": "price_brl",
      "type": "number"
     },
     {
      "name": "mlb",
      "type": "string"
     },
     {
      "name": "n_obs",
      "type": "integer"
     },
     {
      "name": "latest_obs",
      "type": "string"
     },
     {
      "name": "sources",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w2-26-ml-listings.csv"
    }
   ],
   "group": "demand",
   "rows": 806
  },
  {
   "name": "app-store-apps",
   "path": "tables/app-store-apps.csv",
   "profile": "tabular-data-resource",
   "title": "Google Play apps for small-business jobs",
   "description": "1,380 Google Play apps found by job queries: developer, genre, installs, score, ratings, price, in-app purchase range, last update and the queries that found them.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 244073,
   "hash": "sha256:1de78bcd0377abb8f88c8eaa856bc1673a2dafc3ff373c4d62745ffe81ec64eb",
   "schema": {
    "fields": [
     {
      "name": "appId",
      "type": "string"
     },
     {
      "name": "title",
      "type": "string"
     },
     {
      "name": "developer",
      "type": "string"
     },
     {
      "name": "genre",
      "type": "string"
     },
     {
      "name": "installs",
      "type": "integer"
     },
     {
      "name": "score",
      "type": "number"
     },
     {
      "name": "ratings",
      "type": "integer"
     },
     {
      "name": "free",
      "type": "string"
     },
     {
      "name": "price",
      "type": "number"
     },
     {
      "name": "iap_range",
      "type": "string"
     },
     {
      "name": "released",
      "type": "string"
     },
     {
      "name": "updated",
      "type": "string"
     },
     {
      "name": "queries",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/20-playstore-summary.csv"
    }
   ],
   "group": "demand",
   "rows": 1380
  },
  {
   "name": "app-store-complaints",
   "path": "tables/app-store-complaints.csv",
   "profile": "tabular-data-resource",
   "title": "Complaint themes per app (Google Play)",
   "description": "48 small-business apps with installs, score, the share of negative reviews among the newest and the top complaint themes.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 9355,
   "hash": "sha256:bd5e2f6994512bf96b26a07e40dc2778cc77189be55ff2b6e06ee521c7eaf4fc",
   "schema": {
    "fields": [
     {
      "name": "appId",
      "type": "string"
     },
     {
      "name": "title",
      "type": "string"
     },
     {
      "name": "group",
      "type": "string"
     },
     {
      "name": "installs",
      "type": "integer"
     },
     {
      "name": "score",
      "type": "number"
     },
     {
      "name": "ratings",
      "type": "integer"
     },
     {
      "name": "newest_n",
      "type": "integer"
     },
     {
      "name": "newest_neg_share",
      "type": "number"
     },
     {
      "name": "neg_reviews_used",
      "type": "integer"
     },
     {
      "name": "neg_date_min",
      "type": "date",
      "format": "any"
     },
     {
      "name": "neg_date_max",
      "type": "date",
      "format": "any"
     },
     {
      "name": "top_themes",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/17-play-app-summary.csv"
    }
   ],
   "group": "demand",
   "rows": 48
  },
  {
   "name": "app-store-complaint-themes",
   "path": "tables/app-store-complaint-themes.csv",
   "profile": "tabular-data-resource",
   "title": "Complaint themes across app groups",
   "description": "23 complaint themes counted across negative Google Play reviews in four app groups (POS and stock, fiscal and MEI, food delivery, beauty services).",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 1421,
   "hash": "sha256:84c16d50bc9e36fa3929d968ceecbfd3cacbfc40e3ed59babf9ad719a56c6fcd",
   "schema": {
    "fields": [
     {
      "name": "theme",
      "type": "string"
     },
     {
      "name": "ALL_n",
      "type": "integer"
     },
     {
      "name": "pos_stock_erp_n",
      "type": "integer"
     },
     {
      "name": "fiscal_mei_n",
      "type": "integer"
     },
     {
      "name": "food_delivery_n",
      "type": "integer"
     },
     {
      "name": "beauty_services_n",
      "type": "integer"
     },
     {
      "name": "ALL_pct",
      "type": "number"
     },
     {
      "name": "pos_stock_erp_pct",
      "type": "number"
     },
     {
      "name": "fiscal_mei_pct",
      "type": "number"
     },
     {
      "name": "food_delivery_pct",
      "type": "number"
     },
     {
      "name": "beauty_services_pct",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/17-play-theme-counts.csv"
    }
   ],
   "group": "demand",
   "rows": 23
  },
  {
   "name": "global-analogs",
   "path": "tables/global-analogs.csv",
   "profile": "tabular-data-resource",
   "title": "Proven foreign products and the Brazilian gap",
   "description": "43 foreign micro-SaaS and one-time tools with revenue evidence (annualized USD), what they do and cost, Brazilian equivalents and prices, the gap status, the Brazilian demand signal, localization needs and the decision.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 15885,
   "hash": "sha256:ff8e7555a82eaa41fa4d69655fb6982e19f312a92b6efbd29b38089ad6759e0c",
   "schema": {
    "fields": [
     {
      "name": "id",
      "type": "string"
     },
     {
      "name": "global_product",
      "type": "string"
     },
     {
      "name": "category",
      "type": "string"
     },
     {
      "name": "what_it_does",
      "type": "string"
     },
     {
      "name": "model_price",
      "type": "string"
     },
     {
      "name": "revenue_evidence",
      "type": "string"
     },
     {
      "name": "revenue_annualized_usd_approx",
      "type": "integer"
     },
     {
      "name": "evidence_date",
      "type": "string"
     },
     {
      "name": "evidence_type",
      "type": "string"
     },
     {
      "name": "br_equivalents",
      "type": "string"
     },
     {
      "name": "br_prices",
      "type": "string"
     },
     {
      "name": "br_gap_status",
      "type": "string"
     },
     {
      "name": "br_demand_signal",
      "type": "string"
     },
     {
      "name": "localization_needs",
      "type": "string"
     },
     {
      "name": "bureaucracy_flags",
      "type": "string"
     },
     {
      "name": "decision",
      "type": "string"
     },
     {
      "name": "sources",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-16-global-examples.csv"
    }
   ],
   "group": "supply",
   "rows": 43
  },
  {
   "name": "sales-pages",
   "path": "tables/sales-pages.csv",
   "profile": "tabular-data-resource",
   "title": "Sales pages of Brazilian software sellers",
   "description": "40 sales pages of software and kits sold in Brazil: channel, product, checkout, price and anchor, installments, headline, demo, proof, guarantee, bonuses, order bump, upsell, delivery and support promises, tracking, software claims and compliance flags. Seller names and contacts are removed.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 45109,
   "hash": "sha256:ab39849c8340a743c8b2884a29f6daf17c7d5f7c35858d73067d67251a481bcc",
   "schema": {
    "fields": [
     {
      "name": "id",
      "type": "string"
     },
     {
      "name": "segment",
      "type": "string"
     },
     {
      "name": "channel",
      "type": "string"
     },
     {
      "name": "product",
      "type": "string"
     },
     {
      "name": "url",
      "type": "string"
     },
     {
      "name": "checkout_url",
      "type": "string"
     },
     {
      "name": "observed",
      "type": "string"
     },
     {
      "name": "source_method",
      "type": "string"
     },
     {
      "name": "price_cash_brl",
      "type": "string"
     },
     {
      "name": "price_anchor",
      "type": "string"
     },
     {
      "name": "installments",
      "type": "string"
     },
     {
      "name": "installment_cost",
      "type": "string"
     },
     {
      "name": "headline",
      "type": "string"
     },
     {
      "name": "demo_video",
      "type": "string"
     },
     {
      "name": "proof",
      "type": "string"
     },
     {
      "name": "guarantee_wording",
      "type": "string"
     },
     {
      "name": "bonuses",
      "type": "string"
     },
     {
      "name": "order_bump",
      "type": "string"
     },
     {
      "name": "upsell",
      "type": "string"
     },
     {
      "name": "checkout_platform",
      "type": "string"
     },
     {
      "name": "payment_options",
      "type": "string"
     },
     {
      "name": "delivery_promise",
      "type": "string"
     },
     {
      "name": "support_promise",
      "type": "string"
     },
     {
      "name": "legal_terms",
      "type": "string"
     },
     {
      "name": "tracking_tags",
      "type": "string"
     },
     {
      "name": "cookie_banner",
      "type": "string"
     },
     {
      "name": "urgency_scarcity",
      "type": "string"
     },
     {
      "name": "software_claims",
      "type": "string"
     },
     {
      "name": "compliance_flags",
      "type": "string"
     },
     {
      "name": "notes",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w3-03-sales-pages.csv"
    }
   ],
   "group": "channels",
   "rows": 40
  },
  {
   "name": "checkout-platforms",
   "path": "tables/checkout-platforms.csv",
   "profile": "tabular-data-resource",
   "title": "Checkout and infoproduct platforms",
   "description": "21 checkout platforms compared for selling software: fees by method, effective fee on a R$97 sale, payout, reserves, refunds, chargebacks, whether software is allowed, affiliates, order bumps, upsells, webhooks, native NFS-e and its cost.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 20889,
   "hash": "sha256:7271f7d8ee709cf99e187647c0b541fbcf1349fc255f24e77e63fcf33cd1abb7",
   "schema": {
    "fields": [
     {
      "name": "platform",
      "type": "string"
     },
     {
      "name": "type",
      "type": "string"
     },
     {
      "name": "fee_card",
      "type": "string"
     },
     {
      "name": "fee_pix",
      "type": "string"
     },
     {
      "name": "fee_boleto",
      "type": "string"
     },
     {
      "name": "installments",
      "type": "string"
     },
     {
      "name": "fee_on_R97_sale_blended",
      "type": "number"
     },
     {
      "name": "effective_fee_R97_incl_refund_and_dispute_fees",
      "type": "number"
     },
     {
      "name": "payout_pix",
      "type": "string"
     },
     {
      "name": "payout_card",
      "type": "string"
     },
     {
      "name": "reserves_new_sellers",
      "type": "string"
     },
     {
      "name": "withdrawal_fee",
      "type": "string"
     },
     {
      "name": "refund_7day",
      "type": "string"
     },
     {
      "name": "chargeback_rules",
      "type": "string"
     },
     {
      "name": "software_allowed",
      "type": "string"
     },
     {
      "name": "ai_rule",
      "type": "string"
     },
     {
      "name": "affiliate_marketplace",
      "type": "string"
     },
     {
      "name": "order_bump",
      "type": "string"
     },
     {
      "name": "one_click_upsell",
      "type": "string"
     },
     {
      "name": "webhooks_api",
      "type": "string"
     },
     {
      "name": "nfse_native",
      "type": "string"
     },
     {
      "name": "nfse_cheapest_auto_100_sales",
      "type": "string"
     },
     {
      "name": "nfse_cheapest_auto_1000_sales",
      "type": "string"
     },
     {
      "name": "nfse_cheapest_auto_5000_sales",
      "type": "string"
     },
     {
      "name": "international_cards",
      "type": "string"
     },
     {
      "name": "cpf_vs_cnpj",
      "type": "string"
     },
     {
      "name": "verdict_for_us",
      "type": "string"
     },
     {
      "name": "sources",
      "type": "string"
     },
     {
      "name": "status",
      "type": "string"
     },
     {
      "name": "verified_on",
      "type": "date",
      "format": "any"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w3-04-platforms.csv"
    }
   ],
   "group": "channels",
   "rows": 21
  },
  {
   "name": "checkout-fee-per-sale",
   "path": "tables/checkout-fee-per-sale.csv",
   "profile": "tabular-data-resource",
   "title": "Checkout fees per R$97 sale",
   "description": "Effective fee per R$97 sale per checkout, including dispute fees.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 919,
   "hash": "sha256:b897527ba2a57a6da39a8bd344d7ac8c7058deaad428ceaa42f97b98a4016b40",
   "schema": {
    "fields": [
     {
      "name": "checkout",
      "type": "string"
     },
     {
      "name": "fee_pix_R97",
      "type": "number"
     },
     {
      "name": "fee_card_R97",
      "type": "number"
     },
     {
      "name": "fee_blended_R97",
      "type": "number"
     },
     {
      "name": "dispute_fees_per_sale",
      "type": "number"
     },
     {
      "name": "effective_fee_per_sale",
      "type": "number"
     },
     {
      "name": "effective_pct_of_price",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w3-04-fee-per-sale.csv"
    }
   ],
   "group": "channels",
   "rows": 21
  },
  {
   "name": "nfse-issuers",
   "path": "tables/nfse-issuers.csv",
   "profile": "tabular-data-resource",
   "title": "Cost of issuing NFS-e per sale volume",
   "description": "Monthly and per-note cost of issuing service invoices automatically at different sales volumes.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 746,
   "hash": "sha256:10340ee8ccbbc20e91b126700dbbc00c6628ea3e57336272f628852a2883a566",
   "schema": {
    "fields": [
     {
      "name": "issuer",
      "type": "string"
     },
     {
      "name": "sales_per_month",
      "type": "integer"
     },
     {
      "name": "notes_per_month",
      "type": "number"
     },
     {
      "name": "monthly_cost_brl",
      "type": "number"
     },
     {
      "name": "cost_per_note_brl",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w3-04-nfse-issuers.csv"
    }
   ],
   "group": "channels",
   "rows": 21
  },
  {
   "name": "selling-stack-costs",
   "path": "tables/selling-stack-costs.csv",
   "profile": "tabular-data-resource",
   "title": "Cost of the selling stack per volume",
   "description": "Total cost of checkout, invoicing and licensing stacks at different monthly sales volumes.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 4625,
   "hash": "sha256:0e0250f08e1498fa4cc844711f47bcb3085854f7bf27a023e873a2db95c5c969",
   "schema": {
    "fields": [
     {
      "name": "stack",
      "type": "string"
     },
     {
      "name": "sales_per_month",
      "type": "integer"
     },
     {
      "name": "gmv_brl",
      "type": "number"
     },
     {
      "name": "platform_fees_brl",
      "type": "number"
     },
     {
      "name": "guru_plan_brl",
      "type": "number"
     },
     {
      "name": "nfse_issuer",
      "type": "string"
     },
     {
      "name": "nfse_cost_brl",
      "type": "number"
     },
     {
      "name": "licence_infra_brl",
      "type": "number"
     },
     {
      "name": "total_brl",
      "type": "number"
     },
     {
      "name": "total_per_sale_brl",
      "type": "number"
     },
     {
      "name": "total_pct_gmv",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w3-04-cost-model.csv"
    }
   ],
   "group": "channels",
   "rows": 63
  },
  {
   "name": "payment-providers",
   "path": "tables/payment-providers.csv",
   "profile": "tabular-data-resource",
   "title": "Payment providers for recurring billing",
   "description": "12 payment providers compared for subscriptions: fees for card, Pix, Pix Automático and boleto, payout, dunning, chargeback terms, built-in NFS-e, split, and the cost of charging R$49 and R$99.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 12349,
   "hash": "sha256:d6ab2104b367ce7e5f1bb6722668619c24953f1e5e4e48bd3b3dd400c755683c",
   "schema": {
    "fields": [
     {
      "name": "id",
      "type": "string"
     },
     {
      "name": "provider",
      "type": "string"
     },
     {
      "name": "category",
      "type": "string"
     },
     {
      "name": "bcb_or_status_note",
      "type": "string"
     },
     {
      "name": "monthly_fee_brl",
      "type": "string"
     },
     {
      "name": "card_recurring_fee",
      "type": "string"
     },
     {
      "name": "card_payout",
      "type": "string"
     },
     {
      "name": "pix_fee",
      "type": "string"
     },
     {
      "name": "pix_automatico",
      "type": "string"
     },
     {
      "name": "boleto_fee",
      "type": "string"
     },
     {
      "name": "subscription_engine",
      "type": "string"
     },
     {
      "name": "dunning_retries",
      "type": "string"
     },
     {
      "name": "chargeback_terms",
      "type": "string"
     },
     {
      "name": "nfse_builtin",
      "type": "string"
     },
     {
      "name": "split_model",
      "type": "string"
     },
     {
      "name": "split_requirements_for_platform",
      "type": "string"
     },
     {
      "name": "liability_in_split",
      "type": "string"
     },
     {
      "name": "cost_card_r49_brl",
      "type": "number"
     },
     {
      "name": "cost_card_r49_pct",
      "type": "number"
     },
     {
      "name": "cost_pixauto_r49_brl",
      "type": "number"
     },
     {
      "name": "cost_pixauto_r49_pct",
      "type": "number"
     },
     {
      "name": "cost_card_r99_brl",
      "type": "number"
     },
     {
      "name": "cost_pixauto_r99_brl",
      "type": "number"
     },
     {
      "name": "best_use",
      "type": "string"
     },
     {
      "name": "cautions",
      "type": "string"
     },
     {
      "name": "sources",
      "type": "string"
     },
     {
      "name": "checked",
      "type": "date",
      "format": "any"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-10-psps.csv"
    }
   ],
   "group": "channels",
   "rows": 12
  },
  {
   "name": "fiscal-api-vendors",
   "path": "tables/fiscal-api-vendors.csv",
   "profile": "tabular-data-resource",
   "title": "Fiscal invoicing API vendors",
   "description": "24 fiscal API vendors (NF-e, NFC-e, NFS-e, CT-e, MDF-e): reform readiness, pricing, cost per document, certificate custody, contingency, status pages, incidents, SLA and contract terms.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 15474,
   "hash": "sha256:c25b281ec04c9d20774d5c8c446972a211126e31e5a1c985aa22832badcf231f",
   "schema": {
    "fields": [
     {
      "name": "vendor",
      "type": "string"
     },
     {
      "name": "status_2026_10",
      "type": "string"
     },
     {
      "name": "type",
      "type": "string"
     },
     {
      "name": "target",
      "type": "string"
     },
     {
      "name": "nfe",
      "type": "string"
     },
     {
      "name": "nfce",
      "type": "string"
     },
     {
      "name": "nfse_nacional",
      "type": "string"
     },
     {
      "name": "nfse_municipal",
      "type": "string"
     },
     {
      "name": "cte",
      "type": "string"
     },
     {
      "name": "mdfe",
      "type": "string"
     },
     {
      "name": "reform_ibs_cbs",
      "type": "string"
     },
     {
      "name": "official_rfb_calculator",
      "type": "string"
     },
     {
      "name": "pricing_model",
      "type": "string"
     },
     {
      "name": "entry_price_brl_month",
      "type": "string"
     },
     {
      "name": "included_docs",
      "type": "string"
     },
     {
      "name": "overage_brl_per_doc",
      "type": "string"
     },
     {
      "name": "pooled_multi_cnpj",
      "type": "string"
     },
     {
      "name": "est_cost_brl_per_doc_at_scale",
      "type": "string"
     },
     {
      "name": "certificate_custody",
      "type": "string"
     },
     {
      "name": "a3_accepted",
      "type": "string"
     },
     {
      "name": "offline_nfce_contingency",
      "type": "string"
     },
     {
      "name": "infresptec_default",
      "type": "string"
     },
     {
      "name": "on_sc_paf_nfce_list",
      "type": "string"
     },
     {
      "name": "public_status_page",
      "type": "string"
     },
     {
      "name": "uptime_incidents_2026",
      "type": "string"
     },
     {
      "name": "contract_sla",
      "type": "string"
     },
     {
      "name": "termination_notice",
      "type": "string"
     },
     {
      "name": "liability_cap",
      "type": "string"
     },
     {
      "name": "xml_retention",
      "type": "string"
     },
     {
      "name": "api_versioning_2024_2026",
      "type": "string"
     },
     {
      "name": "founded_age",
      "type": "string"
     },
     {
      "name": "vendor_death_risk",
      "type": "string"
     },
     {
      "name": "fit_for_us",
      "type": "string"
     },
     {
      "name": "sources",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-07-vendors.csv"
    }
   ],
   "group": "channels",
   "rows": 24
  },
  {
   "name": "fiscal-api-cost-model",
   "path": "tables/fiscal-api-cost-model.csv",
   "profile": "tabular-data-resource",
   "title": "Cost model for invoicing through an API",
   "description": "All-in monthly cost of issuing documents through a fiscal API for five buyer profiles.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 1513,
   "hash": "sha256:4e37abbac1a4d2c75e89f5a6836d90c5da6b146e177f9b707b4fdc3baf4c4425",
   "schema": {
    "fields": [
     {
      "name": "profile",
      "type": "string"
     },
     {
      "name": "buyer",
      "type": "string"
     },
     {
      "name": "documents",
      "type": "string"
     },
     {
      "name": "docs_per_month",
      "type": "string"
     },
     {
      "name": "vendor_low",
      "type": "number"
     },
     {
      "name": "vendor_base",
      "type": "number"
     },
     {
      "name": "vendor_high",
      "type": "number"
     },
     {
      "name": "support_min_low",
      "type": "integer"
     },
     {
      "name": "support_min_base",
      "type": "integer"
     },
     {
      "name": "support_min_high",
      "type": "integer"
     },
     {
      "name": "support_cost_base",
      "type": "number"
     },
     {
      "name": "upkeep_share_low",
      "type": "number"
     },
     {
      "name": "upkeep_share_base",
      "type": "number"
     },
     {
      "name": "upkeep_share_high",
      "type": "number"
     },
     {
      "name": "our_cost_low",
      "type": "number"
     },
     {
      "name": "our_cost_base",
      "type": "number"
     },
     {
      "name": "our_cost_high",
      "type": "number"
     },
     {
      "name": "a1_base",
      "type": "number"
     },
     {
      "name": "all_in_low",
      "type": "number"
     },
     {
      "name": "all_in_base",
      "type": "number"
     },
     {
      "name": "all_in_high",
      "type": "number"
     },
     {
      "name": "inhouse_breakeven_customers",
      "type": "string"
     },
     {
      "name": "price_anchor_observed",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-07-cost-model.csv"
    }
   ],
   "group": "channels",
   "rows": 5
  },
  {
   "name": "code-signing-options",
   "path": "tables/code-signing-options.csv",
   "profile": "tabular-data-resource",
   "title": "Code-signing options for Windows software",
   "description": "22 ways to sign Windows installers (OV, EV, Azure Trusted Signing, Store...): validation, key storage, price, SmartScreen and Smart App Control behaviour, availability to Brazilian firms and CI fit.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 9985,
   "hash": "sha256:15911f291b3d8172ba0c914857388e3db9d97f3acc898c07e9e392fe607af41a",
   "schema": {
    "fields": [
     {
      "name": "option_id",
      "type": "string"
     },
     {
      "name": "channel_or_ca",
      "type": "string"
     },
     {
      "name": "product",
      "type": "string"
     },
     {
      "name": "validation",
      "type": "string"
     },
     {
      "name": "key_storage",
      "type": "string"
     },
     {
      "name": "list_price",
      "type": "number"
     },
     {
      "name": "currency",
      "type": "string"
     },
     {
      "name": "billing_basis",
      "type": "string"
     },
     {
      "name": "est_brl_per_year",
      "type": "string"
     },
     {
      "name": "smartscreen_first_download",
      "type": "string"
     },
     {
      "name": "smart_app_control",
      "type": "string"
     },
     {
      "name": "available_to_br_me",
      "type": "string"
     },
     {
      "name": "issuance_or_review_time",
      "type": "string"
     },
     {
      "name": "cert_validity_rule",
      "type": "string"
     },
     {
      "name": "ci_friendly",
      "type": "string"
     },
     {
      "name": "role_in_standard",
      "type": "string"
     },
     {
      "name": "notes",
      "type": "string"
     },
     {
      "name": "source_url",
      "type": "string"
     },
     {
      "name": "observed_date",
      "type": "date",
      "format": "any"
     },
     {
      "name": "status",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w3-05-signing-options.csv"
    }
   ],
   "group": "channels",
   "rows": 22
  },
  {
   "name": "seller-tax-model",
   "path": "tables/seller-tax-model.csv",
   "profile": "tabular-data-resource",
   "title": "Tax on software revenue for a Simples seller",
   "description": "Effective tax (DAS, pro-labore, INSS, IRPF) at different monthly revenues for a Simples Nacional software seller.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 1510,
   "hash": "sha256:f5da8608d67351d669f189b208db6bab79edfa718726851c50bdc7288657ee91",
   "schema": {
    "fields": [
     {
      "name": "monthly_revenue_brl",
      "type": "number"
     },
     {
      "name": "annual_revenue_brl",
      "type": "number"
     },
     {
      "name": "annex",
      "type": "string"
     },
     {
      "name": "das_effective_rate_pct",
      "type": "number"
     },
     {
      "name": "das_brl",
      "type": "number"
     },
     {
      "name": "prolabore_brl",
      "type": "number"
     },
     {
      "name": "owner_inss_brl",
      "type": "number"
     },
     {
      "name": "owner_irpf_brl",
      "type": "number"
     },
     {
      "name": "total_tax_brl",
      "type": "number"
     },
     {
      "name": "all_in_rate_pct",
      "type": "number"
     },
     {
      "name": "distribution_over_50k_flag",
      "type": "string"
     },
     {
      "name": "cheaper_setup",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w3-05-tax-model.csv"
    }
   ],
   "group": "economics",
   "rows": 18
  },
  {
   "name": "marketplace-rules",
   "path": "tables/marketplace-rules.csv",
   "profile": "tabular-data-resource",
   "title": "Marketplace rules for selling software",
   "description": "27 marketplaces and channels: whether downloadable software or kits are allowed, delivery rules, automation, limits, fees, net on R$97 and R$147, discovery value, manual work per order and policy risk.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 19876,
   "hash": "sha256:a3c7268126e3d18c23d7dca0b5e8a6b4bcb9cad2ff879a2e49507af63e067727",
   "schema": {
    "fields": [
     {
      "name": "channel",
      "type": "string"
     },
     {
      "name": "group",
      "type": "string"
     },
     {
      "name": "downloadable_software_allowed",
      "type": "string"
     },
     {
      "name": "physical_kit_allowed",
      "type": "string"
     },
     {
      "name": "delivery_rule",
      "type": "string"
     },
     {
      "name": "automation_via_official_tools",
      "type": "string"
     },
     {
      "name": "key_limits_and_rules",
      "type": "string"
     },
     {
      "name": "fees_2026",
      "type": "string"
     },
     {
      "name": "net_R97_before_tax",
      "type": "string"
     },
     {
      "name": "net_R147_before_tax",
      "type": "string"
     },
     {
      "name": "discovery_value",
      "type": "string"
     },
     {
      "name": "manual_work_per_order",
      "type": "string"
     },
     {
      "name": "policy_risk",
      "type": "string"
     },
     {
      "name": "role_in_mix",
      "type": "string"
     },
     {
      "name": "status",
      "type": "string"
     },
     {
      "name": "sources",
      "type": "string"
     },
     {
      "name": "checked",
      "type": "date",
      "format": "any"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w3-19-marketplace-rules.csv"
    }
   ],
   "group": "channels",
   "rows": 27
  },
  {
   "name": "evidence-costs",
   "path": "tables/evidence-costs.csv",
   "profile": "tabular-data-resource",
   "title": "Costs of building and running local software",
   "description": "42 observed costs (certificates, signing, hosting, APIs, hardware) with date and source.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 6566,
   "hash": "sha256:17f6166999b973406e592af164ad880513275aa01ff64bd3c9c591ae6f08b160",
   "schema": {
    "fields": [
     {
      "name": "category",
      "type": "string"
     },
     {
      "name": "item",
      "type": "string"
     },
     {
      "name": "value",
      "type": "string"
     },
     {
      "name": "unit",
      "type": "string"
     },
     {
      "name": "date_observed",
      "type": "string"
     },
     {
      "name": "source_url",
      "type": "string"
     },
     {
      "name": "note",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/27-evidence-costs.csv"
    }
   ],
   "group": "economics",
   "rows": 42
  },
  {
   "name": "salesability",
   "path": "tables/salesability.csv",
   "profile": "tabular-data-resource",
   "title": "Salesability per product archetype",
   "description": "63 product archetypes: typical price, first-year revenue per buyer, the maximum acquisition cost for each salesability score, low, base and high CAC with method, CAC-to-revenue ratios and the resulting score.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 36585,
   "hash": "sha256:9a78481b5de18269e8771bbfa47234735eae6c1723fe84bf8f06280e1bca7a19",
   "schema": {
    "fields": [
     {
      "name": "archetype_id",
      "type": "string"
     },
     {
      "name": "archetype",
      "type": "string"
     },
     {
      "name": "delivery_model",
      "type": "string",
      "description": "offline (runs on the buyer's machine), hybrid (local with an optional cloud part), cloud-light (a small serverless service) or api."
     },
     {
      "name": "revenue_model",
      "type": "string",
      "description": "one-time, subscription or mixed."
     },
     {
      "name": "buyer_type",
      "type": "string"
     },
     {
      "name": "applicable",
      "type": "string"
     },
     {
      "name": "typical_price_brl",
      "type": "string"
     },
     {
      "name": "first_year_revenue_brl",
      "type": "integer"
     },
     {
      "name": "fyr_method",
      "type": "string"
     },
     {
      "name": "max_cac_for_score5_brl",
      "type": "integer"
     },
     {
      "name": "max_cac_for_score3_brl",
      "type": "integer"
     },
     {
      "name": "cac_low_brl",
      "type": "integer"
     },
     {
      "name": "cac_base_brl",
      "type": "integer"
     },
     {
      "name": "cac_high_brl",
      "type": "integer"
     },
     {
      "name": "cac_method",
      "type": "string"
     },
     {
      "name": "cac_to_fyr_low",
      "type": "number"
     },
     {
      "name": "cac_to_fyr_base",
      "type": "number"
     },
     {
      "name": "cac_to_fyr_high",
      "type": "number"
     },
     {
      "name": "self_serve_norm",
      "type": "string"
     },
     {
      "name": "rule_score_base",
      "type": "integer"
     },
     {
      "name": "rule_score_best_case",
      "type": "integer"
     },
     {
      "name": "salesability_score",
      "type": "integer"
     },
     {
      "name": "adjustment_vs_rule",
      "type": "string"
     },
     {
      "name": "assisted_trigger",
      "type": "string"
     },
     {
      "name": "score_rationale",
      "type": "string"
     },
     {
      "name": "evidence",
      "type": "string"
     },
     {
      "name": "evidence_grade",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-14-salesability.csv"
    }
   ],
   "group": "economics",
   "rows": 63
  },
  {
   "name": "salesability-benchmarks",
   "path": "tables/salesability-benchmarks.csv",
   "profile": "tabular-data-resource",
   "title": "Acquisition and conversion benchmarks",
   "description": "51 benchmarks for paid acquisition, conversion, refunds and churn, with sample, geography, date, grade and source.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 6432,
   "hash": "sha256:e00266df8acda42713ec68a3e0d97f9eb9f359a27e1f8ee76cb23740a0cb1f85",
   "schema": {
    "fields": [
     {
      "name": "id",
      "type": "string"
     },
     {
      "name": "topic",
      "type": "string"
     },
     {
      "name": "metric",
      "type": "string"
     },
     {
      "name": "value",
      "type": "string"
     },
     {
      "name": "sample",
      "type": "string"
     },
     {
      "name": "geography",
      "type": "string"
     },
     {
      "name": "date",
      "type": "string"
     },
     {
      "name": "grade",
      "type": "string"
     },
     {
      "name": "source",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-14-benchmarks.csv"
    }
   ],
   "group": "economics",
   "rows": 51
  },
  {
   "name": "salesability-cases",
   "path": "tables/salesability-cases.csv",
   "profile": "tabular-data-resource",
   "title": "Cases of small software sold to SMBs",
   "description": "21 companies that sold small software to small buyers: segment, price, entry offer, sales motion, channels, traction, outcome and the lesson.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 7993,
   "hash": "sha256:5b9f2a44d076e70da51ea3a81bf93d76aae7563bf04ba165e21ba4b1cf802a70",
   "schema": {
    "fields": [
     {
      "name": "company",
      "type": "string"
     },
     {
      "name": "segment",
      "type": "string"
     },
     {
      "name": "buyer_type",
      "type": "string"
     },
     {
      "name": "archetype",
      "type": "string"
     },
     {
      "name": "price_brl",
      "type": "string"
     },
     {
      "name": "entry_offer",
      "type": "string"
     },
     {
      "name": "sales_motion",
      "type": "string"
     },
     {
      "name": "primary_channels",
      "type": "string"
     },
     {
      "name": "creative_or_offer",
      "type": "string"
     },
     {
      "name": "traction",
      "type": "string"
     },
     {
      "name": "outcome",
      "type": "string"
     },
     {
      "name": "lesson",
      "type": "string"
     },
     {
      "name": "sources",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-14-cases.csv"
    }
   ],
   "group": "economics",
   "rows": 21
  },
  {
   "name": "paid-acquisition-simulation",
   "path": "tables/paid-acquisition-simulation.csv",
   "profile": "tabular-data-resource",
   "title": "Paid acquisition simulation",
   "description": "Monthly Monte Carlo simulation of ad spend, orders, gross sales and cash flow (mean, P10, P50, P90) for selling software through paid ads.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 3502,
   "hash": "sha256:8b0fbe294ef732287ecdcd1f61ef037420f785b2e7636186b882c6e75181ed77",
   "schema": {
    "fields": [
     {
      "name": "scenario",
      "type": "string"
     },
     {
      "name": "month",
      "type": "integer"
     },
     {
      "name": "ad_spend",
      "type": "number"
     },
     {
      "name": "orders",
      "type": "number"
     },
     {
      "name": "gross_sales",
      "type": "number"
     },
     {
      "name": "cash_flow_mean",
      "type": "number"
     },
     {
      "name": "cash_flow_p10",
      "type": "number"
     },
     {
      "name": "cash_flow_p90",
      "type": "number"
     },
     {
      "name": "cum_cash_mean",
      "type": "number"
     },
     {
      "name": "cum_cash_p10",
      "type": "number"
     },
     {
      "name": "cum_cash_p50",
      "type": "number"
     },
     {
      "name": "cum_cash_p90",
      "type": "number"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w3-06-sim-monthly.csv"
    }
   ],
   "group": "economics",
   "rows": 36
  },
  {
   "name": "money-models-simples",
   "path": "tables/money-models-simples.csv",
   "profile": "tabular-data-resource",
   "title": "Monthly revenue model for reform products",
   "description": "Monthly new units, renewals and gross revenue for the Simples-hybrid and reform products of wave 4.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 3304,
   "hash": "sha256:b345a2fd37a2a9d156803a14c45f4ce1d5a625be29b2273db624ac4b942656b5",
   "schema": {
    "fields": [
     {
      "name": "product",
      "type": "string"
     },
     {
      "name": "month",
      "type": "string"
     },
     {
      "name": "new_units",
      "type": "integer"
     },
     {
      "name": "renewals_or_editions",
      "type": "number"
     },
     {
      "name": "gross_brl",
      "type": "integer"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-02-money-models.csv"
    }
   ],
   "group": "economics",
   "rows": 72
  },
  {
   "name": "idea-screen-mei",
   "path": "tables/idea-screen-mei.csv",
   "profile": "tabular-data-resource",
   "title": "MEI 2027 idea screen",
   "description": "28 ideas screened for the MEI 2027 obligations, with outcome and reason.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 2809,
   "hash": "sha256:7b385a0d24855398f2a3456f44b2e88ff2fade487e7c8ef381a379b9a971e7ec",
   "schema": {
    "fields": [
     {
      "name": "idea",
      "type": "string"
     },
     {
      "name": "outcome",
      "type": "string"
     },
     {
      "name": "detail",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-06-idea-screen.csv"
    }
   ],
   "group": "ideas",
   "rows": 28
  },
  {
   "name": "idea-screen-ai",
   "path": "tables/idea-screen-ai.csv",
   "profile": "tabular-data-resource",
   "title": "Vertical AI idea screen",
   "description": "31 vertical AI cloud ideas screened: buyer, AI role, hard exclusions, AI entrants found, prices, free floor and decision.",
   "format": "csv",
   "mediatype": "text/csv",
   "encoding": "utf-8",
   "bytes": 6767,
   "hash": "sha256:46474aba8d7e7f50f572dd376f31cf9070974ab4a323aba5d7c0428ad1ef31db",
   "schema": {
    "fields": [
     {
      "name": "idea_id",
      "type": "string"
     },
     {
      "name": "idea",
      "type": "string"
     },
     {
      "name": "buyer",
      "type": "string"
     },
     {
      "name": "ai_role",
      "type": "string"
     },
     {
      "name": "hard_exclusion",
      "type": "string"
     },
     {
      "name": "ai_entrants_found",
      "type": "string"
     },
     {
      "name": "example_prices_brl",
      "type": "string"
     },
     {
      "name": "free_floor",
      "type": "string"
     },
     {
      "name": "decision",
      "type": "string"
     },
     {
      "name": "owner_if_handoff",
      "type": "string"
     },
     {
      "name": "notes",
      "type": "string"
     }
    ]
   },
   "sources": [
    {
     "title": "br-software-market/data/w4-13-screening.csv"
    }
   ],
   "group": "ideas",
   "rows": 31
  },
  {
   "name": "research-wave2-brief",
   "path": "research/briefs/wave2-brief.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 12472,
   "group": "research",
   "title": "Wave 2 brief: validate finalists, design products, forecast sales",
   "description": "brief BRIEF-W2, wave 2, 1,811 words"
  },
  {
   "name": "research-wave3-brief",
   "path": "research/briefs/wave3-brief.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 14149,
   "group": "research",
   "title": "Wave 3 brief: zero-maintenance downloadable software sold with paid traffic",
   "description": "brief BRIEF-W3, wave 3, 1,991 words"
  },
  {
   "name": "research-wave4-brief",
   "path": "research/briefs/wave4-brief.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 11252,
   "group": "research",
   "title": "Wave 4 brief: cloud-light products, the tax-reform gap, and the Top 50",
   "description": "brief BRIEF-W4, wave 4, 1,618 words"
  },
  {
   "name": "research-wave1-brief",
   "path": "research/briefs/wave1-brief.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 9990,
   "group": "research",
   "title": "Brief for every research agent: Brazil's market for installable software sold online",
   "description": "brief BRIEF-W1, wave 1, 1,383 words"
  },
  {
   "name": "research-01-ml-platform-rules-fees",
   "path": "research/wave1/01-ml-platform-rules-fees.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 70523,
   "group": "research",
   "title": "01 — Mercado Livre Brazil for sellers of software and digital goods (rules, fees, size, categories, platform changes, 2025–2026)",
   "description": "report W1-01, wave 1, 9,503 words"
  },
  {
   "name": "research-02-ml-listings-commerce-pdv",
   "path": "research/wave1/02-ml-listings-commerce-pdv.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 66602,
   "group": "research",
   "title": "02 · Mercado Livre listings for commerce / management software",
   "description": "report W1-02, wave 1, 10,410 words"
  },
  {
   "name": "research-03-ml-listings-service-verticals",
   "path": "research/wave1/03-ml-listings-service-verticals.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 89123,
   "group": "research",
   "title": "03 — Mercado Livre listings of software for service businesses and niche verticals",
   "description": "report W1-03, wave 1, 13,466 words"
  },
  {
   "name": "research-04-ml-listings-automation-marketing",
   "path": "research/wave1/04-ml-listings-automation-marketing.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 54003,
   "group": "research",
   "title": "04 — Mercado Livre (and adjacent) listings of automation, marketing and \"robô\" software, plus lottery, trading, betting and crypto tools",
   "description": "report W1-04, wave 1, 8,230 words"
  },
  {
   "name": "research-05-ml-planilhas-design-packs",
   "path": "research/wave1/05-ml-planilhas-design-packs.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 64323,
   "group": "research",
   "title": "05: Planilhas and \"Design Gráfico e Edição\" digital packs on Mercado Livre",
   "description": "report W1-05, wave 1, 8,391 words"
  },
  {
   "name": "research-06-ml-office-os-gray-market",
   "path": "research/wave1/06-ml-office-os-gray-market.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 82029,
   "group": "research",
   "title": "06 — Big-brand and gray-market software on Mercado Livre, and the demand it reveals",
   "description": "report W1-06, wave 1, 10,700 words"
  },
  {
   "name": "research-07-ml-top-sellers-smb-store",
   "path": "research/wave1/07-ml-top-sellers-smb-store.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 57158,
   "group": "research",
   "title": "07. The sellers: SMB Store deep-dive and Mercado Livre's top software sellers",
   "description": "report W1-07, wave 1, 8,250 words"
  },
  {
   "name": "research-08-digital-product-platforms",
   "path": "research/wave1/08-digital-product-platforms.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 60616,
   "group": "research",
   "title": "08 — Brazilian digital-product platforms (Hotmart, Kiwify, Eduzz & peers) as a channel for software",
   "description": "report W1-08, wave 1, 8,016 words"
  },
  {
   "name": "research-09-other-marketplaces",
   "path": "research/wave1/09-other-marketplaces.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 68952,
   "group": "research",
   "title": "09 — Non-Mercado-Livre marketplaces as channels for software and digital goods in Brazil",
   "description": "report W1-09, wave 1, 9,669 words"
  },
  {
   "name": "research-10-app-stores-download-portals",
   "path": "research/wave1/10-app-stores-download-portals.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 76635,
   "group": "research",
   "title": "10 · App stores and download portals as a demand map (Google Play BR, desktop portals, Microsoft Store BR)",
   "description": "report W1-10, wave 1, 12,334 words"
  },
  {
   "name": "research-11-growth-playbook",
   "path": "research/wave1/11-growth-playbook.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 75189,
   "group": "research",
   "title": "11 — Growth playbook for selling installable software online in Brazil (2025–2026)",
   "description": "report W1-11, wave 1, 9,894 words"
  },
  {
   "name": "research-12-brazil-smb-demographics",
   "path": "research/wave1/12-brazil-smb-demographics.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 102600,
   "group": "research",
   "title": "12 — The buyer base: size and shape of Brazil's small-business market (Oct 2026)",
   "description": "report W1-12, wave 1, 15,493 words"
  },
  {
   "name": "research-13-fiscal-regulatory-forcing",
   "path": "research/wave1/13-fiscal-regulatory-forcing.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 95051,
   "group": "research",
   "title": "13 — Regulation that forces software purchases or updates in Brazil (2025–2033)",
   "description": "report W1-13, wave 1, 12,562 words"
  },
  {
   "name": "research-14-saas-landscape-horizontal",
   "path": "research/wave1/14-saas-landscape-horizontal.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 68766,
   "group": "research",
   "title": "14 — The horizontal management-software landscape: the \"price umbrella\" over one-time local software (Brazil, October 2026)",
   "description": "report W1-14, wave 1, 10,120 words"
  },
  {
   "name": "research-15-saas-landscape-vertical",
   "path": "research/wave1/15-saas-landscape-vertical.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 115344,
   "group": "research",
   "title": "15 — Vertical software incumbents in Brazil and their prices (2026): where a cheap one-time local product can undercut",
   "description": "report W1-15, wave 1, 16,430 words"
  },
  {
   "name": "research-16-search-demand-autosuggest",
   "path": "research/wave1/16-search-demand-autosuggest.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 164724,
   "group": "research",
   "title": "16 · Search demand by niche: Google, YouTube and Bing autosuggest",
   "description": "report W1-16, wave 1, 30,693 words"
  },
  {
   "name": "research-17-pain-mining-complaints",
   "path": "research/wave1/17-pain-mining-complaints.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 84862,
   "group": "research",
   "title": "17 — Pain mining: what Brazilian small businesses hate about their software (and about buying cheap software online)",
   "description": "report W1-17, wave 1, 11,633 words"
  },
  {
   "name": "research-18-vertical-retail",
   "path": "research/wave1/18-vertical-retail.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 92459,
   "group": "research",
   "title": "18 — Vertical dossier: small physical RETAIL in Brazil",
   "description": "report W1-18, wave 1, 12,894 words"
  },
  {
   "name": "research-19-vertical-food-service",
   "path": "research/wave1/19-vertical-food-service.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 82791,
   "group": "research",
   "title": "19 — Vertical: food service and artisanal food production (Brazil)",
   "description": "report W1-19, wave 1, 10,657 words"
  },
  {
   "name": "research-20-vertical-auto-technical-trades",
   "path": "research/wave1/20-vertical-auto-technical-trades.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 79924,
   "group": "research",
   "title": "20 — Vertical: automotive and technical trades",
   "description": "report W1-20, wave 1, 10,744 words"
  },
  {
   "name": "research-21-vertical-health-beauty-fitness-pet",
   "path": "research/wave1/21-vertical-health-beauty-fitness-pet.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 86304,
   "group": "research",
   "title": "21 — Vertical: Health, Beauty, Fitness and Pet services",
   "description": "report W1-21, wave 1, 10,981 words"
  },
  {
   "name": "research-22-vertical-education-religion-associations-events",
   "path": "research/wave1/22-vertical-education-religion-associations-events.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 78617,
   "group": "research",
   "title": "22 — Vertical dossier: Education, Religion, Associations, Condominiums and Events (Brazil)",
   "description": "report W1-22, wave 1, 9,958 words"
  },
  {
   "name": "research-23-vertical-professionals-construction-b2b",
   "path": "research/wave1/23-vertical-professionals-construction-b2b.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 90947,
   "group": "research",
   "title": "23 — Professionals, construction and B2B services: installable-software opportunities in Brazil",
   "description": "report W1-23, wave 1, 12,400 words"
  },
  {
   "name": "research-24-vertical-agro-logistics-rental",
   "path": "research/wave1/24-vertical-agro-logistics-rental.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 69615,
   "group": "research",
   "title": "24 — Vertical dossier: Agro, Logistics and Rental (incl. parking, access control, gas & water)",
   "description": "report W1-24, wave 1, 9,240 words"
  },
  {
   "name": "research-25-vertical-personal-consumer",
   "path": "research/wave1/25-vertical-personal-consumer.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 75107,
   "group": "research",
   "title": "25 — Consumer / personal software sold online in Brazil",
   "description": "report W1-25, wave 1, 10,191 words"
  },
  {
   "name": "research-26-tools-for-ecommerce-sellers",
   "path": "research/wave1/26-tools-for-ecommerce-sellers.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 74989,
   "group": "research",
   "title": "26 — The meta-market: software for people who sell online in Brazil",
   "description": "report W1-26, wave 1, 9,958 words"
  },
  {
   "name": "research-27-tech-feasibility-local-software",
   "path": "research/wave1/27-tech-feasibility-local-software.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 88231,
   "group": "research",
   "title": "27 — Building, shipping and supporting installable business software in Brazil when code is nearly free",
   "description": "report W1-27, wave 1, 12,143 words"
  },
  {
   "name": "research-28-ai-native-local-tools",
   "path": "research/wave1/28-ai-native-local-tools.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 77020,
   "group": "research",
   "title": "28 — AI-native local tools: new installable-software categories made possible by cheap/local AI (2025–2026)",
   "description": "report W1-28, wave 1, 9,923 words"
  },
  {
   "name": "research-29-latam-international-analogs",
   "path": "research/wave1/29-latam-international-analogs.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 68013,
   "group": "research",
   "title": "29 — Does the market replicate outside Brazil? Latin America, international analogs, and the real cost of localization",
   "description": "report W1-29, wave 1, 8,732 words"
  },
  {
   "name": "research-30-unit-economics-model",
   "path": "research/wave1/30-unit-economics-model.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 69433,
   "group": "research",
   "title": "30 — Unit economics of selling installable software online in Brazil (inputs verified Oct 2026)",
   "description": "report W1-30, wave 1, 11,150 words"
  },
  {
   "name": "research-w2-01-retail-pdv-core",
   "path": "research/wave2/W2-01-retail-pdv-core.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 65329,
   "group": "research",
   "title": "W2-01: Generic retail PDV core (\"sistema para loja / mercadinho / controle de estoque / PDV / caixa\") with an optional NFC-e module",
   "description": "report W2-01, wave 2, 9,621 words"
  },
  {
   "name": "research-w2-02-fashion-crediario",
   "path": "research/wave2/W2-02-fashion-crediario.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 54127,
   "group": "research",
   "title": "W2-02: \"Loja de Roupas & Calçados sem mensalidade\" + \"Crediário & Carnê com PIX\" (module and standalone)",
   "description": "report W2-02, wave 2, 7,331 words"
  },
  {
   "name": "research-w2-03-adega-deposito",
   "path": "research/wave2/W2-03-adega-deposito.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 56641,
   "group": "research",
   "title": "W2-03: PDV edition for adegas, depósitos de bebidas, conveniências and disk gás & água",
   "description": "report W2-03, wave 2, 7,734 words"
  },
  {
   "name": "research-w2-04-food-service",
   "path": "research/wave2/W2-04-food-service.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 67672,
   "group": "research",
   "title": "W2-04: Food-service systems — offline LAN comandas + kitchen printing PDV, delivery/WhatsApp desk, fichas for festas",
   "description": "report W2-04, wave 2, 9,543 words"
  },
  {
   "name": "research-w2-05-assistencia-tecnica",
   "path": "research/wave2/W2-05-assistencia-tecnica.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 57664,
   "group": "research",
   "title": "W2-05: Ordem de serviço + balcão para assistência técnica (celular, informática, eletrônicos, eletrodomésticos, videogames)",
   "description": "report W2-05, wave 2, 8,149 words"
  },
  {
   "name": "research-w2-06-oficina",
   "path": "research/wave2/W2-06-oficina.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 57016,
   "group": "research",
   "title": "W2-06: Oficina system (oficina mecânica, motos, auto elétrica, funilaria/pintura, borracharia)",
   "description": "report W2-06, wave 2, 8,116 words"
  },
  {
   "name": "research-w2-07-oficios-orcamento",
   "path": "research/wave2/W2-07-oficios-orcamento.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 51909,
   "group": "research",
   "title": "W2-07: Ofícios — \"orçamento → OS → recibo → nota\" app for service trades (Android-first + Windows companion)",
   "description": "report W2-07, wave 2, 7,340 words"
  },
  {
   "name": "research-w2-08-marcenaria",
   "path": "research/wave2/W2-08-marcenaria.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 54702,
   "group": "research",
   "title": "W2-08: Marcenaria / móveis planejados — módulos paramétricos, plano de corte, etiquetas e orçamento (offline)",
   "description": "report W2-08, wave 2, 7,313 words"
  },
  {
   "name": "research-w2-09-personalizados-estudio",
   "path": "research/wave2/W2-09-personalizados-estudio.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 51200,
   "group": "research",
   "title": "W2-09: Estúdio de Personalizados (sublimação, DTF, laser, plotter, gráfica rápida, papelaria/festa) + Kit IA local",
   "description": "report W2-09, wave 2, 7,307 words"
  },
  {
   "name": "research-w2-10-bordado",
   "path": "research/wave2/W2-10-bordado.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 49062,
   "group": "research",
   "title": "W2-10: Bordado Fácil — PT-BR machine-embroidery software (open/convert/resize, names and monograms, thread charts, job costing)",
   "description": "report W2-10, wave 2, 6,496 words"
  },
  {
   "name": "research-w2-11-nfse-nacional-toolkit",
   "path": "research/wave2/W2-11-nfse-nacional-toolkit.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 53022,
   "group": "research",
   "title": "W2-11: NFS-e Nacional toolkit — batch/recurring emitter, downloader-conferidor for accountants, MEI edition (Windows, taxpayer's own A1)",
   "description": "report W2-11, wave 2, 7,036 words"
  },
  {
   "name": "research-w2-12-health-professionals",
   "path": "research/wave2/W2-12-health-professionals.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 61636,
   "group": "research",
   "title": "W2-12: Local-first tools for autonomous health professionals — \"Recibo Saúde PC\" (Receita Saúde em lote + livro-caixa + Carnê-Leão) and \"Consultório Psi Local\" (prontuário criptografado + IA no PC)",
   "description": "report W2-12, wave 2, 8,296 words"
  },
  {
   "name": "research-w2-13-construction-budget",
   "path": "research/wave2/W2-13-construction-budget.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 52559,
   "group": "research",
   "title": "W2-13: Offline construction budgeting (SINAPI/SICRO desktop) + Android diário de obra (RDO)",
   "description": "report W2-13, wave 2, 7,380 words"
  },
  {
   "name": "research-w2-14-church-associations",
   "path": "research/wave2/W2-14-church-associations.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 58853,
   "group": "research",
   "title": "W2-14: Local-first church management (secretaria + tesouraria + AI atas), with an atas SKU for condos and associations",
   "description": "report W2-14, wave 2, 7,502 words"
  },
  {
   "name": "research-w2-15-ecommerce-seller-desk",
   "path": "research/wave2/W2-15-ecommerce-seller-desk.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 57682,
   "group": "research",
   "title": "W2-15: Seller desk for small marketplace sellers: \"Bancada de Expedição\" (labels + item check + packing video) with a file-based \"Lucro\" module",
   "description": "report W2-15, wave 2, 7,928 words"
  },
  {
   "name": "research-w2-16-revendedora",
   "path": "research/wave2/W2-16-revendedora.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 46396,
   "group": "research",
   "title": "W2-16: \"Caderninho da Revendedora\" — offline-first, multi-brand ledger for direct-sales resellers (Android-first)",
   "description": "report W2-16, wave 2, 6,195 words"
  },
  {
   "name": "research-w2-17-landlords",
   "path": "research/wave2/W2-17-landlords.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 47937,
   "group": "research",
   "title": "W2-17: \"Meus Aluguéis\" — desktop + Android for individual landlords and tiny administrators (2–50 units)",
   "description": "report W2-17, wave 2, 6,239 words"
  },
  {
   "name": "research-w2-18-lawyers",
   "path": "research/wave2/W2-18-lawyers.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 52479,
   "group": "research",
   "title": "W2-18: Local-first tools for solo lawyers and small law firms (\"Prazo Certo\", \"Degravação offline\", templates)",
   "description": "report W2-18, wave 2, 6,983 words"
  },
  {
   "name": "research-w2-19-long-tail-sweep",
   "path": "research/wave2/W2-19-long-tail-sweep.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 61661,
   "group": "research",
   "title": "W2-19: Long-tail sweep of 16 candidate verticals",
   "description": "report W2-19, wave 2, 9,405 words"
  },
  {
   "name": "research-w2-20-master-dataset",
   "path": "research/wave2/W2-20-master-dataset.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 42233,
   "group": "research",
   "title": "W2-20: Master dataset of Mercado Livre software listings (observations 2016–2026)",
   "description": "report W2-20, wave 2, 6,351 words"
  },
  {
   "name": "research-w2-21-fiscal-engine-mei2027",
   "path": "research/wave2/W2-21-fiscal-engine-mei2027.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 74571,
   "group": "research",
   "title": "W2-21: Fiscal engine and the MEI 2027 rule — whether, how and when our products should emit fiscal documents",
   "description": "report W2-21, wave 2, 11,083 words"
  },
  {
   "name": "research-w2-22-distribution-ops-runbook",
   "path": "research/wave2/W2-22-distribution-ops-runbook.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 85429,
   "group": "research",
   "title": "W2-22: Distribution and operations runbook — how to sell, deliver, support and get paid (Brazil, Oct 2026)",
   "description": "report W2-22, wave 2, 12,191 words"
  },
  {
   "name": "research-w2-23-local-first-chassis",
   "path": "research/wave2/W2-23-local-first-chassis.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 87971,
   "group": "research",
   "title": "W2-23: Local-first chassis — architecture blueprint for many vertical editions",
   "description": "report W2-23, wave 2, 12,448 words"
  },
  {
   "name": "research-w2-24-red-team",
   "path": "research/wave2/W2-24-red-team.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 73410,
   "group": "research",
   "title": "W2-24 — Red team: what is wrong with \"build and sell the Top 10 installable products online in Brazil\"",
   "description": "report W2-24, wave 2, 10,497 words"
  },
  {
   "name": "research-w2-25-ai-native-ops",
   "path": "research/wave2/W2-25-ai-native-ops.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 68937,
   "group": "research",
   "title": "W2-25: AI-native operations — where agents give a real cost or speed edge (and where they don't)",
   "description": "report W2-25, wave 2, 9,873 words"
  },
  {
   "name": "research-w2-26-uniform-demand-index",
   "path": "research/wave2/W2-26-uniform-demand-index.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 36876,
   "group": "research",
   "title": "W2-26: One uniform demand index for the wave-2 finalist families",
   "description": "report W2-26, wave 2, 5,982 words"
  },
  {
   "name": "research-w2-27-b2b-fiscal-engine",
   "path": "research/wave2/W2-27-b2b-fiscal-engine.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 63056,
   "group": "research",
   "title": "W2-27: B2B fiscal engine for Brazil's PDV/ERP software houses — sizing the wholesale path and choosing the variant with a real asymmetry",
   "description": "report W2-27, wave 2, 8,895 words"
  },
  {
   "name": "research-w3-01-rescore-existing",
   "path": "research/wave3/W3-01-rescore-existing.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 50855,
   "group": "research",
   "title": "W3-01: Re-score of every wave-1/2 idea under the wave-3 model",
   "description": "report W3-01, wave 3, 8,657 words"
  },
  {
   "name": "research-w3-02-ad-intelligence",
   "path": "research/wave3/W3-02-ad-intelligence.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 8907,
   "group": "research",
   "title": "W3-02 Ad-library intelligence (Meta Ad Library, Google Ads Transparency, TikTok Creative Center)",
   "description": "report W3-02, wave 3, 1,355 words"
  },
  {
   "name": "research-w3-03-sales-page-blueprint",
   "path": "research/wave3/W3-03-sales-page-blueprint.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 104451,
   "group": "research",
   "title": "W3-03: Sales-page and funnel blueprint for downloadable software in Brazil, plus brand and domain architecture",
   "description": "report W3-03, wave 3, 16,141 words"
  },
  {
   "name": "research-w3-04-checkout-affiliate-invoicing",
   "path": "research/wave3/W3-04-checkout-affiliate-invoicing.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 57444,
   "group": "research",
   "title": "W3-04: Checkout, affiliate and invoicing stack for downloadable software with zero manual work per sale",
   "description": "report W3-04, wave 3, 8,082 words"
  },
  {
   "name": "research-w3-05-zero-maintenance-standard",
   "path": "research/wave3/W3-05-zero-maintenance-standard.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 66899,
   "group": "research",
   "title": "W3-05: The zero-maintenance, zero-support product standard (technical and legal stack, Oct 2026)",
   "description": "report W3-05, wave 3, 9,775 words"
  },
  {
   "name": "research-w3-06-paid-acquisition-economics",
   "path": "research/wave3/W3-06-paid-acquisition-economics.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 77430,
   "group": "research",
   "title": "W3-06 — Paid-acquisition economics and the test-and-scale protocol for 20–30 downloadable Windows products (Brazil, Oct 2026)",
   "description": "report W3-06, wave 3, 12,485 words"
  },
  {
   "name": "research-w3-07-keyword-seo-map",
   "path": "research/wave3/W3-07-keyword-seo-map.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 57378,
   "group": "research",
   "title": "W3-07: Keyword and SEO opportunity map for downloadable tools (178 niches)",
   "description": "report W3-07, wave 3, 9,881 words"
  },
  {
   "name": "research-w3-08-red-team-sell-and-forget",
   "path": "research/wave3/W3-08-red-team-sell-and-forget.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 71972,
   "group": "research",
   "title": "W3-08 — Red team: what kills sell-and-forget downloadable software in Brazil, and the design rules that follow",
   "description": "report W3-08, wave 3, 9,966 words"
  },
  {
   "name": "research-w3-09-docs-realestate-legal-office",
   "path": "research/wave3/W3-09-docs-realestate-legal-office.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 119522,
   "group": "research",
   "title": "W3-09: Real estate, legal and office documents (zero-maintenance downloadable software)",
   "description": "report W3-09, wave 3, 18,036 words"
  },
  {
   "name": "research-w3-10-trades-compliance-docs",
   "path": "research/wave3/W3-10-trades-compliance-docs.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 155476,
   "group": "research",
   "title": "W3-10 — Technical trades and compliance documents: download-only Windows products",
   "description": "report W3-10, wave 3, 23,755 words"
  },
  {
   "name": "research-w3-11-health-wellness-beauty",
   "path": "research/wave3/W3-11-health-wellness-beauty.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 108874,
   "group": "research",
   "title": "W3-11: Health, wellness and beauty professionals — zero-maintenance downloadable products",
   "description": "report W3-11, wave 3, 15,682 words"
  },
  {
   "name": "research-w3-12-education",
   "path": "research/wave3/W3-12-education.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 124420,
   "group": "research",
   "title": "W3-12 — Education (teachers, schools, students): download-only Windows products",
   "description": "report W3-12, wave 3, 18,613 words"
  },
  {
   "name": "research-w3-13-food-producers",
   "path": "research/wave3/W3-13-food-producers.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 108994,
   "group": "research",
   "title": "W3-13 — Niches: food producers and food businesses (wave 3, zero-maintenance download model)",
   "description": "report W3-13, wave 3, 16,269 words"
  },
  {
   "name": "research-w3-14-creators-crafts",
   "path": "research/wave3/W3-14-creators-crafts.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 110443,
   "group": "research",
   "title": "W3-14: Creators, design, crafts and print — download-only tools for papeleiras, costureiras, personalizados, artisans and video creators",
   "description": "report W3-14, wave 3, 16,007 words"
  },
  {
   "name": "research-w3-15-community-events",
   "path": "research/wave3/W3-15-community-events.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 130370,
   "group": "research",
   "title": "W3-15: Churches, events, sports and community — download-only products for the new operating model",
   "description": "report W3-15, wave 3, 19,213 words"
  },
  {
   "name": "research-w3-16-smb-lite-editions",
   "path": "research/wave3/W3-16-smb-lite-editions.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 127659,
   "group": "research",
   "title": "W3-16: Small-business \"lite\" editions (management software with no fiscal emission and no special hardware)",
   "description": "report W3-16, wave 3, 19,447 words"
  },
  {
   "name": "research-w3-17-consumer-personal",
   "path": "research/wave3/W3-17-consumer-personal.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 110311,
   "group": "research",
   "title": "W3-17: Consumer and personal software under the wave-3 model (download-only, zero maintenance, paid traffic)",
   "description": "report W3-17, wave 3, 15,646 words"
  },
  {
   "name": "research-w3-18-offline-ai-tools",
   "path": "research/wave3/W3-18-offline-ai-tools.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 116472,
   "group": "research",
   "title": "W3-18: Offline AI tools — products where AI running on the buyer's PC is the selling point",
   "description": "report W3-18, wave 3, 17,319 words"
  },
  {
   "name": "research-w3-19-marketplaces-zero-support",
   "path": "research/wave3/W3-19-marketplaces-zero-support.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 60504,
   "group": "research",
   "title": "W3-19 — Marketplaces under a zero-support, many-product model (Brazil, October 2026)",
   "description": "report W3-19, wave 3, 8,345 words"
  },
  {
   "name": "research-w4-01-reform-gap-map",
   "path": "research/wave4/W4-01-reform-gap-map.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 80980,
   "group": "research",
   "title": "W4-01: Tax-reform gap map 2026–2033 for small software sellers (whole map + reflection)",
   "description": "report W4-01, wave 4, 12,171 words"
  },
  {
   "name": "research-w4-02-simples-hibrido-pricing",
   "path": "research/wave4/W4-02-simples-hibrido-pricing.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 79965,
   "group": "research",
   "title": "W4-02 — Simples híbrido, pricing \"por fora\" and credit decisions",
   "description": "report W4-02, wave 4, 11,768 words"
  },
  {
   "name": "research-w4-03-tax-classification",
   "path": "research/wave4/W4-03-tax-classification.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 82052,
   "group": "research",
   "title": "W4-03: Tax classification (CST IBS/CBS + cClassTrib, NBS, cIndOp) and XML validation before the 2027 Simples wave",
   "description": "report W4-03, wave 4, 11,451 words"
  },
  {
   "name": "research-w4-04-accountants-channel",
   "path": "research/wave4/W4-04-accountants-channel.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 88911,
   "group": "research",
   "title": "W4-04 — Accountants as buyers and as a channel for reform-era software",
   "description": "report W4-04, wave 4, 13,326 words"
  },
  {
   "name": "research-w4-05-realestate-income-tax",
   "path": "research/wave4/W4-05-realestate-income-tax.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 89285,
   "group": "research",
   "title": "W4-05 — Real estate, landlords and the income-tax reform: products for property owners and high earners",
   "description": "report W4-05, wave 4, 12,161 words"
  },
  {
   "name": "research-w4-06-mei-2027",
   "path": "research/wave4/W4-06-mei-2027.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 74647,
   "group": "research",
   "title": "W4-06: MEI 2027 and micro-sellers — what to sell around \"a fiscal document on every sale\"",
   "description": "report W4-06, wave 4, 11,110 words"
  },
  {
   "name": "research-w4-07-fiscal-api-vendors",
   "path": "research/wave4/W4-07-fiscal-api-vendors.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 60146,
   "group": "research",
   "title": "W4-07: Fiscal API vendors as outsourced maintenance — does a vendor make fiscal products \"simple maintenance\"?",
   "description": "report W4-07, wave 4, 8,411 words"
  },
  {
   "name": "research-w4-08-cloudflare-platform",
   "path": "research/wave4/W4-08-cloudflare-platform.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 63082,
   "group": "research",
   "title": "W4-08 — The cloud-light standard on Cloudflare for small Brazilian SaaS",
   "description": "report W4-08, wave 4, 9,127 words"
  },
  {
   "name": "research-w4-09-smb-micro-saas",
   "path": "research/wave4/W4-09-smb-micro-saas.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 76858,
   "group": "research",
   "title": "W4-09: Cloud-light micro-SaaS for Brazilian small businesses without fiscal duties",
   "description": "report W4-09, wave 4, 11,450 words"
  },
  {
   "name": "research-w4-10-payments-billing",
   "path": "research/wave4/W4-10-payments-billing.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 63204,
   "group": "research",
   "title": "W4-10 — Payments, subscriptions and SaaS invoicing for cloud-light products",
   "description": "report W4-10, wave 4, 8,579 words"
  },
  {
   "name": "research-w4-11-regulation-matrix",
   "path": "research/wave4/W4-11-regulation-matrix.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 66719,
   "group": "research",
   "title": "W4-11: Bureaucracy matrix for cloud products in Brazil (regulation and data protection, Oct 2026)",
   "description": "report W4-11, wave 4, 10,136 words"
  },
  {
   "name": "research-w4-12-fiscal-vertical-saas",
   "path": "research/wave4/W4-12-fiscal-vertical-saas.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 76779,
   "group": "research",
   "title": "W4-12: Fiscal-enabled vertical SaaS through vendor APIs, built on Cloudflare",
   "description": "report W4-12, wave 4, 11,618 words"
  },
  {
   "name": "research-w4-13-vertical-ai-cloud",
   "path": "research/wave4/W4-13-vertical-ai-cloud.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 73493,
   "group": "research",
   "title": "W4-13 — Vertical AI cloud products (Workers AI or LLM APIs through AI Gateway)",
   "description": "report W4-13, wave 4, 10,563 words"
  },
  {
   "name": "research-w4-14-salesability",
   "path": "research/wave4/W4-14-salesability.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 69513,
   "group": "research",
   "title": "W4-14 — Salesability: how hard it is to sell software online in Brazil, by archetype and buyer (October 2026)",
   "description": "report W4-14, wave 4, 10,544 words"
  },
  {
   "name": "research-w4-15-forced-demand-calendar",
   "path": "research/wave4/W4-15-forced-demand-calendar.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 86064,
   "group": "research",
   "title": "W4-15 — Forced-demand calendar 2026–2028 (non-tax): what the law makes Brazilians adopt, and what we can sell",
   "description": "report W4-15, wave 4, 11,711 words"
  },
  {
   "name": "research-w4-16-localization-arbitrage",
   "path": "research/wave4/W4-16-localization-arbitrage.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 73595,
   "group": "research",
   "title": "W4-16 — Localization arbitrage: proven global micro-SaaS and one-time tools, and what Brazil already has",
   "description": "report W4-16, wave 4, 10,673 words"
  },
  {
   "name": "research-w4-17-free-tools-leadgen",
   "path": "research/wave4/W4-17-free-tools-leadgen.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 87734,
   "group": "research",
   "title": "W4-17 · Free tools, lead generation and ad-monetized sites in Brazil",
   "description": "report W4-17, wave 4, 12,794 words"
  },
  {
   "name": "research-w2-orchestrator-notes",
   "path": "research/synthesis/w2-orchestrator-notes.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 26322,
   "group": "research",
   "title": "Wave-2 orchestrator notes (working file for the final synthesis)",
   "description": "notes NOTES-W2, wave 2, 4,090 words"
  },
  {
   "name": "research-w3-orchestrator-notes",
   "path": "research/synthesis/w3-orchestrator-notes.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 22251,
   "group": "research",
   "title": "Wave-3 orchestrator notes (zero-maintenance downloadable software sold with paid traffic)",
   "description": "notes NOTES-W3, wave 3, 3,217 words"
  },
  {
   "name": "research-w4-orchestrator-notes",
   "path": "research/synthesis/w4-orchestrator-notes.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 30321,
   "group": "research",
   "title": "Wave-4 orchestrator notes (cloud-light products, the tax-reform gap, the Top 50)",
   "description": "notes NOTES-W4, wave 4, 4,438 words"
  },
  {
   "name": "research-wave1-summaries",
   "path": "research/synthesis/wave1-summaries.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 203964,
   "group": "research",
   "title": "",
   "description": "summaries SUMMARIES-W1, wave 1, 30,390 words"
  },
  {
   "name": "research-top50",
   "path": "research/synthesis/top50.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 6481,
   "group": "research",
   "title": "Top 50, Top 15 and the Top 10 to build (12 Oct 2026 03:05, updated 03:12)",
   "description": "synthesis TOP50, wave 4, 1,130 words"
  },
  {
   "name": "research-top50-table",
   "path": "research/synthesis/top50-table.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 8041,
   "group": "research",
   "title": "Top 50 product families (R50, generated by `scripts/top50_build.py`; do not edit by hand)",
   "description": "synthesis TOP50-TABLE, wave 4, 1,600 words"
  },
  {
   "name": "notes-02-analysis-tables",
   "path": "research/notes/02-analysis-tables.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 21205,
   "group": "notes"
  },
  {
   "name": "notes-02-notes-sources",
   "path": "research/notes/02-notes-sources.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 5262,
   "group": "notes"
  },
  {
   "name": "notes-03-report-opps",
   "path": "research/notes/03-report-opps.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 22214,
   "group": "notes"
  },
  {
   "name": "notes-03-report-sources",
   "path": "research/notes/03-report-sources.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 10244,
   "group": "notes"
  },
  {
   "name": "notes-03-report-template",
   "path": "research/notes/03-report-template.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 22197,
   "group": "notes"
  },
  {
   "name": "notes-16-report-organic-bing",
   "path": "research/notes/16-report-organic-bing.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 52364,
   "group": "notes"
  },
  {
   "name": "notes-16-report-organic-compact",
   "path": "research/notes/16-report-organic-compact.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 13942,
   "group": "notes"
  },
  {
   "name": "notes-16-report-organic",
   "path": "research/notes/16-report-organic.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 55961,
   "group": "notes"
  },
  {
   "name": "notes-16-report-tables",
   "path": "research/notes/16-report-tables.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 73852,
   "group": "notes"
  },
  {
   "name": "notes-30-unit-economics-tables",
   "path": "research/notes/30-unit-economics-tables.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 25316,
   "group": "notes"
  },
  {
   "name": "notes-w2-26-report-tables",
   "path": "research/notes/w2-26-report-tables.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 62447,
   "group": "notes"
  },
  {
   "name": "notes-w3-04-evidence",
   "path": "research/notes/w3-04-evidence.jsonl",
   "format": "jsonl",
   "mediatype": "application/jsonl",
   "encoding": "utf-8",
   "bytes": 38991,
   "group": "notes"
  },
  {
   "name": "notes-w3-08-notes",
   "path": "research/notes/w3-08-notes.jsonl",
   "format": "jsonl",
   "mediatype": "application/jsonl",
   "encoding": "utf-8",
   "bytes": 42644,
   "group": "notes"
  },
  {
   "name": "models-06-ml-category-counts-2026-10-11",
   "path": "models/06-ml-category-counts-2026-10-11.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 5398,
   "group": "models"
  },
  {
   "name": "models-08-platforms-economics",
   "path": "models/08-platforms-economics.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 10905,
   "group": "models"
  },
  {
   "name": "models-09-channel-scorecard",
   "path": "models/09-channel-scorecard.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 13698,
   "group": "models"
  },
  {
   "name": "models-09-fee-comparison",
   "path": "models/09-fee-comparison.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 28211,
   "group": "models"
  },
  {
   "name": "models-12-cnae-counts",
   "path": "models/12-cnae-counts.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 192036,
   "group": "models"
  },
  {
   "name": "models-12-cnpj-summary",
   "path": "models/12-cnpj-summary.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 8854,
   "group": "models"
  },
  {
   "name": "models-13-timeline",
   "path": "models/13-timeline.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 12409,
   "group": "models"
  },
  {
   "name": "models-14-horizontal-competitors",
   "path": "models/14-horizontal-competitors.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 95652,
   "group": "models"
  },
  {
   "name": "models-15-vertical-competitors",
   "path": "models/15-vertical-competitors.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 117485,
   "group": "models"
  },
  {
   "name": "models-17-taxonomy-aggregates",
   "path": "models/17-taxonomy-aggregates.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 1223,
   "group": "models"
  },
  {
   "name": "models-18-anp-glp-revendas-summary",
   "path": "models/18-anp-glp-revendas-summary.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 3557,
   "group": "models"
  },
  {
   "name": "models-18-cnae-counts",
   "path": "models/18-cnae-counts.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 61284,
   "group": "models"
  },
  {
   "name": "models-19-cnae-counts",
   "path": "models/19-cnae-counts.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 8771,
   "group": "models"
  },
  {
   "name": "models-20-cnae-counts",
   "path": "models/20-cnae-counts.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 13126,
   "group": "models"
  },
  {
   "name": "models-21-cnae-counts",
   "path": "models/21-cnae-counts.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 16922,
   "group": "models"
  },
  {
   "name": "models-21-council-counts",
   "path": "models/21-council-counts.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 4736,
   "group": "models"
  },
  {
   "name": "models-21-incumbent-prices",
   "path": "models/21-incumbent-prices.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 10923,
   "group": "models"
  },
  {
   "name": "models-22-cnae-counts",
   "path": "models/22-cnae-counts.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 14090,
   "group": "models"
  },
  {
   "name": "models-23-cnae-counts",
   "path": "models/23-cnae-counts.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 32328,
   "group": "models"
  },
  {
   "name": "models-24-cnae-counts",
   "path": "models/24-cnae-counts.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 19179,
   "group": "models"
  },
  {
   "name": "models-26-adoption-proxies",
   "path": "models/26-adoption-proxies.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 3302,
   "group": "models"
  },
  {
   "name": "models-26-fees-and-apis-2026",
   "path": "models/26-fees-and-apis-2026.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 6795,
   "group": "models"
  },
  {
   "name": "models-26-incumbent-prices",
   "path": "models/26-incumbent-prices.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 9963,
   "group": "models"
  },
  {
   "name": "models-26-ml-category-counts-2026-10-11",
   "path": "models/26-ml-category-counts-2026-10-11.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 1547,
   "group": "models"
  },
  {
   "name": "models-26-seller-base-sizes",
   "path": "models/26-seller-base-sizes.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 5762,
   "group": "models"
  },
  {
   "name": "models-28-competitor-prices",
   "path": "models/28-competitor-prices.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 9641,
   "group": "models"
  },
  {
   "name": "models-28-local-feasibility-and-costs",
   "path": "models/28-local-feasibility-and-costs.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 7444,
   "group": "models"
  },
  {
   "name": "models-29-country-comparison",
   "path": "models/29-country-comparison.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 7050,
   "group": "models"
  },
  {
   "name": "models-29-fx-rates",
   "path": "models/29-fx-rates.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 433,
   "group": "models"
  },
  {
   "name": "models-30-unit-economics",
   "path": "models/30-unit-economics.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 170313,
   "group": "models"
  },
  {
   "name": "models-w2-01-forecast",
   "path": "models/w2-01-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 26608,
   "group": "models"
  },
  {
   "name": "models-w2-01-mei-cnae",
   "path": "models/w2-01-mei-cnae.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 4192,
   "group": "models"
  },
  {
   "name": "models-w2-02-forecast",
   "path": "models/w2-02-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 27098,
   "group": "models"
  },
  {
   "name": "models-w2-03-anp-glp-registry-summary",
   "path": "models/w2-03-anp-glp-registry-summary.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 3456,
   "group": "models"
  },
  {
   "name": "models-w2-03-forecast",
   "path": "models/w2-03-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 49997,
   "group": "models"
  },
  {
   "name": "models-w2-03-incumbents",
   "path": "models/w2-03-incumbents.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 10111,
   "group": "models"
  },
  {
   "name": "models-w2-04-forecast",
   "path": "models/w2-04-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 23129,
   "group": "models"
  },
  {
   "name": "models-w2-04-incumbents",
   "path": "models/w2-04-incumbents.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 11248,
   "group": "models"
  },
  {
   "name": "models-w2-05-buyer-pool",
   "path": "models/w2-05-buyer-pool.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 5380,
   "group": "models"
  },
  {
   "name": "models-w2-05-forecast",
   "path": "models/w2-05-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 27250,
   "group": "models"
  },
  {
   "name": "models-w2-05-incumbents",
   "path": "models/w2-05-incumbents.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 9533,
   "group": "models"
  },
  {
   "name": "models-w2-05-legal-fiscal",
   "path": "models/w2-05-legal-fiscal.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 6983,
   "group": "models"
  },
  {
   "name": "models-w2-06-forecast",
   "path": "models/w2-06-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 28833,
   "group": "models"
  },
  {
   "name": "models-w2-06-incumbents",
   "path": "models/w2-06-incumbents.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 8510,
   "group": "models"
  },
  {
   "name": "models-w2-06-legal-data",
   "path": "models/w2-06-legal-data.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 4066,
   "group": "models"
  },
  {
   "name": "models-w2-07-cnae-counts",
   "path": "models/w2-07-cnae-counts.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 8034,
   "group": "models"
  },
  {
   "name": "models-w2-07-forecast",
   "path": "models/w2-07-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 27276,
   "group": "models"
  },
  {
   "name": "models-w2-07-mei-pools",
   "path": "models/w2-07-mei-pools.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 3262,
   "group": "models"
  },
  {
   "name": "models-w2-08-forecast",
   "path": "models/w2-08-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 18336,
   "group": "models"
  },
  {
   "name": "models-w2-08-incumbents",
   "path": "models/w2-08-incumbents.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 10125,
   "group": "models"
  },
  {
   "name": "models-w2-09-forecast",
   "path": "models/w2-09-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 19421,
   "group": "models"
  },
  {
   "name": "models-w2-10-forecast",
   "path": "models/w2-10-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 25494,
   "group": "models"
  },
  {
   "name": "models-w2-10-incumbents",
   "path": "models/w2-10-incumbents.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 8817,
   "group": "models"
  },
  {
   "name": "models-w2-11-cnae-sizing",
   "path": "models/w2-11-cnae-sizing.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 2992,
   "group": "models"
  },
  {
   "name": "models-w2-11-competitors",
   "path": "models/w2-11-competitors.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 11135,
   "group": "models"
  },
  {
   "name": "models-w2-11-forecast",
   "path": "models/w2-11-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 24725,
   "group": "models"
  },
  {
   "name": "models-w2-11-rules-api",
   "path": "models/w2-11-rules-api.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 7840,
   "group": "models"
  },
  {
   "name": "models-w2-12-competitors",
   "path": "models/w2-12-competitors.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 11980,
   "group": "models"
  },
  {
   "name": "models-w2-12-forecast",
   "path": "models/w2-12-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 38770,
   "group": "models"
  },
  {
   "name": "models-w2-12-irpf-occupations",
   "path": "models/w2-12-irpf-occupations.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 1936,
   "group": "models"
  },
  {
   "name": "models-w2-12-receita-saude-facts",
   "path": "models/w2-12-receita-saude-facts.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 6671,
   "group": "models"
  },
  {
   "name": "models-w2-13-buyer-pools",
   "path": "models/w2-13-buyer-pools.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 5970,
   "group": "models"
  },
  {
   "name": "models-w2-13-forecast",
   "path": "models/w2-13-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 14274,
   "group": "models"
  },
  {
   "name": "models-w2-13-incumbents",
   "path": "models/w2-13-incumbents.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 9944,
   "group": "models"
  },
  {
   "name": "models-w2-14-forecast",
   "path": "models/w2-14-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 15860,
   "group": "models"
  },
  {
   "name": "models-w2-14-incumbents",
   "path": "models/w2-14-incumbents.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 14585,
   "group": "models"
  },
  {
   "name": "models-w2-14-pool-legal",
   "path": "models/w2-14-pool-legal.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 12673,
   "group": "models"
  },
  {
   "name": "models-w2-15-forecast",
   "path": "models/w2-15-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 23042,
   "group": "models"
  },
  {
   "name": "models-w2-15-incumbents",
   "path": "models/w2-15-incumbents.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 10447,
   "group": "models"
  },
  {
   "name": "models-w2-16-forecast",
   "path": "models/w2-16-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 17728,
   "group": "models"
  },
  {
   "name": "models-w2-16-pool-competitors",
   "path": "models/w2-16-pool-competitors.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 7836,
   "group": "models"
  },
  {
   "name": "models-w2-17-competitors",
   "path": "models/w2-17-competitors.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 9952,
   "group": "models"
  },
  {
   "name": "models-w2-17-forecast",
   "path": "models/w2-17-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 28718,
   "group": "models"
  },
  {
   "name": "models-w2-17-indices",
   "path": "models/w2-17-indices.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 18705,
   "group": "models"
  },
  {
   "name": "models-w2-17-landlord-pool",
   "path": "models/w2-17-landlord-pool.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 7208,
   "group": "models"
  },
  {
   "name": "models-w2-17-tax-rules",
   "path": "models/w2-17-tax-rules.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 6265,
   "group": "models"
  },
  {
   "name": "models-w2-18-competitors",
   "path": "models/w2-18-competitors.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 10409,
   "group": "models"
  },
  {
   "name": "models-w2-18-djen-coverage",
   "path": "models/w2-18-djen-coverage.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 23931,
   "group": "models"
  },
  {
   "name": "models-w2-18-forecast",
   "path": "models/w2-18-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 16159,
   "group": "models"
  },
  {
   "name": "models-w2-18-legal-facts",
   "path": "models/w2-18-legal-facts.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 8187,
   "group": "models"
  },
  {
   "name": "models-w2-19-forecast",
   "path": "models/w2-19-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 7769,
   "group": "models"
  },
  {
   "name": "models-w2-21-demand-model",
   "path": "models/w2-21-demand-model.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 9527,
   "group": "models"
  },
  {
   "name": "models-w2-21-fiscal-rules-2026-2027",
   "path": "models/w2-21-fiscal-rules-2026-2027.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 9085,
   "group": "models"
  },
  {
   "name": "models-w2-21-mei-goods-cnae",
   "path": "models/w2-21-mei-goods-cnae.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 5835,
   "group": "models"
  },
  {
   "name": "models-w2-21-nff-27uf-status",
   "path": "models/w2-21-nff-27uf-status.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 13440,
   "group": "models"
  },
  {
   "name": "models-w2-21-nff-map-2026-10-11",
   "path": "models/w2-21-nff-map-2026-10-11.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 17141,
   "group": "models"
  },
  {
   "name": "models-w2-21-pricing-benchmarks",
   "path": "models/w2-21-pricing-benchmarks.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 6437,
   "group": "models"
  },
  {
   "name": "models-w2-21-uf-rollout",
   "path": "models/w2-21-uf-rollout.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 19245,
   "group": "models"
  },
  {
   "name": "models-w2-22-costs",
   "path": "models/w2-22-costs.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 8285,
   "group": "models"
  },
  {
   "name": "models-w2-22-runbook-90d",
   "path": "models/w2-22-runbook-90d.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 7588,
   "group": "models"
  },
  {
   "name": "models-w2-22-verified-facts",
   "path": "models/w2-22-verified-facts.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 23025,
   "group": "models"
  },
  {
   "name": "models-w2-23-chassis-modules",
   "path": "models/w2-23-chassis-modules.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 7875,
   "group": "models"
  },
  {
   "name": "models-w2-23-license-audit",
   "path": "models/w2-23-license-audit.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 24993,
   "group": "models"
  },
  {
   "name": "models-w2-23-stack-matrix",
   "path": "models/w2-23-stack-matrix.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 4484,
   "group": "models"
  },
  {
   "name": "models-w2-24-red-team-metrics",
   "path": "models/w2-24-red-team-metrics.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 12803,
   "group": "models"
  },
  {
   "name": "models-w2-25-ab-test-power",
   "path": "models/w2-25-ab-test-power.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 6682,
   "group": "models"
  },
  {
   "name": "models-w2-25-asymmetry-ledger",
   "path": "models/w2-25-asymmetry-ledger.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 8718,
   "group": "models"
  },
  {
   "name": "models-w2-25-edition-launch-cost",
   "path": "models/w2-25-edition-launch-cost.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 7060,
   "group": "models"
  },
  {
   "name": "models-w2-25-localization-cost",
   "path": "models/w2-25-localization-cost.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 5534,
   "group": "models"
  },
  {
   "name": "models-w2-25-ops-model",
   "path": "models/w2-25-ops-model.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 10064,
   "group": "models"
  },
  {
   "name": "models-w2-25-prices-and-sources",
   "path": "models/w2-25-prices-and-sources.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 6733,
   "group": "models"
  },
  {
   "name": "models-w2-25-regulatory-maintenance",
   "path": "models/w2-25-regulatory-maintenance.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 7659,
   "group": "models"
  },
  {
   "name": "models-w2-25-support-cost-model",
   "path": "models/w2-25-support-cost-model.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 7049,
   "group": "models"
  },
  {
   "name": "models-w2-27-buyer-model",
   "path": "models/w2-27-buyer-model.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 3133,
   "group": "models"
  },
  {
   "name": "models-w2-27-channels",
   "path": "models/w2-27-channels.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 2399,
   "group": "models"
  },
  {
   "name": "models-w2-27-forecast",
   "path": "models/w2-27-forecast.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 25169,
   "group": "models"
  },
  {
   "name": "models-w2-27-incumbents",
   "path": "models/w2-27-incumbents.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 11736,
   "group": "models"
  },
  {
   "name": "models-w2-27-registry-stats",
   "path": "models/w2-27-registry-stats.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 2299,
   "group": "models"
  },
  {
   "name": "models-w2-27-variants",
   "path": "models/w2-27-variants.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 1897,
   "group": "models"
  },
  {
   "name": "models-w3-06-model",
   "path": "models/w3-06-model.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 93699,
   "group": "models"
  },
  {
   "name": "models-w3-07-summary",
   "path": "models/w3-07-summary.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 2207,
   "group": "models"
  },
  {
   "name": "models-w3-10-r50-money",
   "path": "models/w3-10-r50-money.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 45346,
   "group": "models"
  },
  {
   "name": "models-w3-16-buyer-pools",
   "path": "models/w3-16-buyer-pools.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 6865,
   "group": "models"
  },
  {
   "name": "models-w3-16-unit-economics",
   "path": "models/w3-16-unit-economics.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 8831,
   "group": "models"
  },
  {
   "name": "models-w4-03-money-model",
   "path": "models/w4-03-money-model.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 9953,
   "group": "models"
  },
  {
   "name": "models-w4-04-money-model",
   "path": "models/w4-04-money-model.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 7145,
   "group": "models"
  },
  {
   "name": "models-w4-05-money",
   "path": "models/w4-05-money.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 10941,
   "group": "models"
  },
  {
   "name": "models-w4-06-gov-apps",
   "path": "models/w4-06-gov-apps.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 21698,
   "group": "models"
  },
  {
   "name": "models-w4-08-costs",
   "path": "models/w4-08-costs.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 22017,
   "group": "models"
  },
  {
   "name": "models-w4-08-status",
   "path": "models/w4-08-status.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 6190,
   "group": "models"
  },
  {
   "name": "models-w4-09-money-model",
   "path": "models/w4-09-money-model.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 35691,
   "group": "models"
  },
  {
   "name": "models-w4-12-money-model",
   "path": "models/w4-12-money-model.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 92141,
   "group": "models"
  },
  {
   "name": "models-w4-13-money",
   "path": "models/w4-13-money.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 3602,
   "group": "models"
  },
  {
   "name": "models-w4-15-money",
   "path": "models/w4-15-money.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 3407,
   "group": "models"
  },
  {
   "name": "models-w4-16-money-model",
   "path": "models/w4-16-money-model.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 18198,
   "group": "models"
  },
  {
   "name": "models-w4-17-model",
   "path": "models/w4-17-model.json",
   "format": "json",
   "mediatype": "application/json",
   "encoding": "utf-8",
   "bytes": 15937,
   "group": "models"
  },
  {
   "name": "methods-classify-findings",
   "path": "methods/classify-findings.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 8144,
   "group": "methods"
  },
  {
   "name": "methods-estimate-time-saved",
   "path": "methods/estimate-time-saved.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 4059,
   "group": "methods"
  },
  {
   "name": "methods-tag-ideas",
   "path": "methods/tag-ideas.md",
   "format": "md",
   "mediatype": "text/markdown",
   "encoding": "utf-8",
   "bytes": 6034,
   "group": "methods"
  },
  {
   "name": "readme",
   "path": "README.md",
   "format": "md",
   "mediatype": "text/markdown",
   "description": "The dataset card: what is here, how it was made, its limits."
  },
  {
   "name": "manifest",
   "path": "MANIFEST.csv",
   "format": "csv",
   "mediatype": "text/csv",
   "description": "Every file the search produced: published, merged into a table, or withheld and why."
  },
  {
   "name": "workbook",
   "path": "compile-the-law-data.xlsx",
   "format": "xlsx",
   "mediatype": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
   "description": "Every table as a sheet, with a catalog and a field dictionary."
  },
  {
   "name": "bundle",
   "path": "compile-the-law-data.zip",
   "format": "zip",
   "mediatype": "application/zip",
   "description": "The whole release in one archive, code included."
  }
 ]
}
