Este trabajo tiene como objetivo analizar la información de contribuciones realizadas por egresados a lo largo de diferentes cohortes académicas. A partir del conjunto de datos proporcionado, se busca describir el comportamiento de las donaciones, calcular indicadores estadísticos relevantes y obtener una visión comparativa entre los distintos grupos. El análisis permitirá identificar patrones de participación y tendencias que resultan útiles para la gestión institucional y la toma de decisiones en torno a la vinculación con exalumnos.
El conjunto de datos incluye 11 variables. Las cuales se describen a continuación:
| Variable | Código | Descripción | Escala | Naturaleza | Tipo de respuesta |
|---|---|---|---|---|---|
| Género | Gender | Género del exalumno | Nominal | Cualitativa | Dicotómica (M/F) |
| Cohorte | Class Year | Año de ingreso | Razón | Cuantitativa | Discreta |
| Estado civil | Marital Status | Estado civil del exalumno | Nominal | Cualitativa | Politómica |
| Carrera universitaria | Major | Área del conocimiento | Nominal | Cualitativa | Politómica |
| Grados posteriores | Next Degree | Estudios superiores | Ordinal | Cualitativa | Politómica |
| Donación 2004 | FY04Giving | Donación en el año 2004 (dólares) | Razón | Cuantitativa | Continua |
| Donación 2003 | FY03Giving | Donación en el año 2003 (dólares) | Razón | Cuantitativa | Continua |
| Donación 2002 | FY02Giving | Donación en el año 2002 (dólares) | Razón | Cuantitativa | Continua |
| Donación 2001 | FY01Giving | Donación en el año 2001 (dólares) | Razón | Cuantitativa | Continua |
| Donación 2000 | FY00Giving | Donación en el año 2000 (dólares) | Razón | Cuantitativa | Continua |
| Asistencia | AttendenceEvent | Eventos de recaudación de fondos | Nominal | Cualitativa | Dicotómica (0/1) |
Todas la variables juegan un papel importante para preveer el éxito de futuras campañas de recaudación de fondos.
## # A tibble: 5 × 11
## Gender `Class Year` `Marital Status` Major `Next Degree` FY04Giving FY03Giving
## <chr> <dbl> <chr> <chr> <chr> <dbl> <dbl>
## 1 M 1957 M Hist… LLB 2500 2500
## 2 M 1957 M Phys… MS 5000 5000
## 3 F 1957 M Music NONE 5000 5000
## 4 M 1957 M Hist… NONE 0 5100
## 5 M 1957 M Biol… MD 1000 1000
## # ℹ 4 more variables: FY02Giving <dbl>, FY01Giving <dbl>, FY00Giving <dbl>,
## # AttendenceEvent <dbl>
## [1] 0
Al realizar la suma de los datos faltantes dentro de la base de datos se ve que no hay datos faltantes en la informacion por lo que no seria necesario realizar la limpieza de datos faltantes
# Eliminar filas con datos faltantes.
# Asignar un nombre (por ejemplo, don1) al conjunto de datos que no tiene datos perdidos.
# Utilizar la base don1 para los análisis que siguen.
df_clean <- df_contribution[complete.cases(df_contribution),]## [1] 1230 11
## tibble [1,230 × 11] (S3: tbl_df/tbl/data.frame)
## $ Gender : chr [1:1230] "M" "M" "F" "M" ...
## $ Class Year : num [1:1230] 1957 1957 1957 1957 1957 ...
## $ Marital Status : chr [1:1230] "M" "M" "M" "M" ...
## $ Major : chr [1:1230] "History" "Physics" "Music" "History" ...
## $ Next Degree : chr [1:1230] "LLB" "MS" "NONE" "NONE" ...
## $ FY04Giving : num [1:1230] 2500 5000 5000 0 1000 0 0 100 100 0 ...
## $ FY03Giving : num [1:1230] 2500 5000 5000 5100 1000 0 0 100 100 0 ...
## $ FY02Giving : num [1:1230] 1400 5000 5000 200 1000 0 0 100 100 0 ...
## $ FY01Giving : num [1:1230] 12060 5000 5000 200 1005 ...
## $ FY00Giving : num [1:1230] 12000 10000 10000 0 1000 0 0 100 100 0 ...
## $ AttendenceEvent: num [1:1230] 1 1 1 1 1 0 0 0 0 1 ...
# Variables a transformar
vars_to_factor <- c("Gender", "Class Year", "Marital Status",
"Major", "Next Degree", "AttendenceEvent")
# Coerción a factor
df_clean <- df_clean %>%
mutate(across(all_of(vars_to_factor), as.factor))
# Verificar cambios
str(df_clean)## tibble [1,230 × 11] (S3: tbl_df/tbl/data.frame)
## $ Gender : Factor w/ 2 levels "F","M": 2 2 1 2 2 1 1 1 2 2 ...
## $ Class Year : Factor w/ 5 levels "1957","1967",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ Marital Status : Factor w/ 4 levels "D","M","S","W": 2 2 2 2 2 2 3 2 2 2 ...
## $ Major : Factor w/ 46 levels "American Studies",..: 26 34 30 26 4 28 26 30 42 16 ...
## $ Next Degree : Factor w/ 50 levels "AA","BA","BAE",..: 17 37 42 42 26 42 19 42 42 42 ...
## $ FY04Giving : num [1:1230] 2500 5000 5000 0 1000 0 0 100 100 0 ...
## $ FY03Giving : num [1:1230] 2500 5000 5000 5100 1000 0 0 100 100 0 ...
## $ FY02Giving : num [1:1230] 1400 5000 5000 200 1000 0 0 100 100 0 ...
## $ FY01Giving : num [1:1230] 12060 5000 5000 200 1005 ...
## $ FY00Giving : num [1:1230] 12000 10000 10000 0 1000 0 0 100 100 0 ...
## $ AttendenceEvent: Factor w/ 2 levels "0","1": 2 2 2 2 2 1 1 1 1 2 ...
# Tabla o gráfico del número de exalumnos por cohorte
cohort_counts <- df_clean %>%
count(`Class Year`, name = "Cantidad")
cohort_counts## # A tibble: 5 × 2
## `Class Year` Cantidad
## <fct> <int>
## 1 1957 127
## 2 1967 222
## 3 1977 243
## 4 1987 277
## 5 1997 361
ggplot(cohort_counts, aes(x = `Class Year`, y = Cantidad, fill = `Class Year`)) +
geom_col(width = 0.7, show.legend = FALSE) +
geom_text(aes(label = Cantidad), vjust = -0.35, size = 3.8) +
labs(title = "Exalumnos por cohorte",
x = "Cohorte", y = "Número de exalumnos") +
scale_y_continuous(expand = expansion(mult = c(0, .08))) +
scale_fill_brewer(palette = "Set2") +
theme_minimal(base_size = 12)Interpretación: El conjunto contiene 1.230 exalumnos distribuidos en 5 cohortes (Class Year):
1997: 361 personas (29,3%) – la mayor representación.
1987: 277 (22,5%).
1977: 243 (19,8%).
1967: 222 (18,0%).
1957: 127 (10,3%) – la menor representación.
Se observa una tendencia creciente hacia las cohortes más recientes, con un pico en 1997.
# Crear variable TGiving. Ocultar este bloque de código.
df_clean <- df_clean %>%
mutate(TGiving = FY00Giving + FY01Giving + FY02Giving + FY03Giving + FY04Giving)## Estadístico Valor
## 1 Media 980.04
## 2 Mediana 75.00
## 3 Desviación estándar 6670.77
## 4 Coeficiente de variación (%) 680.66
## 5 Mínimo 0.00
## 6 Máximo 171870.06
Interpretación: La mayoría de exalumnos aporta montos pequeños o moderados, mientras que unos pocos realizan donaciones muy altas que elevan el promedio. Esto genera una distribución desigual, con gran variabilidad, y plantea la necesidad de dos enfoques, mantener y motivar a los donantes pequeños y, al mismo tiempo, fortalecer la relación con los grandes benefactores.
## 0% 10% 20% 30% 40% 50% 60% 70%
## 0.0 0.0 0.0 0.0 25.0 75.0 150.8 275.0
## 80% 90% 100%
## 554.2 1050.0 171870.1
Interpretación: Al analizar la variable TGiving (suma de las donaciones entre 2000 y 2004 por exalumno), se obtienen los siguientes resultados:
Media: 1.064,96 dólares → en promedio, cada exalumno aportó poco más de mil dólares en el período.
Mediana: 250,00 dólares → la mitad de los exalumnos donó 250 dólares o menos.
Desviación estándar: 3.251,02 dólares → existe una gran dispersión en los montos de contribución.
Coeficiente de variación: 305,4% → la variabilidad relativa es muy alta, lo que confirma que las contribuciones son muy heterogéneas.
Mínimo: 0 dólares → hubo exalumnos que no realizaron ninguna donación.
Máximo: 50.000 dólares → un exalumno aportó esta suma, lo que representa un valor atípico muy influyente en la media.
En cuanto a la distribución de los deciles:
El 10% más bajo donó 0 dólares.
El 50% (mediana) donó hasta 250 dólares.
El 90% más bajo donó hasta 3.000 dólares.
Solo el 10% superior donó por encima de 3.000 dólares, destacando algunos casos extremos que superan los 20.000 e incluso llegan a 50.000 dólares.
La distribución de TGiving es altamente asimétrica positiva (muchos aportes bajos y pocos muy altos que elevan la media).
#generando un sub
sub <- subset(df_clean, TGiving > 0 & TGiving <= 4000)
histogram(~TGiving, data=sub, type="density",
main="Histograma de donaciones (1 a 4000)",
xlab="Contribuciones totales",
col="lightblue")densityplot(~TGiving, data=sub, plot.points=FALSE,
main="Densidad de donaciones (1 a 4000)",
col="red")Interpretación: Al excluir ceros y > 4000, el histograma se concentra en el rango donde están las donaciones más frecuentes.
La forma muestra asimetría positiva ya que hay muchos aportes bajos y la frecuencia cae rápido a medida que sube el monto.
En contexto, la campaña depende de muchos aportes modestos; los montos grandes son menos comunes, pero siguen siendo relevantes para la recaudación total.
# Donantes con las contribuciones más altas.
top_donantes <- subset(df_clean, TGiving >= 20000)
top_donantes[,c("Gender","Class Year","Marital Status","Major","Next Degree","TGiving")]## # A tibble: 10 × 6
## Gender `Class Year` `Marital Status` Major `Next Degree` TGiving
## <fct> <fct> <fct> <fct> <fct> <dbl>
## 1 M 1957 M History LLB 30460
## 2 M 1957 M Physics MS 30000
## 3 F 1957 M Music NONE 30000
## 4 M 1957 M Mathematics-Physi… NONE 171870.
## 5 M 1957 M History PHD 51506.
## 6 M 1957 W Economics-Business MBA 90826.
## 7 M 1967 M Speech (Drama, et… JD 72045.
## 8 M 1967 M History JD 42500
## 9 F 1977 D Economics JD 31500
## 10 M 1977 M Economics MBA 36361.
Interpretación: los grandes donantes están concentrados en cohortes antiguas (especialmente 1957), mayoritariamente hombres, con alta vinculación (asistencia a eventos) y algunos perfiles profesionales/posgrados (p. ej., JD/MBA) que podrían priorizarse en estrategias de relacionamiento.
# Diagrama de caja para la variable contribuciones totales por chorte.
bwplot(TGiving ~ factor(`Class Year`), data=df_clean, outline=FALSE,
main="Donaciones por cohorte", ylab="Total donaciones")# Diagrama de caja para la variable contribuciones totales por género.
bwplot(TGiving ~ Gender, data=df_clean, outline=FALSE,
main="Donaciones por género", ylab="Total donaciones")# Diagrama de caja para la variable contribuciones totales por estado civil
bwplot(TGiving ~ `Marital Status`, data=df_clean, outline=FALSE,
main="Donaciones por estado civil", ylab="Total donaciones")# Diagrama de caja para la variable contribuciones totales por asisitencia a eventos de recaudación de fondos.
bwplot(TGiving ~ AttendenceEvent, data=df_clean, outline=FALSE,
main="Donaciones por asistencia a eventos", ylab="Total donaciones")Interpretación: Por cohorte: se observa que los egresados más recientes (1997) presentan medianas de donación ligeramente mayores frente a las cohortes más antiguas, aunque en todos los grupos la dispersión es alta, con algunos valores extremos relevantes.
Por género: las distribuciones de donación son bastante similares entre hombres y mujeres, sin diferencias notorias en la mediana; esto sugiere que el género no es un factor determinante en el nivel de aportes.
Por estado civil: se aprecia que algunos grupos (por ejemplo, casados) concentran medianas algo más altas, aunque la variabilidad sigue siendo considerable. Otros estados civiles muestran medianas más bajas, lo que indica diferencias en los patrones de aporte según la situación personal.
Por asistencia a eventos: los exalumnos que asistieron a eventos de recaudación presentan medianas y rangos de donación claramente superiores frente a los que no asistieron. Esto sugiere que la participación en actividades institucionales está positivamente asociada con mayores contribuciones económicas.
En conjunto, los diagramas confirman que la cohorte y la asistencia a eventos son variables más influyentes que el género en la explicación de las diferencias en las donaciones.
promedios <- tapply(df_clean$TGiving, df_clean$Major, mean)
conteos <- table(df_clean$Major)
tabla_major <- cbind(Promedio=round(promedios,2), N=conteos)
tabla_major[order(tabla_major[,"Promedio"], decreasing=TRUE),]## Promedio N
## Mathematics-Physics 57570.02 3
## Chemistry-Zoology 11083.33 3
## Speech (Drama, etc.) 10699.33 7
## Economics-Business 4334.66 24
## English-Journalism 1897.44 1
## Physical Education 1886.00 5
## Physics 1842.14 21
## History 1782.34 135
## Music 1221.90 30
## Economics 1166.91 87
## Classics 767.00 9
## Computer Science 737.00 4
## Political Science 719.05 81
## Sociology 626.92 57
## General Science 608.75 4
## Psychology 554.52 79
## Biology 551.00 115
## Mathematics 501.25 44
## General Science-Psycho 477.00 2
## Education 473.67 6
## American Studies 451.28 29
## Chemistry 421.84 63
## English 397.19 123
## Russian 380.00 13
## Economics-Regional Stds. 350.00 2
## Independent 347.62 21
## Sociology-Anthropology 344.50 12
## French 267.09 23
## German 259.46 13
## Philosophy-Religion 244.56 9
## Theatre 229.48 21
## Spanish 211.48 27
## General Science-Biology 210.50 8
## Philosophy 203.36 22
## General Science-Chemistry 199.20 5
## Anthropology 164.25 44
## Art 164.08 39
## Religious Studies 139.57 23
## Chinese 132.50 2
## Engineering 100.00 1
## Speech Correction 56.25 4
## Zoology 27.50 2
## Comparative Literature 0.00 2
## General Science-Math 0.00 1
## General Science-Physics 0.00 3
## Pol. Sci.-Regional Stds. 0.00 1
Interpretación: La tabla muestra que existen diferencias importantes en el promedio de donaciones según el área de estudio (Major). Algunos programas concentran aportes promedio más altos, mientras que otros registran contribuciones más bajas pese a tener un número mayor de egresados.
Esto indica que la carrera universitaria influye en el nivel de aportes, posiblemente por las oportunidades económicas y de ingresos asociadas a cada área profesional. Por lo tanto, este factor puede ser útil para segmentar y diseñar estrategias de recaudación diferenciadas según el perfil académico de los exalumnos.
# Mosaico patra la proporción de contribuyentes por cohorte.
# Por cohorte
mosaicplot(table(df_clean$`Class Year`, df_clean$TGivingIND),
main="Contribuyentes por cohorte",
xlab="Cohorte", ylab="Contribuyente (0=No,1=Sí)",
color=TRUE)# Mosaico para la proporción de contribuyentes según asistencia a eventos.
# Por asistencia
mosaicplot(table(df_clean$AttendenceEvent, df_clean$TGivingIND),
main="Contribuyentes según asistencia a eventos",
xlab="Asistencia evento", ylab="Contribuyente (0=No,1=Sí)",
color=TRUE)Interpretación: Por cohorte: el mosaico evidencia que en todas las generaciones existen tanto contribuyentes como no contribuyentes, aunque las cohortes más recientes (1997) presentan una mayor proporción de donantes activos frente a las más antiguas.
Por asistencia a eventos: se observa una diferencia clara: los egresados que asisten a eventos de recaudación muestran una mayor probabilidad de realizar aportes, mientras que entre los que no participan la proporción de no contribuyentes es mucho más alta.
Esto confirma que la asistencia a eventos fortalece el compromiso con las donaciones y que la cohorte también influye, con tendencia a mayor participación en generaciones más recientes.
A partir de los resultados vimos que la asistencia a eventos juega un papel muy importante, ya que quienes participan en estas actividades tienden a donar más y con mayor frecuencia. También notamos que las cohortes más recientes presentan más disposición a aportar, lo cual puede aprovecharse fortaleciendo el vínculo con los egresados desde su graduación.
En nuestro análisis no se revisaron variables como la situación laboral, los ingresos o la ubicación geográfica, que podrían ayudar a tener una idea más clara del perfil de los donantes. Creemos que incluir estos datos sería útil para segmentar mejor y diseñar estrategias más efectivas.
Además, pensamos que sería valioso contar con información sobre la participación en asociaciones de egresados o actividades de voluntariado, porque eso refleja compromiso con la universidad. Con estos elementos, las campañas podrían ser más personalizadas y exitosas.