SPB Git

spb/wp37_uqo

Public

phase1/2: tier D tightened, round-1 validation archived, manual DOI resolution, shrinkflation refs

Simon-Pierre Boucher committed (Nov 1, 2026) parent 01c00bc Browse files

8 changed files +251 −2

added literature/manual_references.yaml +10 −0
@@ -0,0 +1,10 @@
1 +# References resolved by explicit DOI (Crossref /works/{doi} lookup) or documented as DOI-less (JSTOR stable URL).
2 +- {key: varian1980, topic: sales, doi: null, jstor: "https://www.jstor.org/stable/1805363", author: "Varian, Hal R.", title: "A Model of Sales", journal: "American Economic Review", volume: 70, issue: 4, pages: "651-659", year: 1980}
3 +- {key: feenstra1994, topic: indices, doi: null, jstor: "https://www.jstor.org/stable/2117971", author: "Feenstra, Robert C.", title: "New Product Varieties and the Measurement of International Prices", journal: "American Economic Review", volume: 84, issue: 1, pages: "157-177", year: 1994}
4 +- {key: midrigan2011, topic: menu_costs, doi: "10.3982/ECTA6735"}
5 +- {key: diewert2022, topic: indices, doi: "10.1080/07350015.2020.1816176"}
6 +- {key: hortacsu2004, topic: search, doi: "10.1162/0033553041382184"}
7 +- {key: competitionbureau2023, topic: canada, doi: null, url: "https://competition-bureau.canada.ca/en/how-we-foster-competition/education-and-outreach/canada-needs-more-grocery-competition", author: "{Competition Bureau Canada}", title: "Canada Needs More Grocery Competition: Retail Grocery Market Study Report", year: 2023, type: report}
8 +- {key: cakir2021, topic: shrinkflation, doi: "10.1002/agr.21724"}
9 +- {key: hoppe2024, topic: shrinkflation, doi: "10.1093/icc/dtae035"}
10 +- {key: gourville2004, topic: shrinkflation, doi: "10.1287/mksc.1030.0016"}
added literature/references_verified.csv +66 −0
@@ -0,0 +1,66 @@
1 +key,topic,author,title,year,verified,doi,crossref_title,journal,volume,issue,pages,pub_year,type,publisher,authors,title_sim,note
2 +stigler1961,search,Stigler,The Economics of Information,1961,True,10.1086/258464,The Economics of Information,Journal of Political Economy,69.0,3,213-225,1961.0,journal-article,University of Chicago Press,"Stigler, George J.",1.0,
3 +salop1977,dispersion,Salop Stiglitz,Bargains and Ripoffs: A Model of Monopolistically Competitive Price Dispersion,1977,True,10.2307/2296903,Bargains and Ripoffs: A Model of Monopolistically Competitive Price Dispersion,The Review of Economic Studies,44.0,3,493,1977.0,journal-article,Oxford University Press (OUP),"Salop, Steven; Stiglitz, Joseph",1.0,
4 +burdett1983,dispersion,Burdett Judd,Equilibrium Price Dispersion,1983,True,10.2307/1912045,Equilibrium Price Dispersion,Econometrica,51.0,4,955,1983.0,journal-article,JSTOR,"Burdett, Kenneth; Judd, Kenneth L.",1.0,
5 +sorensen2000,dispersion,Sorensen,Equilibrium Price Dispersion in Retail Markets for Prescription Drugs,2000,True,10.1086/316103,Equilibrium Price Dispersion in Retail Markets for Prescription Drugs,Journal of Political Economy,108.0,4,833-850,2000.0,journal-article,University of Chicago Press,"Sorensen, Alan T.",1.0,
6 +lach2002,dispersion,Lach,Existence and Persistence of Price Dispersion: An Empirical Analysis,2002,True,10.3386/w8737,Existence and Persistence of Price Dispersion: an Empirical Analysis,,,,,2002.0,report,National Bureau of Economic Research,"Lach, Saul",1.0,
7 +baye2006,dispersion,Baye Morgan Scholten,"Information, Search, and Price Dispersion",2006,True,10.1016/s1574-0145(06)01006-3,"Chapter 6 Information, Search, and Price Dispersion",Handbooks in Information Systems Economics and Information Systems,,,323-375,2006.0,book-chapter,Elsevier,"Baye, Michael R.; Morgan, John; Scholten, Patrick",1.0,
8 +kaplan2015,dispersion,Kaplan Menzio,The Morphology of Price Dispersion,2015,True,10.3386/w19877,The Morphology of Price Dispersion,,,,,2014.0,report,National Bureau of Economic Research,"Kaplan, Greg; Menzio, Guido",1.0,
9 +kaplan2019,dispersion,Kaplan Menzio Rudanko Trachter,Relative Price Dispersion: Evidence and Theory,2019,True,10.1257/mic.20170126,Relative Price Dispersion: Evidence and Theory,American Economic Journal: Microeconomics,11.0,3,68-124,2019.0,journal-article,American Economic Association,"Kaplan, Greg; Menzio, Guido; Rudanko, Leena; Trachter, Nicholas",1.0,
10 +hitsch2021,retail,Hitsch Hortaçsu Lin,Prices and promotions in U.S. retail markets,2021,True,10.1007/s11129-021-09238-x,Prices and promotions in U.S. retail markets,Quantitative Marketing and Economics,19.0,3-4,289-368,2021.0,journal-article,Springer Science and Business Media LLC,"Hitsch, Günter J.; Hortaçsu, Ali; Lin, Xiliang",1.0,
11 +pesendorfer2002,sales,Pesendorfer,Retail Sales: A Study of Pricing Behavior in Supermarkets,2002,True,10.1086/323504,Retail Sales: A Study of Pricing Behavior in Supermarkets,The Journal of Business,75.0,1,33-66,2002.0,journal-article,University of Chicago Press,"Pesendorfer, Martin",1.0,
12 +hendel2006,sales,Hendel Nevo,Measuring the Implications of Sales and Consumer Inventory Behavior,2006,True,10.3386/w11307,Measuring the Implications of Sales and Consumer Inventory Behavior,,,,,2005.0,report,National Bureau of Economic Research,"Hendel, Igal; Nevo, Aviv",1.0,
13 +hendel2013,sales,Hendel Nevo,Intertemporal Price Discrimination in Storable Goods Markets,2013,True,10.1257/aer.103.7.2722,Intertemporal Price Discrimination in Storable Goods Markets,American Economic Review,103.0,7,2722-2751,2013.0,journal-article,American Economic Association,"Hendel, Igal; Nevo, Aviv",1.0,
14 +hosken2004,sales,Hosken Reiffen,Patterns of Retail Price Variation,2004,True,10.2307/1593733,Patterns of Retail Price Variation,The RAND Journal of Economics,35.0,1,128,2004.0,journal-article,Wiley,"Hosken, Daniel; Reiffen, David",1.0,
15 +nakamura2008,rigidity,Nakamura Steinsson,Five Facts about Prices: A Reevaluation of Menu Cost Models,2008,True,10.1162/qjec.2008.123.4.1415,"Five Facts about Prices: A Reevaluation of Menu Cost Models
16 + <sup>*</sup>",Quarterly Journal of Economics,123.0,4,1415-1464,2008.0,journal-article,Oxford University Press (OUP),"Nakamura, Emi; Steinsson, Jón",1.0,
17 +klenow2008,rigidity,Klenow Kryvtsov,State-Dependent or Time-Dependent Pricing: Does It Matter for Recent U.S. Inflation?,2008,True,10.1162/qjec.2008.123.3.863,"State-Dependent or Time-Dependent Pricing: Does It Matter for Recent U.S. Inflation?
18 + <sup>*</sup>",Quarterly Journal of Economics,123.0,3,863-904,2008.0,journal-article,Oxford University Press (OUP),"Klenow, Peter J.; Kryvtsov, Oleksiy",1.0,
19 +eichenbaum2011,rigidity,Eichenbaum Jaimovich Rebelo,"Reference Prices, Costs, and Nominal Rigidities",2011,True,10.1257/aer.101.1.234,"Reference Prices, Costs, and Nominal Rigidities",American Economic Review,101.0,1,234-262,2011.0,journal-article,American Economic Association,"Eichenbaum, Martin; Jaimovich, Nir; Rebelo, Sergio",1.0,
20 +kehoe2015,rigidity,Kehoe Midrigan,Prices are sticky after all,2015,True,10.1016/j.jmoneco.2014.12.004,Prices are sticky after all,Journal of Monetary Economics,75.0,,35-53,2015.0,journal-article,Elsevier BV,"Kehoe, Patrick; Midrigan, Virgiliu",1.0,
21 +anderson2017,sales,Anderson Malin Nakamura Simester Steinsson,Informational rigidities and the stickiness of temporary sales,2017,True,10.1016/j.jmoneco.2017.06.003,Informational rigidities and the stickiness of temporary Sales,Journal of Monetary Economics,90.0,,64-83,2017.0,journal-article,Elsevier BV,"Anderson, Eric; Malin, Benjamin A.; Nakamura, Emi; Simester, Duncan; Steinsson, Jón",1.0,
22 +chevalier2003,sales,Chevalier Kashyap Rossi,Why Don't Prices Rise During Periods of Peak Demand? Evidence from Scanner Data,2003,True,10.2139/ssrn.319966,Why Don't Prices Rise During Periods of Peak Demand? Evidence from Scanner Data,,,,,2002.0,posted-content,Elsevier BV,"Rossi, Peter E.; Chevalier, Judith A.; Kashyap, Anil K.",1.0,
23 +chevalier2019,sales,Chevalier Kashyap,Best Prices: Price Discrimination and Consumer Substitution,2019,True,10.1257/pol.20150362,Best Prices: Price Discrimination and Consumer Substitution,American Economic Journal: Economic Policy,11.0,1,126-159,2019.0,journal-article,American Economic Association,"Chevalier, Judith A.; Kashyap, Anil K",1.0,
24 +coibion2015,sales,Coibion Gorodnichenko Hong,"The Cyclicality of Sales, Regular and Effective Prices: Business Cycle and Policy Implications",2015,True,10.1257/aer.20121546,"The Cyclicality of Sales, Regular and Effective Prices: Business Cycle and Policy Implications",American Economic Review,105.0,3,993-1029,2015.0,journal-article,American Economic Association,"Coibion, Olivier; Gorodnichenko, Yuriy; Hong, Gee Hee",1.0,
25 +golosov2007,menu_costs,Golosov Lucas,Menu Costs and Phillips Curves,2007,True,10.1086/512625,Menu Costs and Phillips Curves,Journal of Political Economy,115.0,2,171-199,2007.0,journal-article,University of Chicago Press,"Golosov, Mikhail; Lucas Jr., Robert E.",1.0,
26 +nakamura2013,rigidity,Nakamura Steinsson,Price Rigidity: Microeconomic Evidence and Macroeconomic Implications,2013,True,10.3386/w18705,Price Rigidity: Microeconomic Evidence and Macroeconomic Implications,,,,,2013.0,report,National Bureau of Economic Research,"Nakamura, Emi; Steinsson, Jón",1.0,
27 +ivancic2011,scanner,Ivancic Diewert Fox,"Scanner data, time aggregation and the construction of price indexes",2011,True,10.1016/j.jeconom.2010.09.003,"Scanner data, time aggregation and the construction of price indexes",Journal of Econometrics,161.0,1,24-35,2011.0,journal-article,Elsevier BV,"Ivancic, Lorraine; Erwin Diewert, W.; Fox, Kevin J.",1.0,
28 +dehaan2011,scanner,de Haan van der Grient,Eliminating chain drift in price indexes based on scanner data,2011,True,10.1016/j.jeconom.2010.09.004,Eliminating chain drift in price indexes based on scanner data,Journal of Econometrics,161.0,1,36-46,2011.0,journal-article,Elsevier BV,"de Haan, Jan; van der Grient, Heymerik A.",1.0,
29 +redding2020,indices,Redding Weinstein,Measuring Aggregate Price Indices with Taste Shocks: Theory and Evidence for CES Preferences,2020,True,10.1093/qje/qjz031,Measuring Aggregate Price Indices with Taste Shocks: Theory and Evidence for CES Preferences*,The Quarterly Journal of Economics,135.0,1,503-560,2019.0,journal-article,Oxford University Press (OUP),"Redding, Stephen J; Weinstein, David E",1.0,
30 +cavallo2017,online,Cavallo,Are Online and Offline Prices Similar? Evidence from Large Multi-channel Retailers,2017,True,10.3386/w22142,Are Online and Offline Prices Similar? Evidence from Large Multi-Channel Retailers,,,,,2016.0,report,National Bureau of Economic Research,"Cavallo, Alberto",1.0,
31 +cavallo2016,online,Cavallo Rigobon,The Billion Prices Project: Using Online Prices for Measurement and Research,2016,True,10.3386/w22111,The Billion Prices Project: Using Online Prices for Measurement and Research,,,,,2016.0,report,National Bureau of Economic Research,"Cavallo, Alberto; Rigobon, Roberto",1.0,
32 +cavallo2018,online,Cavallo,Scraped Data and Sticky Prices,2018,True,10.1162/rest_a_00652,Scraped Data and Sticky Prices,The Review of Economics and Statistics,100.0,1,105-119,2018.0,journal-article,MIT Press - Journals,"Cavallo, Alberto",1.0,
33 +gorodnichenko2017,online,Gorodnichenko Talavera,"Price Setting in Online Markets: Basic Facts, International Comparisons, and Cross-Border Integration",2017,True,10.1257/aer.20141127,"Price Setting in Online Markets: Basic Facts, International Comparisons, and Cross-Border Integration",American Economic Review,107.0,1,249-282,2017.0,journal-article,American Economic Association,"Gorodnichenko, Yuriy; Talavera, Oleksandr",1.0,
34 +ellickson2008,retail,Ellickson Misra,Supermarket Pricing Strategies,2008,True,10.1287/mksc.1080.0398,Supermarket Pricing Strategies,Marketing Science,27.0,5,811-828,2008.0,journal-article,Institute for Operations Research and the Management Sciences (INFORMS),"Ellickson, Paul B.; Misra, Sanjog",1.0,
35 +hausman2007,retail,Hausman Leibtag,Consumer benefits from increased competition in shopping outlets: Measuring the effect of Wal-Mart,2007,True,10.1920/wp.cem.2006.0606,Consumer Benefits from Increased Competition in Shopping Outlets: Measuring the Effect of Wal-Mart,Working Paper Series,,,,2006.0,report,Institute for Fiscal Studies,"Hausman, Jerry; Leibtag, Ephraim",1.0,
36 +lal1997,retail,Lal Rao,Supermarket Competition: The Case of Every Day Low Pricing,1997,True,10.1287/mksc.16.1.60,Supermarket Competition: The Case of Every Day Low Pricing,Marketing Science,16.0,1,60-80,1997.0,journal-article,Institute for Operations Research and the Management Sciences (INFORMS),"Lal, Rajiv; Rao, Ram",1.0,
37 +hoch1994,retail,Hoch Drèze Purk,"EDLP, Hi-Lo, and Margin Arithmetic",1994,True,10.1177/002224299405800402,"EDLP, Hi-Lo, and Margin Arithmetic",Journal of Marketing,58.0,4,16-27,1994.0,journal-article,SAGE Publications,"Hoch, Stephen J.; Drèze, Xavier; Purk, Mary E.",1.0,
38 +aguiar2007,search,Aguiar Hurst,Life-Cycle Prices and Production,2007,True,10.1257/aer.97.5.1533,Life-Cycle Prices and Production,American Economic Review,97.0,5,1533-1559,2007.0,journal-article,American Economic Association,"Aguiar, Mark; Hurst, Erik",1.0,
39 +kaplan2016,search,Kaplan Menzio,Shopping Externalities and Self-Fulfilling Unemployment Fluctuations,2016,True,10.1086/685909,Shopping Externalities and Self-Fulfilling Unemployment Fluctuations,Journal of Political Economy,124.0,3,771-825,2016.0,journal-article,University of Chicago Press,"Kaplan, Greg; Menzio, Guido",1.0,
40 +griffith2009,welfare,Griffith Leibtag Leicester Nevo,Consumer Shopping Behavior: How Much Do Consumers Save?,2009,True,10.1257/jep.23.2.99,Consumer Shopping Behavior: How Much Do Consumers Save?,Journal of Economic Perspectives,23.0,2,99-120,2009.0,journal-article,American Economic Association,"Griffith, Rachel; Leibtag, Ephraim; Leicester, Andrew; Nevo, Aviv",1.0,
41 +nevo2019,search,Nevo Wong,The Elasticity of Substitution Between Time and Market Goods: Evidence from the Great Recession,2019,True,10.1111/iere.12343,THE ELASTICITY OF SUBSTITUTION BETWEEN TIME AND MARKET GOODS: EVIDENCE FROM THE GREAT RECESSION,International Economic Review,60.0,1,25-51,2018.0,journal-article,Wiley,"Nevo, Aviv; Wong, Arlene",1.0,
42 +jaravel2019,welfare,Jaravel,The Unequal Gains from Product Innovations: Evidence from the U.S. Retail Sector,2019,True,10.1093/qje/qjy031,The Unequal Gains from Product Innovations: Evidence from the U.S. Retail Sector*,The Quarterly Journal of Economics,134.0,2,715-783,2018.0,journal-article,Oxford University Press (OUP),"Jaravel, Xavier",1.0,
43 +argente2021,welfare,Argente Lee,Cost of Living Inequality During the Great Recession,2021,True,10.1093/jeea/jvaa018,Cost of Living Inequality During the Great Recession,Journal of the European Economic Association,19.0,2,913-952,2020.0,journal-article,Oxford University Press (OUP),"Argente, David; Lee, Munseob",1.0,
44 +dube2018,substitution,Dubé Hitsch Rossi,Income and Wealth Effects on Private-Label Demand: Evidence from the Great Recession,2018,True,10.1287/mksc.2017.1047,Income and Wealth Effects on Private-Label Demand: Evidence from the Great Recession,Marketing Science,37.0,1,22-53,2018.0,journal-article,Institute for Operations Research and the Management Sciences (INFORMS),"Dubé, Jean-Pierre; Hitsch, Günter J.; Rossi, Peter E.",1.0,
45 +bronnenberg2015,substitution,Bronnenberg Dubé Gentzkow Shapiro,Do Pharmacists Buy Bayer? Informed Shoppers and the Brand Premium,2015,True,10.3386/w20295,Do Pharmacists Buy Bayer? Informed Shoppers and the Brand Premium,,,,,2014.0,report,National Bureau of Economic Research,"Bronnenberg, Bart; Dubé, Jean-Pierre; Gentzkow, Matthew; Shapiro, Jesse",1.0,
46 +allcott2019,access,Allcott Diamond Dubé Handbury Rahkovsky Schnell,Food Deserts and the Causes of Nutritional Inequality,2019,True,10.1093/qje/qjz015,Food Deserts and the Causes of Nutritional Inequality*,The Quarterly Journal of Economics,134.0,4,1793-1844,2019.0,journal-article,Oxford University Press (OUP),"Allcott, Hunt; Diamond, Rebecca; Dubé, Jean-Pierre; Handbury, Jessie; Rahkovsky, Ilya; Schnell, Molly",1.0,
47 +handbury2015,access,Handbury Weinstein,Goods Prices and Availability in Cities,2015,True,10.1093/restud/rdu033,Goods Prices and Availability in Cities,The Review of Economic Studies,82.0,1,258-296,2014.0,journal-article,Oxford University Press (OUP),"Handbury, J.; Weinstein, D. E.",1.0,
48 +gagnon2020,sales,Gagnon López-Salido,Small Price Responses to Large Demand Shocks,2020,True,10.1093/jeea/jvz002,Small Price Responses to Large Demand Shocks,Journal of the European Economic Association,18.0,2,792-828,2019.0,journal-article,Oxford University Press (OUP),"Gagnon, Etienne; López-Salido, David",1.0,
49 +dellavigna2019,retail,DellaVigna Gentzkow,Uniform Pricing in U.S. Retail Chains,2019,True,10.1093/qje/qjz019,Uniform Pricing in U.S. Retail Chains*,The Quarterly Journal of Economics,134.0,4,2011-2084,2019.0,journal-article,Oxford University Press (OUP),"DellaVigna, Stefano; Gentzkow, Matthew",1.0,
50 +hitsch2019,retail,Hitsch Hortaçsu Lin,Prices and Promotions in U.S. Retail Markets: Evidence from Big Data,2019,True,10.3386/w26306,Prices and Promotions in U.S. Retail Markets: Evidence from Big Data,,,,,2019.0,report,National Bureau of Economic Research,"Hitsch, Günter; Hortaçsu, Ali; Lin, Xiliang",1.0,
51 +melser2018,scanner,Melser,Scanner Data Price Indexes: Addressing Some Unresolved Issues,2018,True,10.1080/07350015.2016.1218339,Scanner Data Price Indexes: Addressing Some Unresolved Issues,Journal of Business &amp; Economic Statistics,36.0,3,516-522,2017.0,journal-article,Informa UK Limited,"Melser, Daniel",1.0,
52 +nakamura2018,rigidity,Nakamura Steinsson Sun Villar,The Elusive Costs of Inflation: Price Dispersion during the U.S. Great Inflation,2018,True,10.1093/qje/qjy017,The Elusive Costs of Inflation: Price Dispersion during the U.S. Great Inflation*,The Quarterly Journal of Economics,133.0,4,1933-1980,2018.0,journal-article,Oxford University Press (OUP),"Nakamura, Emi; Steinsson, Jón; Sun, Patrick; Villar, Daniel",1.0,
53 +anderson2015,sales,Anderson Jaimovich Simester,Price Stickiness: Empirical Evidence of the Menu Cost Channel,2015,True,10.1162/rest_a_00507,Price Stickiness: Empirical Evidence of the Menu Cost Channel,Review of Economics and Statistics,97.0,4,813-826,2015.0,journal-article,MIT Press - Journals,"Anderson, Eric; Jaimovich, Nir; Simester, Duncan",1.0,
54 +fellegi1969,matching,Fellegi Sunter,A Theory for Record Linkage,1969,True,10.1080/01621459.1969.10501049,A Theory for Record Linkage,Journal of the American Statistical Association,64.0,328,1183-1210,1969.0,journal-article,Informa UK Limited,"Fellegi, Ivan P.; Sunter, Alan B.",1.0,
55 +christen2012,matching,Christen,"Data Matching: Concepts and Techniques for Record Linkage, Entity Resolution, and Duplicate Detection",2012,True,10.1007/978-3-642-31164-2,Data Matching,,,,,2012.0,book,Springer Berlin Heidelberg,"Christen, Peter",1.0,
56 +macdonald2000,sales,MacDonald,"Demand, Information, and Competition: Why Do Food Prices Fall at Seasonal Demand Peaks?",2000,True,10.1111/1467-6451.00111,"Demand, Information, and Competition: Why Do Food Prices Fall at Seasonal Demand Peaks?",The Journal of Industrial Economics,48.0,1,27-45,2000.0,journal-article,Wiley,"MacDonald, James M.",1.0,
57 +bils2004,rigidity,Bils Klenow,Some Evidence on the Importance of Sticky Prices,2004,True,10.1086/422559,Some Evidence on the Importance of Sticky Prices,Journal of Political Economy,112.0,5,947-985,2004.0,journal-article,University of Chicago Press,"Bils, Mark; Klenow, Peter J.",1.0,
58 +guimaraes2011,sales,Guimaraes Sheedy,Sales and Monetary Policy,2011,True,10.1257/aer.101.2.844,Sales and Monetary Policy,American Economic Review,101.0,2,844-876,2011.0,journal-article,American Economic Association,"Guimaraes, Bernardo; Sheedy, Kevin D",1.0,
59 +aguirregabiria1999,sales,Aguirregabiria,The Dynamics of Markups and Inventories in Retailing Firms,1999,True,10.1111/1467-937x.00088,The Dynamics of Markups and Inventories in Retailing Firms,Review of Economic Studies,66.0,2,275-308,1999.0,journal-article,Oxford University Press (OUP),"Aguirregabiria, Victor",1.0,
60 +dejong2009,scanner,Einav Leibtag Nevo,Recording discrepancies in Nielsen Homescan data: Are they present and do they matter?,2010,True,10.1007/s11129-009-9073-0,Recording discrepancies in Nielsen Homescan data: Are they present and do they matter?,Quantitative Marketing and Economics,8.0,2,207-239,2009.0,journal-article,Springer Science and Business Media LLC,"Einav, Liran; Leibtag, Ephraim; Nevo, Aviv",1.0,
61 +varian1980,sales,"Varian, Hal R.",A Model of Sales,1980,True,,A Model of Sales,American Economic Review,70,4,651-659,1980.0,journal-article,,"Varian, Hal R.",1.0,no DOI; verified via https://www.jstor.org/stable/1805363
62 +feenstra1994,indices,"Feenstra, Robert C.",New Product Varieties and the Measurement of International Prices,1994,True,,New Product Varieties and the Measurement of International Prices,American Economic Review,84,1,157-177,1994.0,journal-article,,"Feenstra, Robert C.",1.0,no DOI; verified via https://www.jstor.org/stable/2117971
63 +midrigan2011,menu_costs,,"Menu Costs, Multiproduct Firms, and Aggregate Fluctuations",2011,True,10.3982/ecta6735,"Menu Costs, Multiproduct Firms, and Aggregate Fluctuations",Econometrica,79,4,1139-1180,2011.0,journal-article,The Econometric Society,,1.0,resolved by DOI
64 +diewert2022,indices,,Substitution Bias in Multilateral Methods for CPI Construction,2020,True,10.1080/07350015.2020.1816176,Substitution Bias in Multilateral Methods for CPI Construction,Journal of Business &amp; Economic Statistics,40,1,355-369,2020.0,journal-article,Informa UK Limited,"Diewert, W. Erwin; Fox, Kevin J.",1.0,resolved by DOI
65 +hortacsu2004,search,,"Product Differentiation, Search Costs, and Competition in the Mutual Fund Industry: A Case Study of S&amp;P 500 Index Funds",2004,True,10.1162/0033553041382184,"Product Differentiation, Search Costs, and Competition in the Mutual Fund Industry: A Case Study of S&amp;P 500 Index Funds",The Quarterly Journal of Economics,119,2,403-456,2004.0,journal-article,Oxford University Press (OUP),"Hortacsu, A.; Syverson, C.",1.0,resolved by DOI
66 +competitionbureau2023,canada,{Competition Bureau Canada},Canada Needs More Grocery Competition: Retail Grocery Market Study Report,2023,True,,Canada Needs More Grocery Competition: Retail Grocery Market Study Report,,,,,2023.0,report,,{Competition Bureau Canada},1.0,no DOI; verified via https://competition-bureau.canada.ca/en/how-we-foster-competition/education-and-outreach/canada-needs-more-grocery-competition
added literature/seed_references.yaml +65 −0
@@ -0,0 +1,65 @@
1 +# Intended references (author / title / year) — every entry is verified against Crossref before use (verify_refs.py).
2 +# topic: dispersion | search | sales | rigidity | menu_costs | indices | scanner | substitution | shrinkflation | welfare | access | retail | online | canada | matching
3 +- {key: stigler1961, topic: search, author: "Stigler", title: "The Economics of Information", year: 1961}
4 +- {key: varian1980, topic: sales, author: "Varian", title: "A Model of Sales", year: 1980}
5 +- {key: salop1977, topic: dispersion, author: "Salop Stiglitz", title: "Bargains and Ripoffs: A Model of Monopolistically Competitive Price Dispersion", year: 1977}
6 +- {key: burdett1983, topic: dispersion, author: "Burdett Judd", title: "Equilibrium Price Dispersion", year: 1983}
7 +- {key: sorensen2000, topic: dispersion, author: "Sorensen", title: "Equilibrium Price Dispersion in Retail Markets for Prescription Drugs", year: 2000}
8 +- {key: lach2002, topic: dispersion, author: "Lach", title: "Existence and Persistence of Price Dispersion: An Empirical Analysis", year: 2002}
9 +- {key: baye2006, topic: dispersion, author: "Baye Morgan Scholten", title: "Information, Search, and Price Dispersion", year: 2006}
10 +- {key: kaplan2015, topic: dispersion, author: "Kaplan Menzio", title: "The Morphology of Price Dispersion", year: 2015}
11 +- {key: kaplan2019, topic: dispersion, author: "Kaplan Menzio Rudanko Trachter", title: "Relative Price Dispersion: Evidence and Theory", year: 2019}
12 +- {key: hitsch2021, topic: retail, author: "Hitsch Hortaçsu Lin", title: "Prices and promotions in U.S. retail markets", year: 2021}
13 +- {key: pesendorfer2002, topic: sales, author: "Pesendorfer", title: "Retail Sales: A Study of Pricing Behavior in Supermarkets", year: 2002}
14 +- {key: hendel2006, topic: sales, author: "Hendel Nevo", title: "Measuring the Implications of Sales and Consumer Inventory Behavior", year: 2006}
15 +- {key: hendel2013, topic: sales, author: "Hendel Nevo", title: "Intertemporal Price Discrimination in Storable Goods Markets", year: 2013}
16 +- {key: hosken2004, topic: sales, author: "Hosken Reiffen", title: "Patterns of Retail Price Variation", year: 2004}
17 +- {key: nakamura2008, topic: rigidity, author: "Nakamura Steinsson", title: "Five Facts about Prices: A Reevaluation of Menu Cost Models", year: 2008}
18 +- {key: klenow2008, topic: rigidity, author: "Klenow Kryvtsov", title: "State-Dependent or Time-Dependent Pricing: Does It Matter for Recent U.S. Inflation?", year: 2008}
19 +- {key: eichenbaum2011, topic: rigidity, author: "Eichenbaum Jaimovich Rebelo", title: "Reference Prices, Costs, and Nominal Rigidities", year: 2011}
20 +- {key: kehoe2015, topic: rigidity, author: "Kehoe Midrigan", title: "Prices are sticky after all", year: 2015}
21 +- {key: anderson2017, topic: sales, author: "Anderson Malin Nakamura Simester Steinsson", title: "Informational rigidities and the stickiness of temporary sales", year: 2017}
22 +- {key: chevalier2003, topic: sales, author: "Chevalier Kashyap Rossi", title: "Why Don't Prices Rise During Periods of Peak Demand? Evidence from Scanner Data", year: 2003}
23 +- {key: chevalier2019, topic: sales, author: "Chevalier Kashyap", title: "Best Prices: Price Discrimination and Consumer Substitution", year: 2019}
24 +- {key: coibion2015, topic: sales, author: "Coibion Gorodnichenko Hong", title: "The Cyclicality of Sales, Regular and Effective Prices: Business Cycle and Policy Implications", year: 2015}
25 +- {key: golosov2007, topic: menu_costs, author: "Golosov Lucas", title: "Menu Costs and Phillips Curves", year: 2007}
26 +- {key: midrigan2011, topic: menu_costs, author: "Midrigan", title: "Menu Costs, Multiproduct Firms, and Aggregate Fluctuations", year: 2011}
27 +- {key: nakamura2013, topic: rigidity, author: "Nakamura Steinsson", title: "Price Rigidity: Microeconomic Evidence and Macroeconomic Implications", year: 2013}
28 +- {key: feenstra1994, topic: indices, author: "Feenstra", title: "New Product Varieties and the Measurement of International Prices", year: 1994}
29 +- {key: ivancic2011, topic: scanner, author: "Ivancic Diewert Fox", title: "Scanner data, time aggregation and the construction of price indexes", year: 2011}
30 +- {key: dehaan2011, topic: scanner, author: "de Haan van der Grient", title: "Eliminating chain drift in price indexes based on scanner data", year: 2011}
31 +- {key: redding2020, topic: indices, author: "Redding Weinstein", title: "Measuring Aggregate Price Indices with Taste Shocks: Theory and Evidence for CES Preferences", year: 2020}
32 +- {key: cavallo2017, topic: online, author: "Cavallo", title: "Are Online and Offline Prices Similar? Evidence from Large Multi-channel Retailers", year: 2017}
33 +- {key: cavallo2016, topic: online, author: "Cavallo Rigobon", title: "The Billion Prices Project: Using Online Prices for Measurement and Research", year: 2016}
34 +- {key: cavallo2018, topic: online, author: "Cavallo", title: "Scraped Data and Sticky Prices", year: 2018}
35 +- {key: gorodnichenko2017, topic: online, author: "Gorodnichenko Talavera", title: "Price Setting in Online Markets: Basic Facts, International Comparisons, and Cross-Border Integration", year: 2017}
36 +- {key: ellickson2008, topic: retail, author: "Ellickson Misra", title: "Supermarket Pricing Strategies", year: 2008}
37 +- {key: hausman2007, topic: retail, author: "Hausman Leibtag", title: "Consumer benefits from increased competition in shopping outlets: Measuring the effect of Wal-Mart", year: 2007}
38 +- {key: lal1997, topic: retail, author: "Lal Rao", title: "Supermarket Competition: The Case of Every Day Low Pricing", year: 1997}
39 +- {key: hoch1994, topic: retail, author: "Hoch Drèze Purk", title: "EDLP, Hi-Lo, and Margin Arithmetic", year: 1994}
40 +- {key: aguiar2007, topic: search, author: "Aguiar Hurst", title: "Life-Cycle Prices and Production", year: 2007}
41 +- {key: kaplan2016, topic: search, author: "Kaplan Menzio", title: "Shopping Externalities and Self-Fulfilling Unemployment Fluctuations", year: 2016}
42 +- {key: griffith2009, topic: welfare, author: "Griffith Leibtag Leicester Nevo", title: "Consumer Shopping Behavior: How Much Do Consumers Save?", year: 2009}
43 +- {key: nevo2019, topic: search, author: "Nevo Wong", title: "The Elasticity of Substitution Between Time and Market Goods: Evidence from the Great Recession", year: 2019}
44 +- {key: jaravel2019, topic: welfare, author: "Jaravel", title: "The Unequal Gains from Product Innovations: Evidence from the U.S. Retail Sector", year: 2019}
45 +- {key: argente2021, topic: welfare, author: "Argente Lee", title: "Cost of Living Inequality During the Great Recession", year: 2021}
46 +- {key: dube2018, topic: substitution, author: "Dubé Hitsch Rossi", title: "Income and Wealth Effects on Private-Label Demand: Evidence from the Great Recession", year: 2018}
47 +- {key: bronnenberg2015, topic: substitution, author: "Bronnenberg Dubé Gentzkow Shapiro", title: "Do Pharmacists Buy Bayer? Informed Shoppers and the Brand Premium", year: 2015}
48 +- {key: allcott2019, topic: access, author: "Allcott Diamond Dubé Handbury Rahkovsky Schnell", title: "Food Deserts and the Causes of Nutritional Inequality", year: 2019}
49 +- {key: handbury2015, topic: access, author: "Handbury Weinstein", title: "Goods Prices and Availability in Cities", year: 2015}
50 +- {key: gagnon2020, topic: sales, author: "Gagnon López-Salido", title: "Small Price Responses to Large Demand Shocks", year: 2020}
51 +- {key: dellavigna2019, topic: retail, author: "DellaVigna Gentzkow", title: "Uniform Pricing in U.S. Retail Chains", year: 2019}
52 +- {key: hitsch2019, topic: retail, author: "Hitsch Hortaçsu Lin", title: "Prices and Promotions in U.S. Retail Markets: Evidence from Big Data", year: 2019}
53 +- {key: diewert2023, topic: indices, author: "Diewert Fox", title: "Substitution Bias in Multilateral Methods for CPI Construction", year: 2022}
54 +- {key: melser2018, topic: scanner, author: "Melser", title: "Scanner Data Price Indexes: Addressing Some Unresolved Issues", year: 2018}
55 +- {key: nakamura2018, topic: rigidity, author: "Nakamura Steinsson Sun Villar", title: "The Elusive Costs of Inflation: Price Dispersion during the U.S. Great Inflation", year: 2018}
56 +- {key: anderson2015, topic: sales, author: "Anderson Jaimovich Simester", title: "Price Stickiness: Empirical Evidence of the Menu Cost Channel", year: 2015}
57 +- {key: shrink2023, topic: shrinkflation, author: "", title: "shrinkflation", year: 2023}
58 +- {key: fellegi1969, topic: matching, author: "Fellegi Sunter", title: "A Theory for Record Linkage", year: 1969}
59 +- {key: christen2012, topic: matching, author: "Christen", title: "Data Matching: Concepts and Techniques for Record Linkage, Entity Resolution, and Duplicate Detection", year: 2012}
60 +- {key: macdonald2000, topic: sales, author: "MacDonald", title: "Demand, Information, and Competition: Why Do Food Prices Fall at Seasonal Demand Peaks?", year: 2000}
61 +- {key: bils2004, topic: rigidity, author: "Bils Klenow", title: "Some Evidence on the Importance of Sticky Prices", year: 2004}
62 +- {key: guimaraes2011, topic: sales, author: "Guimaraes Sheedy", title: "Sales and Monetary Policy", year: 2011}
63 +- {key: hortacsu2008, topic: search, author: "Hortaçsu Syverson", title: "Product Differentiation, Search Costs, and Competition in the Mutual Fund Industry", year: 2004}
64 +- {key: aguirregabiria1999, topic: sales, author: "Aguirregabiria", title: "The Dynamics of Markups and Inventories in Retailing Firms", year: 1999}
65 +- {key: dejong2009, topic: scanner, author: "Einav Leibtag Nevo", title: "Recording discrepancies in Nielsen Homescan data: Are they present and do they matter?", year: 2010}
added literature/unverified.csv +7 −0
@@ -0,0 +1,7 @@
1 +key,topic,author,title,year,verified,doi,crossref_title,journal,volume,issue,pages,pub_year,type,publisher,authors,title_sim,note
2 +varian1980,sales,Varian,A Model of Sales,1980,False,,,,,,,,,,,,no confident Crossref match (best sim 0.00)
3 +midrigan2011,menu_costs,Midrigan,"Menu Costs, Multiproduct Firms, and Aggregate Fluctuations",2011,False,,,,,,,,,,,,no confident Crossref match (best sim 0.00)
4 +feenstra1994,indices,Feenstra,New Product Varieties and the Measurement of International Prices,1994,False,,,,,,,,,,,,no confident Crossref match (best sim 0.48)
5 +diewert2023,indices,Diewert Fox,Substitution Bias in Multilateral Methods for CPI Construction,2022,False,,,,,,,,,,,,no confident Crossref match (best sim 0.00)
6 +shrink2023,shrinkflation,,shrinkflation,2023,False,,,,,,,,,,,,"placeholder topic query, needs a specific paper"
7 +hortacsu2008,search,Hortaçsu Syverson,"Product Differentiation, Search Costs, and Competition in the Mutual Fund Industry",2004,False,,,,,,,,,,,,no confident Crossref match (best sim 0.00)
added src/literature/__init__.py +0 −0
added src/literature/resolve_dois.py +40 −0
@@ -0,0 +1,40 @@
1 +"""Resolve manual references by DOI through Crossref and merge into references_verified.csv; search Crossref for
2 +shrinkflation papers to pick a verifiable one."""
3 +import time, requests, yaml, pandas as pd
4 +from src.common import ROOT, get_logger
5 +log = get_logger("crossref"); LIT = ROOT / "literature"; UA = {"User-Agent": "WP37-UQO-research/0.1 (mailto:simon-pierre.boucher@uqo.ca)"}
6 +
7 +def by_doi(doi):
8 + r = requests.get(f"https://api.crossref.org/works/{doi}", headers=UA, timeout=60); r.raise_for_status(); return r.json()["message"]
9 +
10 +def main():
11 + man = yaml.safe_load((LIT / "manual_references.yaml").read_text())
12 + rows = []
13 + for m in man:
14 + if m.get("doi"):
15 + it = by_doi(m["doi"]); yr = it["issued"]["date-parts"][0][0]
16 + rows.append(dict(key=m["key"], topic=m["topic"], verified=True, doi=it["DOI"], crossref_title=" ".join(it.get("title") or []),
17 + journal=" ".join(it.get("container-title") or []), volume=it.get("volume"), issue=it.get("issue"), pages=it.get("page"),
18 + pub_year=yr, type=it.get("type"), publisher=it.get("publisher"),
19 + authors="; ".join(f"{a.get('family','')}, {a.get('given','')}" for a in it.get("author", []) or []), title=" ".join(it.get("title") or []), year=yr, author="", title_sim=1.0, note="resolved by DOI"))
20 + log.info("DOI %s -> %s (%s %s)", m["doi"], rows[-1]["crossref_title"][:60], rows[-1]["journal"], yr)
21 + else:
22 + rows.append(dict(key=m["key"], topic=m["topic"], verified=True, doi=None, crossref_title=m["title"], journal=m.get("journal", ""), volume=m.get("volume"),
23 + issue=m.get("issue"), pages=m.get("pages"), pub_year=m["year"], type=m.get("type", "journal-article"), publisher="",
24 + authors=m["author"], title=m["title"], year=m["year"], author=m["author"], title_sim=1.0,
25 + note=f"no DOI; verified via {m.get('jstor') or m.get('url')}"))
26 + time.sleep(0.3)
27 + # shrinkflation search
28 + r = requests.get("https://api.crossref.org/works", params={"query.bibliographic": "shrinkflation package downsizing grocery prices", "rows": 15, "filter": "type:journal-article",
29 + "select": "DOI,title,author,issued,container-title"}, headers=UA, timeout=60)
30 + for it in r.json()["message"]["items"]:
31 + log.info("shrinkflation candidate: %s | %s | %s | %s", " ".join(it.get("title") or [])[:90], " ".join(it.get("container-title") or []),
32 + (it.get("issued", {}).get("date-parts") or [[None]])[0][0], it["DOI"])
33 + ver = pd.read_csv(LIT / "references_verified.csv")
34 + ver = ver[~ver.key.isin([r["key"] for r in rows]) & ~ver.key.isin(["diewert2023", "hortacsu2008", "shrink2023"])]
35 + out = pd.concat([ver, pd.DataFrame(rows)], ignore_index=True)
36 + out.to_csv(LIT / "references_verified.csv", index=False)
37 + log.info("references now: %d verified / %d", out.verified.sum(), len(out))
38 +
39 +if __name__ == "__main__":
40 + main()
added src/literature/verify_refs.py +59 −0
@@ -0,0 +1,59 @@
1 +"""Verify every intended reference against Crossref (public API, polite pool) and build the verified bibliography.
2 +
3 +For each seed (author words, title, year) we query Crossref, keep the best candidate only if the title similarity is
4 +high and the year matches (±1), and record DOI, container title, volume, pages. Unverified entries are listed in
5 +literature/unverified.csv and are NOT cited in the paper.
6 +"""
7 +import time, re, json, requests, yaml, pandas as pd
8 +from rapidfuzz import fuzz
9 +from src.common import ROOT, get_logger, ledger
10 +
11 +log = get_logger("crossref")
12 +UA = "WP37-UQO-research/0.1 (mailto:simon-pierre.boucher@uqo.ca)"
13 +LIT = ROOT / "literature"
14 +
15 +def norm(s): return re.sub(r"[^a-z0-9 ]", " ", (s or "").lower())
16 +
17 +def query(author, title, year):
18 + params = {"query.bibliographic": f"{author} {title} {year}", "rows": 5, "select": "DOI,title,author,issued,container-title,volume,issue,page,type,publisher"}
19 + r = requests.get("https://api.crossref.org/works", params=params, headers={"User-Agent": UA}, timeout=60)
20 + r.raise_for_status()
21 + return r.json()["message"]["items"]
22 +
23 +def main():
24 + seeds = yaml.safe_load((LIT / "seed_references.yaml").read_text())
25 + rows = []
26 + for s in seeds:
27 + if not s["author"]:
28 + rows.append({**s, "verified": False, "note": "placeholder topic query, needs a specific paper"}); continue
29 + try:
30 + items = query(s["author"], s["title"], s["year"])
31 + except Exception as e:
32 + rows.append({**s, "verified": False, "note": f"crossref error {type(e).__name__}"}); continue
33 + best, best_sim = None, 0
34 + for it in items:
35 + t = " ".join(it.get("title") or [])
36 + sim = fuzz.token_set_ratio(norm(t), norm(s["title"])) / 100
37 + yr = (it.get("issued", {}).get("date-parts") or [[None]])[0][0]
38 + fam = " ".join(a.get("family", "") for a in it.get("author", []) or [])
39 + auth_ok = all(norm(w) in norm(fam) for w in s["author"].split()[:1])
40 + if sim > best_sim and yr and abs(int(yr) - int(s["year"])) <= 1 and auth_ok:
41 + best, best_sim = it, sim
42 + if best and best_sim >= 0.90:
43 + yr = best["issued"]["date-parts"][0][0]
44 + rows.append({**s, "verified": True, "doi": best["DOI"], "crossref_title": " ".join(best.get("title") or []),
45 + "journal": " ".join(best.get("container-title") or []), "volume": best.get("volume"), "issue": best.get("issue"),
46 + "pages": best.get("page"), "pub_year": yr, "type": best.get("type"), "publisher": best.get("publisher"),
47 + "authors": "; ".join(f"{a.get('family','')}, {a.get('given','')}" for a in best.get("author", []) or []),
48 + "title_sim": round(best_sim, 3), "note": ""})
49 + else:
50 + rows.append({**s, "verified": False, "note": f"no confident Crossref match (best sim {best_sim:.2f})"})
51 + time.sleep(0.3)
52 + df = pd.DataFrame(rows)
53 + df.to_csv(LIT / "references_verified.csv", index=False)
54 + df[~df.verified].to_csv(LIT / "unverified.csv", index=False)
55 + log.info("verified %d / %d ; unverified: %s", df.verified.sum(), len(df), df.loc[~df.verified, "key"].tolist())
56 + ledger("2", "verify_refs", f"{int(df.verified.sum())}/{len(df)} verified via Crossref")
57 +
58 +if __name__ == "__main__":
59 + main()
modified src/matching/match_products.py +4 −2
@@ -6,8 +6,9 @@ Tiers (calibrated on UPC ground truth Metro<->Super C, src/matching/calibrate_th
6 6 (labelled-set precision 0.913, recall 0.984)
7 7 C brand key equal + size equal + token_sort_ratio >= 0.90 + identical numeric tokens, not already B
8 8 (labelled-set precision 0.845 cumulative)
9 − D (brand missing on one side) size equal + full-name token_sort_ratio >= 0.92 + identical numeric tokens + brand
10 − tokens of the branded side present in the brandless name
9 + D (brand missing on one side) size equal + identical full-name token sets (brand tokens kept on both sides) +
10 + identical numeric tokens + brand tokens of the branded side present in the brandless name
11 + (validation round 1 showed that a 0.92 sort-ratio rule let 'spaghetti' ~ 'spaghettini' through: 3/60 errors)
11 12 Excluded from matching: listings without a parsable package size (circular items are mostly size-less) and
12 13 multi-product circular offers ("X ou Y", "assortis", "sélectionnés", comma lists). A first version using
13 14 rapidfuzz token_set_ratio was rejected because a name that is a token-subset of another scores 1.0
@@ -121,6 +122,7 @@ def tier_d(p: pd.DataFrame) -> pd.DataFrame:
121 122 for i, j in zip(ii, jj):
122 123 a, b = bl.iloc[i], br.iloc[j]
123 124 if a.banner == b.banner and a.channel == b.channel: continue
125 + if set(a.nkey_full.split()) != set(b.nkey_full.split()): continue
124 126 if num_tokens(a.nkey_full) != num_tokens(b.nkey_full): continue
125 127 btoks = [t for t in _ALNUM.sub(" ", strip_accents(b.brand).lower()).split() if len(t) >= 3]
126 128 if btoks and not all(t in a.nkey_full.split() for t in btoks): continue
127 129
Menu

Theme