- From December to May, the food basket rose 4.8% in the 16 lowest-income districts and 3.5% in the 13 highest-income ones.
- In June and July, the basket fell 0.8% on the outskirts, while higher-income districts still saw a +0.1% change.
- In the same 65 stores on the outskirts, a kilo of tomatoes climbed from R$6.50 to R$13.07 before easing back to R$7.74.
- For the same barcode, shoppers on the outskirts pay about 10% less on average, even though those prices swing faster.
One city, two inflation rates
In December 2025, a kilo of tomatoes cost an average of R$6.50 in stores across São Paulo’s lower-income districts. By May, in those same 65 stores, the same kilo was selling for R$13.07, and by July it had slipped back to R$7.74. That round trip captures much of what HYPR found when it tracked food prices across the city for eight months. Food got more expensive everywhere and later eased everywhere, but the swing started earlier, ran harder and unwound faster where incomes are lower.
Between December 2025 and May 2026, the food basket rose 4.8% in the 16 districts where average household income is below R$3,000, home to 3.35 million people. In the 13 districts above R$10,000, it rose 3.5%. That 1.4-percentage-point gap built up in just a few months, and it means that people living in the same city went through two different rates of food inflation over the same period. When prices began to ease, the pattern held, and in June and July the basket fell 0.8% on the outskirts while higher-income districts still saw a +0.1% change.
To get these numbers, the study did not rely on price surveys or a theoretical basket. Its starting point was what people actually bought, as recorded on 39.6 million consumer receipts issued in the city and read line by line. From those receipts came 2.6 million comparisons of the same product, in the same store, from one month to the next, which isolates price changes from any shift in the mix of stores or products.
Read the full study.
Fill this in once and every study in the Índice HYPR opens for you in this browser. No password, no account.
- Eight key findings
- Where the numbers come from
- How the gap opened and closed
- Which foods drove the gap
- What a kilo cost
- Brands and identical products
- Mapping the increase
- Zones, subprefectures and districts
- Supermarkets, butchers and produce stands
- Do receipts match the IPCA?
- Methodology
Eight key findings
The eight points below sum up the study, and the sections that follow take each one in turn. Every comparison tracks the same product in the same store, and only districts, brands and products with at least 20 stores in each group are cited.
- 011.4 pp
Prices rose sooner and harder on the outskirts
From December to May, the food basket rose 4.8% in the 16 lowest-income districts and 3.5% in the 13 highest-income ones, opening a 1.4-point gap at the peak.
- 02−0.8%
Relief arrived there first as well
In June and July, the basket fell 0.8% on the outskirts, while higher-income districts still saw a +0.1% change. By July, the cumulative gap had narrowed to 0.4 point.
- 03+94%
Tomatoes nearly doubled in price before falling back
In the same 65 stores on the outskirts, a kilo went from R$6.50 to R$13.07 and back to R$7.74. In 77 stores in higher-income districts, it went from R$10.04 to R$14.24.
- 04+140%
Carrots, potatoes and onions took the same ride
Through May, carrots rose 140% on the outskirts and 54% in higher-income districts. Potatoes climbed 78% and 37%, and onions 53% and 29%.
- 05+12.4%
Milk, rice and beans also hit the outskirts harder
Dairy rose 12.4%, compared with 6.0% in higher-income districts, and rice and beans rose 10.1% against 4.3%. Meat prices moved similarly in both groups, up 5.8% and 4.8%.
- 0610%
The outskirts pay less for the same product
For the same barcode, the median price is 10% lower in lower-income districts. In May, 129 of the 146 products compared were cheaper there.
- 07+4.4%
The East Zone saw the city’s steepest increase
Through May, the basket rose 4.4% in the East Zone, 4.0% in the North and South, 3.6% in the Center and 3.3% in the West. Among subprefectures, Sapopemba came out on top at 5.9%.
- 08+5.7%
The gap takes shape in supermarkets
In self-service stores, prices rose 5.7% through May on the outskirts and 3.5% in higher-income districts. In traditional markets, the two groups stayed close, at 3.7% and 3.5%.
Where the numbers come from
Measuring inflation district by district takes a large dataset, and this one qualifies. It covers 39.6 million consumer receipts issued in the city between December 2025 and July 2026, adding up to R$3.76B (Brazilian reais) in purchases at as many as 18.4 thousand establishments a month. Those receipts yield 54 million food-basket line items, covering 66 million units and kilos of food.
To compare the city by income, the study set up two groups of districts based on average household income in the 2022 Census. One group holds 16 districts with income below R$3,000, home to 3.35 million people. The other holds 13 districts with income above R$10,000 and 1.07 million residents. The divide even shows up in the size of a shopping trip. In May, the average receipt came to R$53.20 in the first group and R$134.92 in the second.
| Lower income | Higher income | |
|---|---|---|
| Districts | 16 | 13 |
| Average household income (2022 Census) | below R$3k | above R$10k |
| Residents | 3.35 million | 1.07 million |
| Stores with tracked prices (May) | 752 | 2,076 |
| Receipts in the period | 4.3 million | 9.5 million |
| Average receipt value (May) | R$53.20 | R$134.92 |
How the gap opened and closed
With the two groups in place, the first question is when the gap appeared. In January and February, the two curves moved almost in lockstep, and anyone looking only at those months would have seen no difference between the districts. The split begins in March, when fresh produce prices surged and the basket on the outskirts pulled away. By May, the gap had reached 1.4 points.
After the peak, the movement reversed. Between June and July, prices on the outskirts fell back faster, and by the end of the period the gap had nearly closed, with cumulative increases of 4.0% in lower-income districts and 3.6% in higher-income ones.
- 16 districts with average income below R$3k
- 13 districts above R$10k
Which foods drove the gap
Fresh food did most of the work in opening the gap. Through May, tubers and vegetables rose 46.8% on the outskirts and 16.9% in higher-income districts, a spread of nearly 30 points and the widest in the basket. Next came leafy greens, milk and dairy, and rice and beans, all of which rose considerably more in lower-income districts.
At the other end of the table, oils, beverages and coffee, poultry and eggs, and sugar and sweets rose less on the outskirts than in higher-income districts. The gap between the two groups is therefore concentrated in fresh produce and everyday staples. On the way down, tubers took the lead again, falling 14.8% on the outskirts in June and July and just 1.5% in higher-income districts. The last column shows the IPCA for the same period and confirms that the spike in tubers hit the entire metro area, even if it landed harder in lower-income districts.
| December to May | June and July | IPCA | ||||
|---|---|---|---|---|---|---|
| Group | Lower income | Higher income | Gap (pp) | Lower income | Higher income | Dec–May |
| Tubers and vegetables | +46.8% | +16.9% | +29.9 | −14.8% | −1.5% | +43.1% |
| Leafy greens | +21.7% | +8.7% | +13.0 | +3.0% | +1.8% | +13.2% |
| Milk and dairy | +12.4% | +6.0% | +6.4 | +1.8% | +1.1% | +12.9% |
| Rice and beans | +10.1% | +4.3% | +5.8 | +0.9% | +1.8% | +8.9% |
| Meat | +5.8% | +4.8% | +1.0 | −0.8% | −0.8% | +6.6% |
| Bakery | +2.4% | +1.7% | +0.6 | +1.0% | +1.0% | +1.7% |
| Cold cuts and sausages | +1.1% | +1.7% | −0.6 | −0.8% | +0.5% | +1.2% |
| Sugar and sweets | +0.9% | +2.3% | −1.4 | −1.2% | +0.3% | +2.2% |
| Fruit | −4.1% | −2.5% | −1.5 | +0.6% | +0.4% | −1.4% |
| Poultry and eggs | +0.2% | +2.1% | −1.9 | −1.6% | −0.7% | +1.3% |
| Beverages and coffee | −0.7% | +1.6% | −2.3 | −1.3% | +0.4% | −0.5% |
| Oils | −2.5% | +0.1% | −2.6 | −0.8% | −1.2% | −4.4% |
What a kilo cost
At the level of individual products, the story becomes tangible. On the outskirts, between December and May, carrots rose 140%, tomatoes 94% and potatoes 78%, while in higher-income districts the increases for those items were roughly half as large. Each row of the table includes only stores that sold the same product in all three months, so the figures reflect actual repricing, undistorted by stores entering or leaving the sample.
Price levels help explain how sharp the shock felt. In December, a kilo of tomatoes cost R$6.50 in stores on the outskirts and R$10.04 in higher-income districts. Starting from that lower base, the price on the outskirts nearly doubled to R$13.07 in May, close to the R$14.24 charged across town, before falling back to R$7.74 in July. Fruit moved the other way, with apples, nanica bananas and papayas getting cheaper in both groups and dropping more steeply on the outskirts.
| Lower-income districts | Higher-income districts | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Per kilo (R$) | Dec | May | Jul | Dec–May | Stores | Dec | May | Jul | Dec–May | Stores |
| Tomato | 6.50 | 13.07 | 7.74 | +94% | 65 | 10.04 | 14.24 | 12.63 | +45% | 77 |
| Carrot | 4.30 | 10.79 | 7.97 | +140% | 57 | 9.34 | 13.65 | 13.27 | +54% | 64 |
| Potato | 4.81 | 9.60 | 6.67 | +78% | 75 | 8.98 | 12.98 | 12.32 | +37% | 77 |
| Onion | 3.63 | 6.39 | 7.19 | +53% | 73 | 6.75 | 8.10 | 9.38 | +29% | 79 |
| Cheese | 45.02 | 52.31 | 55.80 | +13% | 77 | 75.41 | 75.53 | 78.57 | +4% | 101 |
| Chuck | 33.89 | 38.97 | 38.80 | +11% | 53 | 39.80 | 42.27 | 41.75 | +6% | 35 |
| Beef shank | 33.97 | 39.13 | 40.71 | +12% | 36 | 40.51 | 44.11 | 45.10 | +7% | 35 |
| Knuckle (patinho) | 44.41 | 49.51 | 48.19 | +6% | 46 | 56.55 | 57.73 | 58.22 | +4% | 41 |
| Rump (alcatra) | 51.52 | 51.51 | 50.38 | +6% | 35 | 66.59 | 64.18 | 62.85 | +7% | 38 |
| Striploin | 53.78 | 55.24 | 53.67 | +4% | 37 | 63.33 | 64.58 | 63.93 | +7% | 37 |
| Sausage | 25.50 | 26.57 | 25.68 | +2% | 63 | 35.84 | 32.51 | 34.46 | +1% | 65 |
| French roll (pão francês) | 16.33 | 16.08 | 16.92 | +2% | 106 | 21.90 | 23.62 | 23.72 | +2% | 190 |
| Chicken pieces | 18.43 | 17.32 | 17.00 | −3% | 82 | 28.34 | 24.05 | 24.74 | −2% | 72 |
| Pork | 23.79 | 22.04 | 21.42 | −6% | 50 | 27.45 | 26.90 | 27.02 | −1% | 45 |
| Garlic | 26.69 | 26.38 | 29.64 | −10% | 63 | 48.03 | 45.78 | 46.20 | −1% | 73 |
| Papaya | 11.00 | 8.52 | 9.78 | −12% | 30 | 14.52 | 13.56 | 16.01 | −2% | 69 |
| Nanica banana | 6.82 | 6.27 | 6.63 | −14% | 55 | 9.43 | 8.71 | 9.00 | −9% | 94 |
| Apple | 14.93 | 10.99 | 10.07 | −15% | 44 | 18.54 | 17.13 | 16.61 | −4% | 67 |
Average price weighted by kilos sold, in stores that recorded the same product in December, May and July. The change is the geometric mean of each product's change in each store. Price levels reflect the mix of stores and products in each area, which is why the key comparison is the change.
Brands and identical products
All of this might suggest that food is simply more expensive on the outskirts, but a comparison of identical products tells a different story. For the same barcode, the median price in May was lower in lower-income districts for 129 of the 146 products compared, by about 10% on average. That discount held throughout the period, ranging from 9.8% to 11.7% depending on the month.
| Product | Lower income | Higher income | Diff. | Stores |
|---|---|---|---|---|
| Italac whole milk 1 L | R$5.95 | R$6.50 | −8% | 158 / 107 |
| Quero tomato sauce 240 g | R$1.91 | R$2.39 | −20% | 135 / 48 |
| Pilão coffee, soft pack 500 g | R$29.49 | R$34.99 | −16% | 102 / 71 |
| Camil carioca beans 1 kg | R$9.39 | R$9.98 | −6% | 68 / 81 |
| Vigor grated Parmesan 50 g | R$6.99 | R$7.79 | −10% | 82 / 65 |
| Adria fusilli pasta 500 g | R$3.87 | R$4.39 | −12% | 86 / 45 |
| Seven Boys sandwich bread | R$6.94 | R$9.59 | −28% | 61 / 62 |
| 3 Corações extra-strong coffee 500 g | R$29.31 | R$33.98 | −14% | 63 / 56 |
| Pullman Artesano bread 500 g | R$14.39 | R$15.40 | −7% | 27 / 61 |
What sets the outskirts apart, then, is how fast prices move, and that shows up in brands as well. Of the 29 brands with at least 20 stores in each group, 20 rose more in lower-income districts between December and May. The differences are smaller than for fresh food but point the same way, as with Vigor cheese, up 6.8% on the outskirts and 0.2% in higher-income districts, and Camil rice, up 3.5% against a 0.8% decline.
For a brand manager, the practical upshot is that the same item can follow different price paths within a single city. The citywide average says little about what shoppers in each area actually found on the shelf from one month to the next.
| Brand · item | Lower income | Higher income | Stores |
|---|---|---|---|
| Vigor · Cheese | +6.8% | +0.2% | 23 / 21 |
| Qualy · Margarine | +10.9% | +6.1% | 30 / 29 |
| Camil · Rice | +3.5% | −0.8% | 27 / 26 |
| Crystal · Soda | +5.5% | +2.9% | 45 / 90 |
| Aurora · Sausage | +1.8% | −0.7% | 46 / 28 |
| Bis · Wafer | +4.4% | +2.8% | 26 / 23 |
| Panco · Sandwich bread | +4.5% | +3.2% | 30 / 29 |
| Italac · UHT milk | +24.6% | +23.6% | 36 / 30 |
| Coca-Cola · Soda | +3.7% | +2.7% | 79 / 348 |
| Sadia · Hot dogs | −0.7% | −1.6% | 23 / 24 |
| Pullman · Sandwich bread | −1.1% | +0.9% | 20 / 26 |
| Del Valle · Fruit juice | −0.8% | +1.5% | 29 / 40 |
Brand-level gaps are smaller than those for fresh food. Stores: lower income / higher income.
Mapping the increase
Spread the basket’s increase across all 96 districts and the pattern comes into focus. At the peak, the farther a district sat from the expanded city center, the bigger its increase. The eight districts that rose most through May lie on the city’s edges, from Brasilândia in the north to Grajaú in the south, by way of Sapopemba and São Rafael in the East Zone. Of the eight that rose least, six form an arc running from downtown to the West Zone, taking in Sé, Consolação, Jardim Paulista, Pinheiros, Lapa and Vila Leopoldina.
- up to 3.5%
- 3.5 to 4.0%
- 4.0 to 4.5%
- 4.5 to 5.0%
- above 5.0%
- not enough sample
Largest increases
| District | Income | Stores | Thru May | Thru Jul |
|---|---|---|---|---|
| Sapopemba | R$2,213 | 50 | +6.1% | +5.4% |
| São Rafael | R$1,907 | 28 | +5.9% | +5.3% |
| Grajaú | R$1,890 | 54 | +5.4% | +4.2% |
| Limão | R$3,747 | 57 | +5.4% | +4.8% |
| Pedreira | R$2,569 | 27 | +5.3% | +3.0% |
| Brasilândia | R$2,037 | 51 | +5.2% | +4.3% |
| Capão Redondo | R$2,230 | 59 | +5.1% | +4.0% |
| Vila Matilde | R$4,043 | 67 | +5.1% | +4.4% |
Smallest increases
| District | Income | Stores | Thru May | Thru Jul |
|---|---|---|---|---|
| Tremembé | R$3,068 | 39 | +2.5% | +2.6% |
| Consolação | R$13,719 | 190 | +2.6% | +2.9% |
| Lapa | R$9,371 | 123 | +2.6% | +2.0% |
| Jardim Paulista | R$17,872 | 234 | +2.8% | +3.3% |
| Sé | R$3,447 | 85 | +2.9% | +3.0% |
| Pinheiros | R$14,722 | 254 | +2.9% | +3.4% |
| Vila Leopoldina | R$11,701 | 104 | +2.9% | +2.4% |
| Campo Grande | R$7,074 | 98 | +3.0% | +2.3% |
The link between income and inflation holds up when every district with a large enough sample is included.
Across the 69 districts with 20 or more stores, the correlation between average income and the basket’s increase through May is −0.52. Among the 51 districts with at least 50 stores, it reaches −0.60.
A negative correlation means that the higher a district’s average income, the smaller its increase tends to be. The fact that the relationship gets stronger when the analysis is limited to districts with more stores, and therefore sturdier samples, suggests the pattern does not hinge on a few outliers.
Zones, subprefectures and districts
The same gradient repeats at larger scales. Across the city’s five zones, the ranking of increases through May follows average income. The East Zone (Zona Leste), with an average income of R$3,017, saw the largest increase at 4.4%, and the West Zone, at R$10,152, the smallest at 3.3%. Among subprefectures with 20 or more stores, Sapopemba leads at 5.9%, and Pinheiros comes last at 2.9%.
By July, however, the rankings had drawn closer together. Pinheiros ended the period with a cumulative increase of 3.5% and Vila Mariana with 4.0%, levels similar to those of outlying subprefectures such as Cidade Ademar and Itaim Paulista, both at 3.5%.
| Zone | Dec–May | Jun–Jul | Dec–Jul | Average income | Stores | Receipts |
|---|---|---|---|---|---|---|
| East | +4.4% | −0.4% | +3.9% | R$3,017 | 1,440 | 8.0M |
| North | +4.0% | −0.4% | +3.5% | R$3,501 | 1,077 | 6.3M |
| South | +4.0% | −0.3% | +3.6% | R$4,839 | 1,916 | 8.2M |
| Center | +3.6% | −0.1% | +3.4% | R$7,600 | 782 | 4.0M |
| West | +3.3% | +0.1% | +3.4% | R$10,152 | 1,543 | 7.7M |
| Subprefecture | Dec–May | Dec–Jul | Income | Stores |
|---|---|---|---|---|
| Sapopemba | +5.9% | +5.2% | R$2,213 | 50 |
| Penha | +5.0% | +4.4% | R$3,450 | 183 |
| Cidade Ademar | +4.9% | +3.5% | R$2,585 | 114 |
| Capela do Socorro | +4.8% | +4.1% | R$2,571 | 162 |
| Vila Prudente | +4.6% | +4.2% | R$4,139 | 137 |
| Freguesia / Brasilândia | +4.6% | +4.1% | R$2,668 | 125 |
| Pirituba / Jaraguá | +4.4% | +3.9% | R$3,175 | 210 |
| Itaquera | +4.4% | +4.0% | R$2,688 | 126 |
| Itaim Paulista | +4.4% | +3.5% | R$1,997 | 55 |
| Campo Limpo | +4.2% | +3.8% | R$4,580 | 165 |
| Aricanduva / Formosa / Carrão | +4.1% | +3.2% | R$4,751 | 187 |
| Butantã | +4.0% | +4.2% | R$6,986 | 267 |
| Casa Verde / Cachoeirinha | +4.0% | +3.6% | R$3,628 | 163 |
| Santana / Tucuruvi | +4.0% | +3.9% | R$6,187 | 329 |
| Vila Mariana | +3.9% | +4.0% | R$13,916 | 626 |
| Santo Amaro | +3.8% | +3.3% | R$10,363 | 400 |
| Mooca | +3.7% | +3.8% | R$6,019 | 490 |
| Sé | +3.6% | +3.4% | R$7,600 | 782 |
| Ipiranga | +3.5% | +3.2% | R$4,775 | 274 |
| Vila Maria / Vila Guilherme | +3.2% | +3.1% | R$3,243 | 149 |
| Lapa | +3.2% | +2.8% | R$9,313 | 501 |
| Pinheiros | +2.9% | +3.5% | R$16,338 | 775 |
The portraits below show the contrast up close. Sapopemba, with an average income of R$2,213 and 267,000 residents, posted the largest increase among the districts analyzed, 6.1% through May, and ended July at 5.4%. In all four lower-income districts shown, the cumulative increase eased after the peak. In the four higher-income districts, it kept climbing, and Moema, the wealthiest of the group at R$20,453, went from 3.4% in May to 4.8% in July.
- SapopembaSapopemba subprefecture+6.1%through May · +5.4% through JulyAverage income R$2,213267k residents437k receipts · 50 stores
- São RafaelSão Mateus subprefecture+5.9%through May · +5.3% through JulyAverage income R$1,907148k residents69k receipts · 28 stores
- GrajaúCapela do Socorro subprefecture+5.4%through May · +4.2% through JulyAverage income R$1,890385k residents230k receipts · 54 stores
- BrasilândiaFreguesia / Brasilândia subprefecture+5.2%through May · +4.3% through JulyAverage income R$2,037243k residents162k receipts · 51 stores
- PinheirosPinheiros subprefecture+2.9%through May · +3.4% through JulyAverage income R$14,72265k residents1.33M receipts · 254 stores
- Jardim PaulistaPinheiros subprefecture+2.8%through May · +3.3% through JulyAverage income R$17,87282k residents776k receipts · 234 stores
- ConsolaçãoSé subprefecture+2.6%through May · +2.9% through JulyAverage income R$13,71953k residents1.31M receipts · 190 stores
- MoemaVila Mariana subprefecture+3.4%through May · +4.8% through JulyAverage income R$20,45382k residents817k receipts · 237 stores
Supermarkets, butchers and produce stands
That leaves the question of which stores the gap forms in. In supermarkets and other self-service stores on the outskirts, the food basket rose 5.7% through May, compared with 3.5% in the same kind of store in higher-income districts. In neighborhood markets, butcher shops and produce stands, increases were similar in both groups, at 3.7% and 3.5%. The divide between the outskirts and wealthier neighborhoods, in other words, takes shape in self-service aisles.
That matters because self-service is the main shopping channel on the outskirts. In lower-income districts, supermarkets and self-service stores account for 44% of food spending, and markets, butchers and produce stores for another 35%. In higher-income districts, those channels take 24% and 10%, restaurants take 12%, and 44% comes from establishments with no channel classification.
- Lower-income districts
- Higher-income districts
The remainder comes from establishments without a channel classification (12% on the outskirts and 44% in higher-income districts).
What it means for brands, retailers and media planners
For brands, retailers and media planners working in São Paulo, the study has some practical implications. The citywide average hides two inflation rates, and the one in lower-income districts reacts first, both on the way up and on the way down. Anyone tracking only the metro-area index is likely to notice late when these shoppers start to feel the squeeze, or the relief.
In retail, self-service stores on the outskirts are where the swings are sharpest, even though prices there for the same product remain about 10% below those in higher-income districts. In campaign planning, the district-level view shows that a message about price, deals or savings is more likely to land when it accounts for where shoppers are and where they stand in the price cycle.
Do receipts match the IPCA?
Everything above depends on the premise that receipts measure food inflation as well as the official index does. So before looking at districts, HYPR checked its receipt-based index against the IPCA, Brazil’s official consumer price index, for food at home in the São Paulo metro area, month by month from March 2025 to July 2026. The two series show a correlation of 0.84, with an average error of 0.4 point per month. Over 12 months, receipts show a 3.5% increase, compared with 3.7% for the IPCA.
- Receipts (HYPR)
- IPCA
Monthly change, March 2025 to July 2026. Values read from the study's chart and rounded to 0.1 point.
Item by item, the receipts also capture the period’s big citywide moves. Tomatoes rose 43.8% through May and gave back much of that by July, when they were up 18.8%. Apples, refined sugar and tangerines, meanwhile, got cheaper, in the same direction as the IPCA.
| Item | Dec–May | Dec–Jul | IPCA Dec–Jul | Comparisons |
|---|---|---|---|---|
| Tomato | +43.8% | +18.8% | +29.1% | 14,918 |
| Carioca beans | +29.6% | +36.5% | +44.5% | 6,027 |
| Potato | +23.1% | +14.9% | +38.9% | 21,918 |
| UHT milk | +15.2% | +17.2% | +29.9% | 61,307 |
| Mango | +12.2% | +28.5% | +31.3% | 12,188 |
| Lettuce | +11.3% | +16.0% | +11.9% | 7,407 |
| Beef shank | +10.8% | +11.7% | +11.8% | 3,595 |
| Beef shoulder | +9.2% | +8.5% | +7.4% | 1,859 |
| Apple | −7.2% | −12.3% | −5.1% | 19,405 |
| Nanica banana | −7.9% | −2.1% | −5.9% | 5,413 |
| Refined sugar | −9.3% | −15.3% | −15.6% | 3,269 |
| Tangerine | −17.8% | −24.4% | −3.0% | 7,222 |
Methodology
In lower-income neighborhoods, food prices react faster. When food gets more expensive, people who earn less feel it sooner and harder. When prices ease, the relief reaches them first, too.
How the study was done
The study used 39.6 million consumer receipts issued in the city of São Paulo between December 2025 and July 2026, totaling R$3.76B in purchases at as many as 18,398 establishments a month. Those receipts yield 54 million line items and 2.6 million comparisons of the same product, in the same store, from one month to the next.
Products are grouped into 80 IPCA items, which account for 99% of the food-at-home weight, and weighted with the official weights for the São Paulo metro area, the same for every district.
Criteria and limitations
Each establishment is assigned to the district where it operates. Districts, brands and products are cited only when they have at least 20 stores in each group compared, a threshold that 69 of the 96 districts meet. Income groups use the average income of 2022 Census tracts, with population-weighted averages.
The study measures the prices charged in each district’s stores, regardless of where the shopper lives. HYPR stores only anonymized consumption data.