Created
January 9, 2026 18:01
-
-
Save daaronr/b9447c40a7a6b948f399073496f98c37 to your computer and use it in GitHub Desktop.
Scanner Data & Price Elasticity Experts - Unjournal evaluator search for plant-based substitution research
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Scanner Data Methodology Experts - Unjournal Evaluator Search</title> | |
| <script src="https://cdn.plot.ly/plotly-2.27.0.min.js"></script> | |
| <style> | |
| * { margin: 0; padding: 0; box-sizing: border-box; } | |
| body { | |
| font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; | |
| background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); | |
| color: #e6edf3; | |
| min-height: 100vh; | |
| padding: 20px; | |
| } | |
| .container { max-width: 1400px; margin: 0 auto; } | |
| h1 { text-align: center; margin-bottom: 5px; font-size: 1.8em; } | |
| .subtitle { text-align: center; color: #8b949e; margin-bottom: 10px; font-size: 0.95em; } | |
| .paper-box { | |
| background: rgba(255,255,255,0.05); | |
| border-radius: 12px; | |
| padding: 20px; | |
| margin-bottom: 20px; | |
| border-left: 4px solid #f39c12; | |
| } | |
| .paper-box h3 { color: #f39c12; margin-bottom: 10px; } | |
| .paper-box .question { color: #3498db; font-style: italic; margin-top: 10px; } | |
| #plot2d { width: 100%; height: 500px; border-radius: 12px; background: #161b22; margin-bottom: 20px; } | |
| .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); gap: 20px; } | |
| .card { | |
| background: rgba(255,255,255,0.05); | |
| border-radius: 12px; | |
| padding: 20px; | |
| } | |
| .card h3 { margin-bottom: 15px; display: flex; align-items: center; gap: 10px; } | |
| .card h3 .emoji { font-size: 1.3em; } | |
| .expert-list { list-style: none; } | |
| .expert-list li { | |
| padding: 10px; | |
| margin: 8px 0; | |
| background: rgba(255,255,255,0.03); | |
| border-radius: 8px; | |
| border-left: 3px solid; | |
| } | |
| .expert-list li.method { border-color: #e74c3c; } | |
| .expert-list li.scanner { border-color: #2ecc71; } | |
| .expert-list li.plantbased { border-color: #9b59b6; } | |
| .expert-list li.overlap { border-color: #f39c12; } | |
| .expert-list li strong { color: #fff; } | |
| .expert-list li .paper { color: #8b949e; font-size: 0.9em; margin-top: 5px; } | |
| .tag { | |
| display: inline-block; | |
| padding: 2px 8px; | |
| border-radius: 12px; | |
| font-size: 0.75em; | |
| margin-left: 8px; | |
| } | |
| .tag.arxiv { background: #b31b1b; } | |
| .tag.econ { background: #2980b9; } | |
| .tag.ea { background: #27ae60; } | |
| a { color: #3498db; text-decoration: none; } | |
| a:hover { text-decoration: underline; } | |
| .legend-inline { | |
| display: flex; | |
| gap: 20px; | |
| justify-content: center; | |
| margin: 15px 0; | |
| flex-wrap: wrap; | |
| } | |
| .legend-inline span { | |
| display: flex; | |
| align-items: center; | |
| gap: 6px; | |
| } | |
| .dot { width: 12px; height: 12px; border-radius: 50%; } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="container"> | |
| <h1>Scanner Data & Price Elasticity Experts</h1> | |
| <p class="subtitle">Potential Unjournal evaluators for methodological review of observational vs. experimental elasticities</p> | |
| <div class="paper-box"> | |
| <h3>Target Paper</h3> | |
| <p><strong>"Observational price variation in scanner data cannot reproduce experimental price elasticities"</strong></p> | |
| <p style="color: #8b949e;">SSRN 4899765 | Methodology: Comparing scanner data identification with RCT results</p> | |
| <p class="question">Pivotal Question: "How much do plant-based products substitute for animal products and improve welfare?"</p> | |
| </div> | |
| <div class="legend-inline"> | |
| <span><div class="dot" style="background: #e74c3c;"></div> Obs vs Exp Methods</span> | |
| <span><div class="dot" style="background: #2ecc71;"></div> Scanner/Demand Estimation</span> | |
| <span><div class="dot" style="background: #9b59b6;"></div> Plant-Based/Animal Welfare</span> | |
| <span><div class="dot" style="background: #f39c12;"></div> Multi-domain Overlap</span> | |
| </div> | |
| <div id="plot2d"></div> | |
| <div class="grid"> | |
| <div class="card"> | |
| <h3><span class="emoji">🔬</span> Methodological Experts (Obs vs Exp)</h3> | |
| <ul class="expert-list"> | |
| <li class="method"> | |
| <strong>Steven T. Berry</strong> <span class="tag econ">econ.EM</span> | |
| <div class="paper">"Nonparametric Identification of Differentiated Products Demand Using Micro Data"</div> | |
| </li> | |
| <li class="method"> | |
| <strong>Lars Roemheld</strong> <span class="tag econ">stat.AP</span> | |
| <div class="paper">"Interference Produces False-Positive Pricing Experiments"</div> | |
| </li> | |
| <li class="method"> | |
| <strong>Alberto Abadie</strong> <span class="tag econ">stat.ME</span> | |
| <div class="paper">"Synthetic Controls in Action" - causal inference pioneer</div> | |
| </li> | |
| <li class="method"> | |
| <strong>John K.-H. Quah</strong> <span class="tag econ">econ.TH</span> | |
| <div class="paper">"Price Heterogeneity as a source of Heterogenous Demand"</div> | |
| </li> | |
| <li class="method"> | |
| <strong>François Gardes</strong> <span class="tag econ">stat.AP</span> | |
| <div class="paper">"Panel and Pseudo-Panel Estimation of Food Consumption Elasticities"</div> | |
| </li> | |
| </ul> | |
| </div> | |
| <div class="card"> | |
| <h3><span class="emoji">🛒</span> Scanner Data / Demand Estimation</h3> | |
| <ul class="expert-list"> | |
| <li class="scanner"> | |
| <strong>Rob Donnelly</strong> <span class="tag arxiv">cs.LG</span> | |
| <div class="paper">"Counterfactual Inference for Consumer Choice Across Many Product Categories"</div> | |
| </li> | |
| <li class="scanner"> | |
| <strong>Francisco J. R. Ruiz</strong> <span class="tag econ">stat.ML</span> | |
| <div class="paper">"SHOPPER: A Probabilistic Model of Consumer Choice with Substitutes"</div> | |
| </li> | |
| <li class="scanner"> | |
| <strong>Giovanni Compiani</strong> <span class="tag econ">econ.GN</span> | |
| <div class="paper">"Demand Estimation with Text and Image Data"</div> | |
| </li> | |
| <li class="scanner"> | |
| <strong>Jacek Białek</strong> <span class="tag econ">stat.AP</span> | |
| <div class="paper">"Scanner data in inflation measurement: from raw data to price indices"</div> | |
| </li> | |
| <li class="scanner"> | |
| <strong>Lauri Valkonen</strong> <span class="tag econ">stat.AP</span> | |
| <div class="paper">"Price Optimization Combining Conjoint Data and Purchase History"</div> | |
| </li> | |
| </ul> | |
| </div> | |
| <div class="card"> | |
| <h3><span class="emoji">🌱</span> Plant-Based / Animal Welfare (EA Forum)</h3> | |
| <ul class="expert-list"> | |
| <li class="plantbased"> | |
| <strong>Jacob Peacock</strong> <span class="tag ea">EA Forum</span> | |
| <div class="paper">"Price-, Taste-, and Convenience-Competitive Plant-Based Meat Would Not Currently Replace Meat" (score: 242)</div> | |
| </li> | |
| <li class="plantbased"> | |
| <strong>Seth Ariel Green</strong> <span class="tag ea">EA Forum</span> | |
| <div class="paper">"Meaningfully reducing meat consumption is an unsolved problem: meta-analysis" (score: 233)</div> | |
| </li> | |
| <li class="plantbased"> | |
| <strong>Tom Bry-Chevalier</strong> <span class="tag ea">EA Forum</span> | |
| <div class="paper">"Cultivating doubt: why I no longer believe cultivated meat is the answer"</div> | |
| </li> | |
| <li class="plantbased"> | |
| <strong>Samara Mendez</strong> <span class="tag ea">EA Forum</span> | |
| <div class="paper">"Inconsistent evidence for price substitution between butter and margarine"</div> | |
| </li> | |
| <li class="plantbased"> | |
| <strong>saulius</strong> <span class="tag ea">EA Forum</span> | |
| <div class="paper">"Corporate campaigns affect 9 to 120 years of chicken life per dollar"</div> | |
| </li> | |
| </ul> | |
| </div> | |
| <div class="card"> | |
| <h3><span class="emoji">⭐</span> Key Overlaps (Recommended for Review)</h3> | |
| <ul class="expert-list"> | |
| <li class="overlap"> | |
| <strong>david_reinstein</strong> <span class="tag ea">Unjournal</span> | |
| <div class="paper">Author of the pivotal question post; understands both methodology and application</div> | |
| </li> | |
| <li class="overlap"> | |
| <strong>Samara Mendez</strong> <span class="tag ea">EA + Methods</span> | |
| <div class="paper">Wrote on butter/margarine substitution - directly relevant methodology + domain</div> | |
| </li> | |
| <li class="overlap"> | |
| <strong>Karolina Sarek</strong> <span class="tag ea">EA Forum</span> | |
| <div class="paper">"RCTs in Development Economics, Their Critics and Their Evolution" - methods focus</div> | |
| </li> | |
| <li class="overlap"> | |
| <strong>Steven T. Berry + Rob Donnelly</strong> | |
| <div class="paper">Combined: Berry's identification theory + Donnelly's scanner data implementation</div> | |
| </li> | |
| </ul> | |
| </div> | |
| </div> | |
| <div class="card" style="margin-top: 20px;"> | |
| <h3><span class="emoji">📚</span> Most Relevant arXiv Papers</h3> | |
| <table style="width: 100%; border-collapse: collapse;"> | |
| <tr style="border-bottom: 1px solid rgba(255,255,255,0.1);"> | |
| <th style="text-align: left; padding: 10px;">Paper</th> | |
| <th style="text-align: left; padding: 10px;">Authors</th> | |
| <th style="text-align: left; padding: 10px;">Relevance</th> | |
| </tr> | |
| <tr><td style="padding: 10px;"><a href="https://arxiv.org/abs/2204.06637">Nonparametric Identification of Differentiated Products Demand</a></td><td>Steven T. Berry</td><td>Core identification theory</td></tr> | |
| <tr><td style="padding: 10px;"><a href="https://arxiv.org/abs/2402.14538">Interference Produces False-Positive Pricing Experiments</a></td><td>Lars Roemheld</td><td>Experimental validity</td></tr> | |
| <tr><td style="padding: 10px;"><a href="https://arxiv.org/abs/1906.02635">Counterfactual Inference for Consumer Choice</a></td><td>Rob Donnelly</td><td>Scanner data methods</td></tr> | |
| <tr><td style="padding: 10px;"><a href="https://arxiv.org/abs/1711.03560">SHOPPER: Probabilistic Consumer Choice Model</a></td><td>Francisco J. R. Ruiz</td><td>Substitution modeling</td></tr> | |
| <tr><td style="padding: 10px;"><a href="https://arxiv.org/abs/2203.06279">Synthetic Controls in Action</a></td><td>Alberto Abadie</td><td>Causal inference methods</td></tr> | |
| <tr><td style="padding: 10px;"><a href="https://arxiv.org/abs/0710.0559">Panel Estimation of Food Consumption Elasticities</a></td><td>François Gardes</td><td>Food demand elasticity</td></tr> | |
| </table> | |
| </div> | |
| </div> | |
| <script> | |
| // 2D scatter plot: Method rigor vs Domain relevance | |
| const experts = [ | |
| // arXiv methodology experts | |
| {name: "Steven T. Berry", method: 0.70, domain: 0.35, type: "method", size: 18}, | |
| {name: "Lars Roemheld", method: 0.75, domain: 0.30, type: "method", size: 16}, | |
| {name: "Alberto Abadie", method: 0.70, domain: 0.25, type: "method", size: 18}, | |
| {name: "John K.-H. Quah", method: 0.75, domain: 0.32, type: "method", size: 14}, | |
| {name: "François Gardes", method: 0.73, domain: 0.45, type: "method", size: 14}, | |
| // Scanner data experts | |
| {name: "Rob Donnelly", method: 0.60, domain: 0.76, type: "scanner", size: 16}, | |
| {name: "Francisco J. R. Ruiz", method: 0.55, domain: 0.76, type: "scanner", size: 16}, | |
| {name: "Giovanni Compiani", method: 0.58, domain: 0.75, type: "scanner", size: 14}, | |
| {name: "Jacek Białek", method: 0.50, domain: 0.73, type: "scanner", size: 12}, | |
| // Plant-based / EA experts | |
| {name: "Jacob Peacock", method: 0.35, domain: 0.81, type: "plantbased", size: 18}, | |
| {name: "Seth Ariel Green", method: 0.40, domain: 0.78, type: "plantbased", size: 16}, | |
| {name: "Tom Bry-Chevalier", method: 0.32, domain: 0.82, type: "plantbased", size: 14}, | |
| {name: "saulius", method: 0.30, domain: 0.75, type: "plantbased", size: 14}, | |
| // Overlaps | |
| {name: "david_reinstein", method: 0.65, domain: 0.80, type: "overlap", size: 20}, | |
| {name: "Samara Mendez", method: 0.70, domain: 0.68, type: "overlap", size: 16}, | |
| {name: "Karolina Sarek", method: 0.69, domain: 0.55, type: "overlap", size: 14}, | |
| ]; | |
| const colors = { | |
| method: '#e74c3c', | |
| scanner: '#2ecc71', | |
| plantbased: '#9b59b6', | |
| overlap: '#f39c12' | |
| }; | |
| const trace = { | |
| x: experts.map(e => e.method), | |
| y: experts.map(e => e.domain), | |
| mode: 'markers+text', | |
| type: 'scatter', | |
| marker: { | |
| size: experts.map(e => e.size), | |
| color: experts.map(e => colors[e.type]), | |
| opacity: 0.85, | |
| line: {width: 1, color: 'white'} | |
| }, | |
| text: experts.map(e => e.name), | |
| textposition: 'top center', | |
| textfont: {size: 10, color: 'white'}, | |
| hoverinfo: 'text', | |
| hovertext: experts.map(e => | |
| `<b>${e.name}</b><br>Method: ${e.method.toFixed(2)}<br>Domain: ${e.domain.toFixed(2)}`) | |
| }; | |
| // Ideal evaluator zone | |
| const idealZone = { | |
| x: [0.6, 0.8, 0.8, 0.6, 0.6], | |
| y: [0.6, 0.6, 0.85, 0.85, 0.6], | |
| mode: 'lines', | |
| fill: 'toself', | |
| fillcolor: 'rgba(243, 156, 18, 0.1)', | |
| line: {color: 'rgba(243, 156, 18, 0.5)', dash: 'dot'}, | |
| name: 'Ideal Evaluator Zone', | |
| hoverinfo: 'skip' | |
| }; | |
| const layout = { | |
| title: { | |
| text: 'Expert Mapping: Methodology vs Domain Relevance', | |
| font: {color: 'white', size: 16} | |
| }, | |
| xaxis: { | |
| title: {text: 'Methodological Expertise (Obs/Exp, Causal ID)', font: {color: '#e74c3c'}}, | |
| range: [0.2, 0.85], | |
| gridcolor: 'rgba(255,255,255,0.1)', | |
| tickfont: {color: 'white'} | |
| }, | |
| yaxis: { | |
| title: {text: 'Domain Relevance (Food, Animal Welfare)', font: {color: '#2ecc71'}}, | |
| range: [0.2, 0.9], | |
| gridcolor: 'rgba(255,255,255,0.1)', | |
| tickfont: {color: 'white'} | |
| }, | |
| paper_bgcolor: '#161b22', | |
| plot_bgcolor: '#161b22', | |
| showlegend: false, | |
| annotations: [{ | |
| x: 0.7, y: 0.72, | |
| text: 'Ideal Zone', | |
| showarrow: false, | |
| font: {color: 'rgba(243, 156, 18, 0.7)', size: 11} | |
| }] | |
| }; | |
| Plotly.newPlot('plot2d', [idealZone, trace], layout, {responsive: true}); | |
| </script> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment