Estimación de la demanda por MCO para el Chocoramo

En este documento se pretende estimar una función de demanda para el Chocoramo con el método de mínimos cuadrados ordinarios. Para ella creamos una encuesta en la que se recolectaron 42 datos y se preguntó cuántos Chocoramos compraría a precios que van desde 1000 pesos hasta 6000 pesos, con un intervalo de $500, por lo que hubo 11 preguntas de cantidades de chocorramos que estaría dispuesto a comprar y 2 preguntas de control (edad y sexo). A partir de estos se estimaron los betas y se encontró la función de demanda.

Calcular la función de demanda.

Para la función de demanda se siguieron los siguientes pasos:

1. Se importan los datos
choco=read.csv("https://docs.google.com/spreadsheets/d/e/2PACX-1vTzB0wKBayLoDRZ1g9RhhDvuPw8udlaMtXYK4EomvjlQe9WpKITCQJZZMZlC63ugUW282BSbl45DWYg/pub?output=csv")
2. Se establecen los nombres de las columnas con la función colnames().

Además de nombrar las columnas, utilizamos la función attach() para que R interprete cada columna como una variable y la función names() para que R reconozca el nombre de las variables en la tabla.

colnames(choco)=c("fecha", "edad","sexo","1000","1500","2000","2500","3000","3500","4000","4500","5000","5500", "6000")
attach(choco) 
names(choco) 
##  [1] "fecha" "edad"  "sexo"  "1000"  "1500"  "2000"  "2500"  "3000"  "3500" 
## [10] "4000"  "4500"  "5000"  "5500"  "6000"
3. Se utiliza la función library para cargar el paquete “tidyr”

Este paquete contiene la función gather() que permitirá agrupar variables de observación en una sola variable. En este caso, se utilizó para cambiarlos a un formato en el que hubiera solo dos columnas: “Precio” y “Cantidad”, variables necesarias para calcular la función de demanda. A su vez, “c(4:13)” hace referencia a las columnas que convertiremos o tomaremos con la función gather(). El próximo paso consiste en seleccionar las columnas que utilizaré: “Precio” y “Cantidad” que corresponden a las columnas 4 y 5.

library(tidyr)
choco_long= gather(choco, "Precio", "Cantidad", c(4:14))
attach(choco_long)
choco_final=choco_long[, c(4,5)] 
attach(choco_final)
head(choco_final)
##   Precio Cantidad
## 1   1000       10
## 2   1000       10
## 3   1000       30
## 4   1000       10
## 5   1000        2
## 6   1000       15
4. Se realiza la regresión.

En este caso, tomamos “choco_final”, en el cuál están las variables “Precio” y “Cantidad” y se cambian las variables a tipo numérica con la función as.numeric(). Posteriormente, se utiliza la función lm() para realizar la regresión. Finalmente, se utiliza la función summary() para mostrar un resumen de los resultados.

as.numeric(Precio)
##   [1] 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
##  [16] 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
##  [31] 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1500 1500 1500
##  [46] 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500
##  [61] 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500 1500
##  [76] 1500 1500 1500 1500 1500 1500 1500 1500 1500 2000 2000 2000 2000 2000 2000
##  [91] 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000
## [106] 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 2000
## [121] 2000 2000 2000 2000 2000 2000 2500 2500 2500 2500 2500 2500 2500 2500 2500
## [136] 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500
## [151] 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500 2500
## [166] 2500 2500 2500 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000
## [181] 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000
## [196] 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000 3000
## [211] 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500
## [226] 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500
## [241] 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 3500 4000 4000 4000
## [256] 4000 4000 4000 4000 4000 4000 4000 4000 4000 4000 4000 4000 4000 4000 4000
## [271] 4000 4000 4000 4000 4000 4000 4000 4000 4000 4000 4000 4000 4000 4000 4000
## [286] 4000 4000 4000 4000 4000 4000 4000 4000 4000 4500 4500 4500 4500 4500 4500
## [301] 4500 4500 4500 4500 4500 4500 4500 4500 4500 4500 4500 4500 4500 4500 4500
## [316] 4500 4500 4500 4500 4500 4500 4500 4500 4500 4500 4500 4500 4500 4500 4500
## [331] 4500 4500 4500 4500 4500 4500 5000 5000 5000 5000 5000 5000 5000 5000 5000
## [346] 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000
## [361] 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000 5000
## [376] 5000 5000 5000 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500
## [391] 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500
## [406] 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500 5500
## [421] 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000
## [436] 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000
## [451] 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000 6000
reg1=lm(Cantidad~as.numeric(Precio), data=choco_final)
summary(reg1)
## 
## Call:
## lm(formula = Cantidad ~ as.numeric(Precio), data = choco_final)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -8.902 -4.351 -1.571  1.200 41.209 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)        12.12186    0.80650   15.03   <2e-16 ***
## as.numeric(Precio) -0.00222    0.00021  -10.57   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.137 on 460 degrees of freedom
## Multiple R-squared:  0.1955, Adjusted R-squared:  0.1938 
## F-statistic: 111.8 on 1 and 460 DF,  p-value: < 2.2e-16
5. Utilizamos la función fitted() para hacer la predicción.
fitted(reg1) 
##           1           2           3           4           5           6 
##  9.90151515  9.90151515  9.90151515  9.90151515  9.90151515  9.90151515 
##           7           8           9          10          11          12 
##  9.90151515  9.90151515  9.90151515  9.90151515  9.90151515  9.90151515 
##          13          14          15          16          17          18 
##  9.90151515  9.90151515  9.90151515  9.90151515  9.90151515  9.90151515 
##          19          20          21          22          23          24 
##  9.90151515  9.90151515  9.90151515  9.90151515  9.90151515  9.90151515 
##          25          26          27          28          29          30 
##  9.90151515  9.90151515  9.90151515  9.90151515  9.90151515  9.90151515 
##          31          32          33          34          35          36 
##  9.90151515  9.90151515  9.90151515  9.90151515  9.90151515  9.90151515 
##          37          38          39          40          41          42 
##  9.90151515  9.90151515  9.90151515  9.90151515  9.90151515  9.90151515 
##          43          44          45          46          47          48 
##  8.79134199  8.79134199  8.79134199  8.79134199  8.79134199  8.79134199 
##          49          50          51          52          53          54 
##  8.79134199  8.79134199  8.79134199  8.79134199  8.79134199  8.79134199 
##          55          56          57          58          59          60 
##  8.79134199  8.79134199  8.79134199  8.79134199  8.79134199  8.79134199 
##          61          62          63          64          65          66 
##  8.79134199  8.79134199  8.79134199  8.79134199  8.79134199  8.79134199 
##          67          68          69          70          71          72 
##  8.79134199  8.79134199  8.79134199  8.79134199  8.79134199  8.79134199 
##          73          74          75          76          77          78 
##  8.79134199  8.79134199  8.79134199  8.79134199  8.79134199  8.79134199 
##          79          80          81          82          83          84 
##  8.79134199  8.79134199  8.79134199  8.79134199  8.79134199  8.79134199 
##          85          86          87          88          89          90 
##  7.68116883  7.68116883  7.68116883  7.68116883  7.68116883  7.68116883 
##          91          92          93          94          95          96 
##  7.68116883  7.68116883  7.68116883  7.68116883  7.68116883  7.68116883 
##          97          98          99         100         101         102 
##  7.68116883  7.68116883  7.68116883  7.68116883  7.68116883  7.68116883 
##         103         104         105         106         107         108 
##  7.68116883  7.68116883  7.68116883  7.68116883  7.68116883  7.68116883 
##         109         110         111         112         113         114 
##  7.68116883  7.68116883  7.68116883  7.68116883  7.68116883  7.68116883 
##         115         116         117         118         119         120 
##  7.68116883  7.68116883  7.68116883  7.68116883  7.68116883  7.68116883 
##         121         122         123         124         125         126 
##  7.68116883  7.68116883  7.68116883  7.68116883  7.68116883  7.68116883 
##         127         128         129         130         131         132 
##  6.57099567  6.57099567  6.57099567  6.57099567  6.57099567  6.57099567 
##         133         134         135         136         137         138 
##  6.57099567  6.57099567  6.57099567  6.57099567  6.57099567  6.57099567 
##         139         140         141         142         143         144 
##  6.57099567  6.57099567  6.57099567  6.57099567  6.57099567  6.57099567 
##         145         146         147         148         149         150 
##  6.57099567  6.57099567  6.57099567  6.57099567  6.57099567  6.57099567 
##         151         152         153         154         155         156 
##  6.57099567  6.57099567  6.57099567  6.57099567  6.57099567  6.57099567 
##         157         158         159         160         161         162 
##  6.57099567  6.57099567  6.57099567  6.57099567  6.57099567  6.57099567 
##         163         164         165         166         167         168 
##  6.57099567  6.57099567  6.57099567  6.57099567  6.57099567  6.57099567 
##         169         170         171         172         173         174 
##  5.46082251  5.46082251  5.46082251  5.46082251  5.46082251  5.46082251 
##         175         176         177         178         179         180 
##  5.46082251  5.46082251  5.46082251  5.46082251  5.46082251  5.46082251 
##         181         182         183         184         185         186 
##  5.46082251  5.46082251  5.46082251  5.46082251  5.46082251  5.46082251 
##         187         188         189         190         191         192 
##  5.46082251  5.46082251  5.46082251  5.46082251  5.46082251  5.46082251 
##         193         194         195         196         197         198 
##  5.46082251  5.46082251  5.46082251  5.46082251  5.46082251  5.46082251 
##         199         200         201         202         203         204 
##  5.46082251  5.46082251  5.46082251  5.46082251  5.46082251  5.46082251 
##         205         206         207         208         209         210 
##  5.46082251  5.46082251  5.46082251  5.46082251  5.46082251  5.46082251 
##         211         212         213         214         215         216 
##  4.35064935  4.35064935  4.35064935  4.35064935  4.35064935  4.35064935 
##         217         218         219         220         221         222 
##  4.35064935  4.35064935  4.35064935  4.35064935  4.35064935  4.35064935 
##         223         224         225         226         227         228 
##  4.35064935  4.35064935  4.35064935  4.35064935  4.35064935  4.35064935 
##         229         230         231         232         233         234 
##  4.35064935  4.35064935  4.35064935  4.35064935  4.35064935  4.35064935 
##         235         236         237         238         239         240 
##  4.35064935  4.35064935  4.35064935  4.35064935  4.35064935  4.35064935 
##         241         242         243         244         245         246 
##  4.35064935  4.35064935  4.35064935  4.35064935  4.35064935  4.35064935 
##         247         248         249         250         251         252 
##  4.35064935  4.35064935  4.35064935  4.35064935  4.35064935  4.35064935 
##         253         254         255         256         257         258 
##  3.24047619  3.24047619  3.24047619  3.24047619  3.24047619  3.24047619 
##         259         260         261         262         263         264 
##  3.24047619  3.24047619  3.24047619  3.24047619  3.24047619  3.24047619 
##         265         266         267         268         269         270 
##  3.24047619  3.24047619  3.24047619  3.24047619  3.24047619  3.24047619 
##         271         272         273         274         275         276 
##  3.24047619  3.24047619  3.24047619  3.24047619  3.24047619  3.24047619 
##         277         278         279         280         281         282 
##  3.24047619  3.24047619  3.24047619  3.24047619  3.24047619  3.24047619 
##         283         284         285         286         287         288 
##  3.24047619  3.24047619  3.24047619  3.24047619  3.24047619  3.24047619 
##         289         290         291         292         293         294 
##  3.24047619  3.24047619  3.24047619  3.24047619  3.24047619  3.24047619 
##         295         296         297         298         299         300 
##  2.13030303  2.13030303  2.13030303  2.13030303  2.13030303  2.13030303 
##         301         302         303         304         305         306 
##  2.13030303  2.13030303  2.13030303  2.13030303  2.13030303  2.13030303 
##         307         308         309         310         311         312 
##  2.13030303  2.13030303  2.13030303  2.13030303  2.13030303  2.13030303 
##         313         314         315         316         317         318 
##  2.13030303  2.13030303  2.13030303  2.13030303  2.13030303  2.13030303 
##         319         320         321         322         323         324 
##  2.13030303  2.13030303  2.13030303  2.13030303  2.13030303  2.13030303 
##         325         326         327         328         329         330 
##  2.13030303  2.13030303  2.13030303  2.13030303  2.13030303  2.13030303 
##         331         332         333         334         335         336 
##  2.13030303  2.13030303  2.13030303  2.13030303  2.13030303  2.13030303 
##         337         338         339         340         341         342 
##  1.02012987  1.02012987  1.02012987  1.02012987  1.02012987  1.02012987 
##         343         344         345         346         347         348 
##  1.02012987  1.02012987  1.02012987  1.02012987  1.02012987  1.02012987 
##         349         350         351         352         353         354 
##  1.02012987  1.02012987  1.02012987  1.02012987  1.02012987  1.02012987 
##         355         356         357         358         359         360 
##  1.02012987  1.02012987  1.02012987  1.02012987  1.02012987  1.02012987 
##         361         362         363         364         365         366 
##  1.02012987  1.02012987  1.02012987  1.02012987  1.02012987  1.02012987 
##         367         368         369         370         371         372 
##  1.02012987  1.02012987  1.02012987  1.02012987  1.02012987  1.02012987 
##         373         374         375         376         377         378 
##  1.02012987  1.02012987  1.02012987  1.02012987  1.02012987  1.02012987 
##         379         380         381         382         383         384 
## -0.09004329 -0.09004329 -0.09004329 -0.09004329 -0.09004329 -0.09004329 
##         385         386         387         388         389         390 
## -0.09004329 -0.09004329 -0.09004329 -0.09004329 -0.09004329 -0.09004329 
##         391         392         393         394         395         396 
## -0.09004329 -0.09004329 -0.09004329 -0.09004329 -0.09004329 -0.09004329 
##         397         398         399         400         401         402 
## -0.09004329 -0.09004329 -0.09004329 -0.09004329 -0.09004329 -0.09004329 
##         403         404         405         406         407         408 
## -0.09004329 -0.09004329 -0.09004329 -0.09004329 -0.09004329 -0.09004329 
##         409         410         411         412         413         414 
## -0.09004329 -0.09004329 -0.09004329 -0.09004329 -0.09004329 -0.09004329 
##         415         416         417         418         419         420 
## -0.09004329 -0.09004329 -0.09004329 -0.09004329 -0.09004329 -0.09004329 
##         421         422         423         424         425         426 
## -1.20021645 -1.20021645 -1.20021645 -1.20021645 -1.20021645 -1.20021645 
##         427         428         429         430         431         432 
## -1.20021645 -1.20021645 -1.20021645 -1.20021645 -1.20021645 -1.20021645 
##         433         434         435         436         437         438 
## -1.20021645 -1.20021645 -1.20021645 -1.20021645 -1.20021645 -1.20021645 
##         439         440         441         442         443         444 
## -1.20021645 -1.20021645 -1.20021645 -1.20021645 -1.20021645 -1.20021645 
##         445         446         447         448         449         450 
## -1.20021645 -1.20021645 -1.20021645 -1.20021645 -1.20021645 -1.20021645 
##         451         452         453         454         455         456 
## -1.20021645 -1.20021645 -1.20021645 -1.20021645 -1.20021645 -1.20021645 
##         457         458         459         460         461         462 
## -1.20021645 -1.20021645 -1.20021645 -1.20021645 -1.20021645 -1.20021645

A partir de esta información, la función de demanda del Chocoramo es:

\(Q= 12.12186-0.00222(P)\)

Ahora, a estimar los betas…

Primero. Utilizamos las funciones: library(), attach(), y names().
library(readr)
attach(choco_final)
names(choco_final) 
## [1] "Precio"   "Cantidad"
Segundo. Definimos a la variable dependiente (Cantidad) e independiente (Precio).
x=as.numeric(as.character(choco_final$Precio))
y=as.numeric(as.character(choco_final$Cantidad))
Tercero. Hallamos b0 y b1 utilizando las fórmulas.

b1=((nrow(choco_final)*sum(x*y))-(sum(x)*sum(y)))/((nrow(choco_final)*sum(x^2))-(sum(x)^2))
b1
## [1] -0.002220346
b0=mean(y)-mean(x)*b1
b0
## [1] 12.12186

Conclusiones

A partir de estos resultados se puede concluir y estimar que:

La máxima cantidad de Chocoramos de 70 g que se compraría es aproximadamente 12 unidades, por lo que así se regale el chocorramo (el precio de venta es 0 pesos) es probable que solo se tome esta cantidad.

El bien analizado es un bien normal ya que ante aumentos en el precio hay efectos negativos sobre las cantidades.

Si aumenta el precio del Chocoramo en 500 pesos, la cantidad disminuye en 1 unidad de chocorramo. A un aumento de 1000 pesos, aproximadamente se renuncia a dos unidades de Chocoramo de 70 g.