---
title: "Demographic Information"
url: https://stacklist.com/card/8391d64b-0b1c-4a6b-9bb6-d140ff09a5cb
source_url: "https://datausa.io/profile/geo/milton-ga"
stack: https://stacklist.com/stack/2c39dcd6-1412-4c2d-8c39-c41a1c514b0a
summary: "Milton, GA is a census place with a 2024 population of 41,546 residents, featuring a median household income of $171,295 and a low poverty rate of 4.29%. The community is predominantly White (Non-Hispanic) at 56.1% of the population, with significant Asian and African American populations, and 23.3% of residents born outside the United States."
tags: "milton-ga, demographics, census-data, population-statistics, economic-indicators, diversity"
key_entities: "Milton, GA (location), Georgia (location), Fulton County, GA (location), Atlanta-Sandy Springs-Roswell, GA (location), Jon Ossoff (person), Raphael Warnock (person), Data USA (organization), census-data (concept), demographic-profile (concept)"
classification: "reference"
content_hash: "sha256:7ef7ef99b5ea57c12c519dadb21ad9a424ba0a4afd3d069547d801290683a4ce"
acp_version: "0.2"
token_counts_approximate: 25000
visibility: public
agent_accessible: true
status: "final"
---

# Demographic Information

Milton, GA | Data USA Milton, GA Census Place Add Comparison 2024 Population 41,546 US Senator Jon Ossoff Democratic Party US Senator Raphael Warnock Democratic Party 2024 Median Age 40.1 0.988% 1-year decrease 2024 Poverty Rate 4.29% 1.35% 1-year decrease 2024 Median Household Income $171,295 13.3% 1-year growth 2024 Median Property Value $789,000 10.8% 1-year growth 2024 Employed Population 22,107 0.0633% 1-year decline About None of the households in Milton, GA reported speaking a non-English language at home as their primary shared language. This does not consider the potential multi-lingual nature of households, but only the primary self-reported language spoken by all members of the household. 88.3% of the residents in Milton, GA are U.S. citizens. In 2024, the median property value in Milton, GA was $789,000, and the homeownership rate was 72.5%. Most people in Milton, GA drove alone to work, and the average commute time was 28 minutes. The average car ownership in Milton, GA was 2 cars per household. United States Georgia Fulton County, GA Atlanta-Sandy Springs-Roswell, GA Atlanta Regional Commission (Northeast)--Forsyth County (North) PUMA, GA Atlanta Regional Commision (Northeast)--Forsyth County (South)--Cumming City PUMA, GA Atlanta Regional Commission (Northwest)--Cherokee County--Ball Ground City PUMA, GA Atlanta Regional Commission (Central)--Fulton County (Northwest)--Roswell &amp; Milton PUMA, GA Atlanta Regional Commission--Fulton County (Northeast)--Johns Creek &amp; Alpharetta PUMA, GA Population &amp; Diversity Milton, GA is home to a population of 41.5k people, from which 88.3% are citizens. As of 2024, 23.3% of Milton, GA residents were born outside of the country (9.67k people). In 2024, there were 3.49 times more White (Non-Hispanic) residents (23.3k people) in Milton, GA than any other race or ethnicity. There were 6.69k Asian (Non-Hispanic) and 5.19k Black or African American (Non-Hispanic) residents, the second and third most common ethnic groups. Population &amp; Diversity Citizenship 88.3% 2024 Citizenship 87.6% 2023 Citizenship As of 2024, 88.3% of Milton, GA residents were US citizens, which is lower than the national average of 93.2%. In 2023, the percentage of US citizens in Milton, GA was 87.6%, meaning that the rate of citizenship has been increasing. The following chart shows US citizenship percentages in Milton, GA compared to that of it's neighboring and parent geographies. View Data Save Image Share / Embed Diversity Race and Ethnicity The 3 largest ethnic groups in Milton, GA White (Non-Hispanic) 23.3k ± 1.67k Asian (Non-Hispanic) 6.69k ± 1.39k Black or African American (Non-Hispanic) 5.19k ± 1.45k 9.54% Hispanic Population 3.96k people In 2024, there were 3.49 times more White (Non-Hispanic) residents (23.3k people) in Milton, GA than any other race or ethnicity. There were 6.69k Asian (Non-Hispanic) and 5.19k Black or African American (Non-Hispanic) residents, the second and third most common ethnic groups. 9.54% of the people in Milton, GA are hispanic (3.96k people). The following chart shows the 8 races represented in Milton, GA as a share of the total population. View Data Save Image Share / Embed Global Diversity The PUMS dataset is not available at the Place level, so we are showing data for Georgia. Most Common Origin Mexico 232,075 ± 11,701 people India 112,556 ± 8,194 people Jamaica 54,537 ± 5,719 people In 2024, the most common birthplace for the foreign-born residents of Georgia was Mexico, the natal country of 232,075 Georgia residents, followed by India with 112,556 and Jamaica with 54,537. View Data Save Image Share / Embed Foreign-Born Population 23.3% 2024 Foreign-Born Population 9.67k people 23% 2023 Foreign-Born Population 9.48k people As of 2024, 23.3% of Milton, GA residents (9.67k people) were born outside of the United States, which is approximately the same as the national average of 14%. In 2023, the percentage of foreign-born citizens in Milton, GA was 23%, meaning that the rate has been increasing. The following chart shows the percentage of foreign-born residents in Milton, GA compared to that of it's neighboring and parent geographies. View Data Save Image Share / Embed Military Veterans Most Common Service Period Vietnam 485 ± 364 Gulf War (2001-) 339 ± 152 Gulf War (1990s) 166 ± 87 Milton, GA has a large population of military personnel who served in Vietnam, 1.43 times greater than any other conflict. The chart shows the distribution of veterans by conflict in Milton, GA. View Data Save Image Share / Embed Health 97.1% of the population of Milton, GA has health coverage, with 75% on employee plans, 2.33% on Medicaid, 8.37% on Medicare, 10.3% on non-group plans, and 1.08% on military or VA plans. Primary care physicians in Georgia see 1,517 patients per year on average, which represents a 0% change from the previous year (1,517 patients). Compare this to dentists who see 1856 patients per year, and mental health providers who see 525 patients per year. By gender, of the total number of insured persons, 51.8% were men and 48.2% were women. Coverage Health Care Diversity Gender Age Range In 2024, insured persons according to age ranges were distributed in 29.6% under 18 years, 12.7% between 18 and 34 years, 47.2% between 35 and 64 years, and 10.5% over 64 years. By gender, of the total number of insured persons, 51.8% were men and 48.2% were women. The following chart shows the number of people with health coverage by gender. View Data Save Image Share / Embed Uninsured People 2.91% Uninsured 75% Employer Coverage 2.33% Medicaid 8.37% Medicare 10.3% Non-Group 1.08% Military or VA Between 2023 and 2024, the percent of uninsured citizens in Milton, GA declined by 42.7% from 5.08% to 2.91%. The following chart shows how the percent of uninsured individuals in Milton, GA changed over time compared with the percent of individuals enrolled in various types of health insurance. View Data Save Image Share / Embed Economy The economy of Milton, GA employs 22.1k people. In 2024, the largest industries in Milton, GA were Professional, Scientific, & Technical Services (4,870 people), Retail Trade (2,769 people), and Finance & Insurance (2,318 people), and the highest paying industries were Management of Companies & Enterprises ($250,001), Wholesale Trade ($166,633), and Manufacturing ($158,125). Employment Occupations All Men Women Workforce Average Wage Value Yearly Change 22.1k 2024 Value ± 1,644 −0.0633% 1 Year decline ± 10.8% From 2023 to 2024, employment in Milton, GA declined at a rate of −0.0633%, from 22.1k employees to 22.1k employees. The most common job groups, by number of people living in Milton, GA, are Management Occupations (5,357 people), Sales & Related Occupations (3,402 people), and Computer & Mathematical Occupations (2,455 people). This chart illustrates the share breakdown of the primary jobs held by residents of Milton, GA. View Data Save Image Share / Embed Unemployment Insurance Claims Data is only available at the state level. Showing data for Georgia. This chart shows weekly unemployment insurance claims in Georgia (not-seasonally adjusted) compared with the four states with the most similar impact. The most recent data point uses Advance State Claims data, which can be revised in subsequent weeks. View Data Save Image Share / Embed Industries Employment by Industries Workforce Average Wage All Men Women Value Yearly Change 22.1k 2024 Value ± 1,644 −0.0633% 1 Year decline ± 10.8% From 2023 to 2024, employment in Milton, GA declined at a rate of −0.0633%, from 22.1k employees to 22.1k employees. The most common employment sectors for those who live in Milton, GA, are Professional, Scientific, & Technical Services (4,870 people), Retail Trade (2,769 people), and Finance & Insurance (2,318 people). This chart shows the share breakdown of the primary industries for residents of Milton, GA, though some of these residents may live in Milton, GA and work somewhere else. Census data is tagged to a residential address, not a work address. View Data Save Image Share / Embed Median Earnings by Industry $126,259 Median earning men ± $7,258 $58,958 Median earning women ± $9,819 The industries with the best median earnings for men in 2024 are Wholesale Trade ($202,798), Manufacturing ($170,433), and Finance & Insurance, & Real Estate & Rental & Leasing ($165,959). The industries with the best median earnings for women in 2024 are Information ($177,292), Wholesale Trade ($120,478), and Professional, Scientific, & Management, & Administrative & Waste Management Services ($87,500). View Data Save Image Share / Embed Employment by Industry Sector Data is only available at the state level. Showing data for Georgia. Y-Axis Monthly Employees (Non-Seasonally Adjusted) Monthly Growth (Year-over-Year) 2.94% Year-over-year growth Employment change between February 2022 and February 2023 As of February 2023, there are 4.87M people employed in Georgia. This represents a 2.94% increase in employment when compared to February 2022. Right after the beginning of the COVID-19 pandemic, during April 2020, a general dip can be seen across industry sectors, resulting in an overall decline in employment by 11.9%. The following chart shows monthly employment numbers for each industry sector in Georgia. View Data Save Image Share / Embed Civics In the 2024 presidential election, the popular vote in Georgia went to Donald J. Trump with 50.7% of the vote. The runner-up was Kamala Harris (48.5%), followed by Chase Oliver (0.394%). Jon Ossoff and Raphael Warnock are the senators currently representing the state of Georgia. In the United States, senators are elected to 6-year terms with the terms for individual senators staggered. Georgia is currently represented by 13 members in the U.S. house, and members of the House of Representives are elected to 2-year terms. Presidential Elections Presidential Popular Vote Over Time Voting results are not available for Milton, GA. Showing the available data for Georgia. 2024 Election Results Donald J. Trump (50.7%) Republican Party Kamala Harris (48.5%) Democratic Party Chase Oliver (0.394%) Libertarian Party In the 2024 presidential election, the popular vote in Georgia went to Donald J. Trump with 50.7% of the vote. The runner-up was Kamala Harris (48.5%), followed by Chase Oliver (0.394%). The following chart shows the popular vote results in Georgia for each registered party from 1976 to 2024. View Data Save Image Share / Embed Senator Elections US Senators from Georgia Senatorial voting results are only available at the state level. Showing data for Georgia. Jon Ossoff Senator from Georgia 2 Assumed office on January 20, 2021 Inauguration delayed as incumbent senator David Perdue's term expired on January 3, 2021, two days prior to the runoff election. Raphael Warnock Senator from Georgia 3 Assumed office on January 20, 2021 Elected to the seat to succeed Kelly Loeffler, who had been appointed to the seat following the resignation of Johnny Isakson. Jon Ossoff and Raphael Warnock are the senators currently representing Georgia. In the United States, senators are elected to 6-year terms with the terms for individual senators staggered. The following chart shows elected senators in Georgia over time, excluding special elections, colored by their political party. View Data Save Image Share / Embed Housing &amp; Living The median property value in Milton, GA was $789,000 in 2024, which is 2.37 times larger than the national average of $332,700. Between 2023 and 2024 the median property value increased from $712,200 to $789,000, a 10.8% increase. The homeownership rate in Milton, GA is 72.5%, which is higher than the national average of 65.2%. People in Milton, GA have an average commute time of 28 minutes, and they drove alone to work. Car ownership in Milton, GA is approximately the same as the national average, with an average of 2 cars per household. Housing Property Property Taxes Property Value $789,000 Median Property Value 2024 ± $52,781 $11,044 Median Property Taxes ± $764 The following chart display owner-occupied housing units distributed between a series of property tax buckets compared to the national averages for each bucket. In Milton, GA the largest share of households pay taxes in the $3k+ range. The chart underneath the paragraph shows the property taxes in Milton, GA compared to it's parent and neighbor geographies. View Data Save Image Share / Embed View Data Save Image Share / Embed Rent vs Own Rent vs Own Homeowners with Mortgage 72.5% Homeownership 2024 67.4% Homeowners with Mortgage 2024 In 2024, 72.5% of the housing units in Milton, GA were occupied by their owner. This percentage declined from the previous year's rate of 73.8%. This chart shows the percentage of owner in Milton, GA compared it's parent and neighboring geographies. View Data Save Image Share / Embed Equity Household Income Please note that the buckets used in this visualization were not evenly distributed by ACS when publishing the data. $171,295 Median Household Income ± $18,779 15.2k Number of Households ± 1,274 In 2024, the median household income of the 15.2k households in Milton, GA grew to $171,295 from the previous year's value of $151,235. The following chart displays the households in Milton, GA distributed between a series of income buckets compared to the national averages for each bucket. The largest share of households have an income in the $200k+ range. View Data Save Image Share / Embed Wage Distribution The closest comparable wage GINI for Milton, GA is from Georgia. 0.471 2024 Wage GINI in Georgia 0.471 2023 Wage GINI in Georgia In 2024, the income inequality in Georgia was 0.471 according to the GINI calculation of the wage distribution. Income inequality had a 0.104% decline from 2023 to 2024, which means that wage distribution grew somewhat more even. The GINI for Georgia was lower than than the national average of 0.474. In other words, wages are distributed more evenly in Georgia in comparison to the national average. This chart shows the number of workers in Georgia across various wage buckets compared to the national average. View Data Save Image Share / Embed Transportation Commuter Transportation Most Common Commute in 2024 Drove Alone (53.2%) Worked At Home (39%) Carpooled (5.59%) In 2024, 53.2% of workers in Milton, GA drove alone to work, followed by those who worked at home (39%) and those who carpooled to work (5.59%). The following chart shows the number of households using each mode of transportation over time, using a logarithmic scale on the y-axis to help better show variations in the smaller means of commuting. View Data Save Image Share / Embed Commute Time 28 minutes Average Travel Time Using averages, employees in Milton, GA have a longer commute time (28 minutes) than the normal US worker (26.4 minutes). Additionally, 1.64% of the workforce in Milton, GA have "super commutes" in excess of 90 minutes. The chart below shows how the median household income in Milton, GA compares to that of it's neighboring and parent geographies. View Data Save Image Share / Embed View Data Save Image Share / Embed Car Ownership 2 cars Average Number The following chart displays the households in Milton, GA distributed between a series of car ownership buckets compared to the national averages for each bucket. The largest share of households in Milton, GA have 2 cars. View Data Save Image Share / Embed Poverty Poverty &amp; Diversity Gender, Race &amp; Ethnicity Age and Sex Race &amp; Ethnicity 4.29% of the population for whom poverty status is determined in Milton, GA (1.78k out of 41.5k people) live below the poverty line, a number that is lower than the national average of 12.5%. The largest demographic living in poverty are Females 25 - 34, followed by Females 6 - 11 and then Males The most common racial or ethnic group living below the poverty line in Milton, GA is White, followed by Two Or More and Black. The Census Bureau uses a set of money income thresholds that vary by family size and composition to determine who classifies as impoverished. If a family's total income is less than the family's threshold than that family and every individual in it is considered to be living in poverty. View Data Save Image Share / Embed Social Needs Data only available at the state level. Estimated Number of Chronically Homeless Individuals Percent of Residents with Access To Exercise Opportunities Prevalence of Food Insecurity Percent of Occupied Households Lacking Complete Plumbing Facilities Percent of Occupied Households Lacking Complete Kitchen Facilities Percent of Households Lacking Internet Access Most prevalent states California 35,798 individuals New York 5,087 individuals In 2017, California had the highest estimated number of chronically homeless individuals in the nation, at 35,798, followed by New York (5,087). The following map shows the estimated number of chronically homeless individuals by state over multiple years. View Data Save Image Share / Embed Keep Exploring Atlanta-Sandy Springs-Roswell, GA MSA Georgia State Fulton County, GA County United States Nation COVID-19 in Numbers window.__SSR__ = true; window.__APP_NAME__ = "datausa-site"; window.__HELMET_DEFAULT__ = JSON.parse('{"link":[{"rel":"icon","href":"/images/favicon.ico?v=3"},{"rel":"preconnect","href":"https://fonts.gstatic.com/","crossorigin":"anonymous"},{"rel":"stylesheet","href":"https://fonts.googleapis.com/css?family=Lato:300|Palanquin:300,400,500,600,700|Source+Sans+Pro:300,400|Pathway+Gothic+One","crossorigin":"anonymous"}],"meta":[{"charset":"utf-8"},{"http-equiv":"X-UA-Compatible","content":"IE=edge"},{"name":"viewport","content":"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"},{"name":"description","content":"The most comprehensive visualization of U.S. public data. Data USA provides an open, easy-to-use platform that turns data into knowledge."},{"property":"og:title","content":"Data USA"},{"property":"og:type","content":"article"},{"property":"og:description","content":"The most comprehensive visualization of U.S. public data. Data USA provides an open, easy-to-use platform that turns data into knowledge."},{"property":"fb:app_id","content":"1705281333093640"},{"name":"mobile-web-app-capable","content":"yes"},{"name":"apple-mobile-web-app-capable","content":"yes"},{"name":"apple-mobile-web-app-status-bar-style","content":"black"},{"name":"apple-mobile-web-app-title","content":"Data USA"}],"title":"Data USA"}'); window.__INITIAL_STATE__ = JSON.parse('{"auth":{"loading":false,"msg":null,"error":null,"user":null},"data":{"formatters":[{"id":2,"name":"Date","description":"Formats a date into \\"%B %d, %Y\\" format.","logic":"if (typeof n === \\"string\\") { n = libs.d3plus.date(n); }\\nreturn libs.d3.timeFormat(\\"%B %d, %Y\\")(n);"},{"id":3,"name":"List","description":"Joins an array of strings together, adding commas and \\"and\\" when necessary.","logic":"return n.reduce(function (str, item, i) {\\n if (!i) { str += item; }\\n else if (i === n.length - 1 && i === 1) { str += \\" and \\" + item; }\\n else if (i === n.length - 1) { str += \\", and \\" + item; }\\n else { str += \\", \\" + item; }\\n return str;\\n}, \\"\\");"},{"id":8,"name":"GrowthWord","description":"Returns either \\"growth\\" or \\"decline\\" depending on the provided number\'s sign.","logic":"return n 0 ? \\"grew\\" : \\"stayed\\";"},{"id":10,"name":"IncreaseWord","description":"Returns either \\"increase\\", \\"decrease\\", or \\"change\\" depending on the provided number\'s sign.","logic":"return n 0 ? \\"increase\\" : \\"change\\";"},{"id":15,"name":"MoreLess","description":"Returns either \\"more\\" or \\"less\\" depending on the provided number\'s sign.","logic":"return n \\\\$A-z]*/g, \\"\\")\\n .replace(/[A-z0-9]+\\\\-/g, \\"\\");\\n var mod = d[bucket].includes(\\">\\") || d[bucket].includes(\\"+\\")\\n || d[bucket].includes(\\"more\\") || d[bucket].includes(\\"over\\") || d[bucket].includes(\\"greater\\")\\n ? 1 : 0;\\n newData.push({\\n data: d,\\n bucket: parseFloat(bucketName, 10) + mod,\\n total: d[value] * d[weight]\\n });\\n});\\nnewData.sort(function (a, b) { return a.bucket - b.bucket; });\\nvar total = sum(newData, function (d) { return d.total; });\\nnewData.forEach(function(d, i) {\\n d.pctTotal = d.total / total;\\n d.pctWeight = d.data[weight] / weightTotal;\\n});\\nnewData.forEach(function(d, i) {\\n d.pctBetter = i === newData.length - 1 ? 0 : sum(newData.slice(i + 1), function (n) { return n.pctWeight; });\\n d.score = d.pctTotal * (d.pctWeight + (2 * d.pctBetter));\\n});\\nreturn 1 - sum(newData, function (d) { return d.score; });"},{"id":18,"name":"HighWord","description":"Returns either \\"higher than\\", \\"lower than\\", or \\"approximately the same as\\" depending on the provided number\'s sign.","logic":"return n 0 ? \\"higher than\\" : \\"approximately the same as\\";"},{"id":16,"name":"Bucket","description":"Sanitizes bucket strings to \\" /g)) { return ((nums[0]) + \\"+\\"); }\\n else { return (\\"\\" + (nums[0])); }\\n}\\nelse { return \\"None\\"; }"},{"id":12,"name":"Commas","description":"Rounds to nearest whole number and adds commas.","logic":"return libs.d3.format(\\",\\")(Math.round(n));"},{"id":28,"name":"Abs","description":"Simple Absolute Value","logic":"return Math.abs(n);"},{"id":29,"name":"Lower","description":"Turns string to all lowercase.","logic":"var reserved = [\\"Medicare\\", \\"Medicaid\\", \\"HIV\\"];\\nreturn n\\n .split(\\" \\")\\n .map(function (d) { return reserved.includes(d) ? d : d.toLowerCase(); })\\n .join(\\" \\");"},{"id":6,"name":"Salary","description":"Displays salary values with proper precision (ie. \\"$74,200\\" instead of \\"$74.2k\\")","logic":"return formatters.dollar(formatters.abbreviateBig(n));"},{"id":30,"name":"Sentence","description":"Turns string to all lowercase except for first character.","logic":"return n ? n.charAt(0).toUpperCase() + n.slice(1).toLowerCase() : \\"N/A\\";"},{"id":1,"name":"Dollar","description":"Adds a US dollar sign to the beginning of a String or Number.","logic":"if (typeof n === \\"number\\") { n = formatters.abbreviate(n); }\\nreturn n ? n.charAt(0) === \\"-\\" ? n.replace(\\"-\\", \\"-$\\") : (\\"$\\" + n) : \\"N/A\\";"},{"id":31,"name":"AbbreviateBig","description":"Displays numbers smaller than 1,000,000 as rounded.","logic":"if (typeof n !== \\"number\\") { return \\"N/A\\"; }\\nelse if (n 0 ? \\"larger than\\" : \\"the same as\\";"},{"id":19,"name":"OlderWord","description":"New Description","logic":"return n 0 ? \\"getting older\\" : \\"staying the same age\\";"},{"id":20,"name":"OlderYounger","description":"New Description","logic":"return n 0 ? \\"older than\\" : \\"the same age as\\";"},{"id":21,"name":"Increasing","description":"New Description","logic":"return n 0 ? \\"increasing\\" : \\"maintaining\\";"},{"id":22,"name":"GrewTo","description":"New Description","logic":"return n 0 ? \\"grew to\\" : \\"stayed at\\";"},{"id":23,"name":"LongWord","description":"New Description","logic":"return n 0 ? \\"longer\\" : \\"similar\\";"},{"id":25,"name":"Growing","description":"New Description","logic":"return n 0 ? \\"increased\\" : \\"remained the same\\";"},{"id":33,"name":"Transportation","description":"Formats commute means dimension names to be used in sentences.","logic":"var str = n.toLowerCase();\\nif ([\\"bicycle\\", \\"motorcycle\\", \\"taxi\\"].includes(str)) { return (\\"used a \\" + str + \\" to get to work\\"); }\\nelse if ([\\"public transit\\"].includes(str)) { return (\\"used \\" + str + \\" to get to work\\"); }\\nelse if ([\\"carpooled\\", \\"drove alone\\", \\"walked\\"].includes(str)) { return (str + \\" to work\\"); }\\nelse if ([\\"other\\"].includes(str)) { return \\"used some unspecified means to get work\\"; }\\nreturn str;"},{"id":4,"name":"StripHTML","description":"Removes all HTML tags from a string.","logic":"return n ? n.replace(/ ]+>/g, \\"\\").replace(/&nbsp;/g, \\" \\") : \\"N/A\\";"},{"id":17,"name":"Plural","description":"Pluralizes a word.","logic":"return n ? n.replace(/\\\\w$/g, function (chr) { return chr === \\"y\\" ? \\"ies\\" : (chr + \\"s\\"); }) : \\"N/A\\";"},{"id":32,"name":"StripP","description":"Removes all P tags from a string.","logic":"return n ? n.replace(/ /g, \\"\\").replace(/ /g, \\"\\") : \\"\\";"},{"id":34,"name":"declinedGrewWord","description":"","logic":"return n 0 ? \\"more than\\" : \\"approximately the same\\";"},{"id":5,"name":"Abbreviate","description":"Abbreviates a number into a smaller more human-readible number.","logic":"if (typeof n !== \\"number\\") { return \\"N/A\\"; }\\n\\nvar negative = n = 3) {\\n var f = libs.d3.format(\\".3s\\")(n).replace(\\"G\\", \\"B\\");\\n var num = f.slice(0, -1).replace(\\"\u2212\\", \\"\\");\\n var char = f.slice(f.length - 1);\\n val = \\"\\" + (parseFloat(num)) + char;\\n}\\nelse if (length === 3) { val = libs.d3.format(\\",f\\")(n); }\\nelse { val = libs.d3.format(\\".3g\\")(n); }\\n\\nreturn (\\"\\" + (negative && val.charAt(0) !== \\"\u2212\\" ? \\"\u2212\\" : \\"\\") + val)\\n .replace(/(\\\\.[0-9]*[1-9])[0]*$/g, \\"$1\\") /* removes any trailing zeros */\\n .replace(/[.][0]*$/g, \\"\\"); /* removes any trailing decimal point */"}],"measures":{"Total Number In Income Bracket":"Count","Total Number Awarded Grant Or Scholarship":"Count","Median Grant Or Scholarship Award":"USD","Median Averge Net Price Federal Aid":"USD","Access To Exercise Opportunities":"Rate","Access To Exercise Opportunities CI Low":"Rate","Adult Obesity":"Rate","Adult Obesity CI Low":"Rate","Adult Obesity CI High":"Rate","Adult Smoking":"Rate","Adult Smoking CI High":"Rate","Adult Smoking CI Low":"Rate","Alcohol-Impaired Driving Deaths":"Rate","Alcohol-Impaired Driving Deaths CI Low":"Rate","Alcohol-Impaired Driving Deaths CI High":"Rate","Child Mortality":"People","Child Mortality CI Low":"People","Child Mortality CI High":"People","Children Eligible For Reduced Price Lunch":"Rate","Children Eligible For Reduced Price Lunch CI Low":"Rate","Children Eligible For Reduced Price Lunch CI High":"Rate","Children In Poverty":"Rate","Children In Poverty CI Low":"Rate","Children In Poverty CI High":"Rate","Children In Single-Parent Households":"Rate","Children In Single-Parent Households CI Low":"Rate","Children In Single-Parent Households CI High":"Rate","Could Not See Doctor Due To Cost":"Rate","Could Not See Doctor Due To Cost CI Low":"Rate","Could Not See Doctor Due To Cost CI High":"Rate","Diabetes Monitoring":"Rate","Diabetes Monitoring CI Low":"Rate","Diabetes Monitoring CI High":"Rate","Diabetes Prevalence":"Rate","Diabetes Prevalence CI Low":"Rate","Diabetes Prevalence CI High":"Rate","Disconnected Youth":"Rate","Disconnected Youth CI Low":"Rate","Disconnected Youth CI High":"Rate","Driving Alone To Work":"Rate","Driving Alone To Work CI Low":"Rate","Driving Alone To Work CI High":"Rate","Drug Overdose Deaths":"People","Drug Overdose Deaths CI Low":"People","Drug Overdose Deaths CI High":"People","Drug Overdose Deaths Modeled":"People","Drug Overdose Deaths Modeled CI Low":"People","Drug Overdose Deaths Modeled CI High":"People","Excessive Drinking":"Rate","Excessive Drinking CI Low":"Rate","Excessive Drinking CI High":"Rate","Firearm Fatalities":"People","Firearm Fatalities CI Low":"People","Firearm Fatalities CI High":"People","Food Environment Index":"Index","Food Environment Index CI Low":"Index","Food Environment Index CI High":"Index","Food Insecurity":"Rate","Food Insecurity CI Low":"Rate","Food Insecurity CI High":"Rate","Frequent Mental Distress":"Rate","Frequent Mental Distress CI Low":"Rate","Frequent Mental Distress CI High":"Rate","Frequent Physical Distress":"Rate","Frequent Physical Distress CI Low":"Rate","Frequent Physical Distress CI High":"Rate","Hiv Prevalence":"People","Hiv Prevalence CI Low":"People","Hiv Prevalence CI High":"People","Health Care Costs":"USD","Health Care Costs CI Low":"USD","Health Care Costs CI High":"USD","High School Graduation":"Rate","High School Graduation CI Low":"Rate","High School Graduation CI High":"Rate","Homicides":"People","Homicides CI Low":"People","Homicides CI High":"People","Inadequate Social Support":"Rate","Inadequate Social Support CI Low":"Rate","Inadequate Social Support CI High":"Rate","Income Inequality":"Ratio","Income Inequality CI Low":"Ratio","Income Inequality CI High":"Ratio","Infant Mortality":"People","Infant Mortality CI Low":"People","Infant Mortality CI High":"People","Injury Deaths":"People","Injury Deaths CI Low":"People","Injury Deaths CI High":"People","Insufficient Sleep":"Rate","Insufficient Sleep CI Low":"Rate","Insufficient Sleep CI High":"Rate","Limited Access To Healthy Foods":"Rate","Limited Access To Healthy Foods CI Low":"Rate","Limited Access To Healthy Foods CI High":"Rate","Long Commute - Driving Alone":"Rate","Long Commute - Driving Alone CI Low":"Rate","Long Commute - Driving Alone CI High":"Rate","Low Birthweight":"Rate","Low Birthweight CI Low":"Rate","Low Birthweight CI High":"Rate","Mammography Screening":"Rate","Mammography Screening CI Low":"Rate","Mammography Screening CI High":"Rate","Median Household Income":"USD","Median Household Income CI Low":"USD","Median Household Income CI High":"USD","Patient to Mental Health Provider Ratio":"Ratio","Patient to Mental Health Provider Ratio CI Low":"Ratio","Patient to Mental Health Provider Ratio CI High":"Ratio","Motor Vehicle Crash Deaths":"People","Motor Vehicle Crash Deaths CI Low":"People","Motor Vehicle Crash Deaths CI High":"People","Other Primary Care Providers":"Ratio","Other Primary Care Providers CI Low":"Ratio","Other Primary Care Providers CI High":"Ratio","Physical Inactivity":"Rate","Physical Inactivity CI Low":"Rate","Physical Inactivity CI High":"Rate","Poor Mental Health Days":"Days","Poor Mental Health Days CI Low":"Days","Poor Mental Health Days CI High":"Days","Poor Or Fair Health":"Rate","Poor Or Fair Health CI Low":"Rate","Poor Or Fair Health CI High":"Rate","Poor Physical Health Days":"Days","Poor Physical Health Days CI Low":"Days","Poor Physical Health Days CI High":"Days","Premature Age-Adjusted Mortality":"People","Premature Age-Adjusted Mortality CI Low":"People","Premature Age-Adjusted Mortality CI High":"People","Premature Death":"Years","Premature Death CI Low":"Years","Premature Death CI High":"Years","Preventable Hospital Stays":"Hospital Stays","Preventable Hospital Stays CI Low":"Hospital Stays","Preventable Hospital Stays CI High":"Hospital Stays","Patient to Primary Care Physician Ratio":"Ratio","Patient to Primary Care Physician Ratio CI Low":"Ratio","Patient to Primary Care Physician Ratio CI High":"Ratio","Residential Segregation black white":"Index","Residential Segregation non White white":"Index","Severe Housing Problems":"Rate","Severe Housing Problems CI Low":"Rate","Severe Housing Problems CI High":"Rate","Sexually Transmitted Infections":"Cases","Sexually Transmitted Infections CI Low":"Cases","Sexually Transmitted Infections CI High":"Cases","Social Associations":"Associations","Social Associations CI Low":"Associations","Social Associations CI High":"Associations","Some College":"Rate","Some College CI Low":"Rate","Some College CI High":"Rate","Teen Births":"Births","Teen Births CI Low":"Births","Teen Births CI High":"Births","Unemployment":"Rate","Unemployment CI Low":"Rate","Unemployment CI High":"Rate","Uninsured":"Rate","Uninsured CI Low":"Rate","Uninsured CI High":"Rate","Uninsured Adults":"Rate","Uninsured Adults CI Low":"Rate","Uninsured Adults CI High":"Rate","Uninsured Children":"Rate","Uninsured Children CI Low":"Rate","Uninsured Children CI High":"Rate","Violent Crime":"Crimes","Violent Crime CI Low":"Crimes","Violent Crime CI High":"Crimes","Homeowners by Mortgage":"Housing Units","Homeowners by Mortgage Moe":"Housing Units","Hispanic Population":"People","Hispanic Population Moe":"People","Renters by Income Percentage":"People","Renters by Income Percentage Moe":"People","Full Time Retention Rate":"Percentage","Part Time Retention Rate":"Percentage","Student Faculty Ratio":"Ratio","Population":"People","Population Moe":"People","Household Ownership":"People","Household Ownership Moe":"People","Health Insurance Policies":"People","Health Insurance Policies Moe":"People","Workforce by Industry and Gender":"People","Workforce by Industry and Gender Moe":"People","Record Count":"Sample Records","Total Population":"People","Average Wage":"USD","Average Income":"USD","Average Age":"Years","Average Usual Hours Worked Per Week":"Hours","Average Wage Appx MOE":"USD","Average Income Appx MOE":"USD","Average Age Appx MOE":"USD","Average Usual Hours Worked Per Week Appx MOE":"USD","Household Income":"Households","Household Income Moe":"Households","Median Age by Citizenship":"Years","Median Age by Citizenship Moe":"Years","Real Estate Taxes by Mortgage":"People","Real Estate Taxes by Mortgage Moe":"People","Households by Kitchen Type":"Households","Households by Kitchen Type Moe":"Households","District Tuition":"USD","District Graduate Students Tuition":"USD","District Fee":"USD","District Graduate Students Fee":"USD","Published District Tuition":"USD","Published District Fee":"USD","Published District Tuition and Fee":"USD","State Tuition":"USD","State Graduate Students Tuition":"USD","State Fee":"USD","State Graduate Students Fee":"USD","Published State Tuition":"USD","Published State Fee":"USD","Published State Tuition and Fee":"USD","Out Of State Tuition":"USD","Out Of State Graduate Students Tuition":"USD","Out Of State Fee":"USD","Out Of State Graduate Students Fee":"USD","Published Out Of State Tuition":"USD","Published Out Of State Fee":"USD","Published Out Of State Tuition and Fee":"USD","Books And Supplies":"USD","Commuter Population":"People","Commuter Population Moe":"People","Total Other Student Expenses":"USD","Total Room And Board":"USD","Median Room And Board":"USD","Median Other Student Expenses":"USD","Total Commute Time":"Minutes","Total Commute Time Moe":"Minutes","Languages Spoken":"People","Languages Spoken Moe":"People","Household Income by Race":"USD","Household Income by Race Moe":"USD","Poverty Population":"People","Poverty Population Moe":"People","Industry Average Hourly Earnings":"USD","Industry Average Weekly Hours":"Hours","Industry Employees Thousands":"Employees","Citizenship Status":"People","Citizenship Status Moe":"People","Workforce by Occupation and Gender":"People","Workforce by Occupation and Gender Moe":"People","Candidate Votes":"VOTES","Birthplace":"People","Birthplace Moe":"People","Property Value by Bucket":"Housing Units","Property Value by Bucket Moe":"Housing Units","Health Insurance by Gender and Age":"People","Health Insurance by Gender and Age Moe":"People","Foreign-Born Citizens":"People","Foreign-Born Citizens Moe":"People","Number Covered":"Count","Number Covered Moe":"Count","Property Value":"USD","Property Value Moe":"USD","Endowment Value":"USD","Median Endowment Value":"USD","Federal Grants And Contracts":"USD","Median Federal Grants And Contracts":"USD","Investment Income":"USD","Median Investment Income":"USD","Local Grants":"USD","Median Local Grants":"USD","Local Grants And Contracts":"USD","Median Local Grants And Contracts":"USD","Other Federal Grants":"USD","Median Other Federal Grants":"USD","Pell Grants":"USD","Median Pell Grants":"USD","Private Grants":"USD","Median Private Grants":"USD","Research Total":"USD","Median Research Total":"USD","State Grants":"USD","Median State Grants":"USD","State Grants And Contracts":"USD","Median State Grants And Contracts":"USD","Total Assets":"USD","Median Total Assets":"USD","Total Expenses":"USD","Median Total Expenses":"USD","Total Liabilities":"USD","Median Total Liabilities":"USD","Total Revenue":"USD","Median Total Revenue":"USD","Total Salaries":"USD","Median Total Salaries":"USD","Tuition And Fees":"USD","Median Tuition And Fees":"USD","Endowment 20th Percentile":"USD","Endowment 40th Percentile":"USD","Endowment 60th Percentile":"USD","Endowment 80th Percentile":"USD","Endowment 100th Percentile":"USD","Total Noninstructional Employees":"People","Total Outlays Noninstructional Employees":"USD","Number Completers BA":"Degrees","Median Percent Completed BA":"Percentage","Wage GINI":"Gini Index","Wage GINI Moe":"Gini Index","Veterans":"People","Veterans Moe":"People","Median Percent With Grant Aid":"Percentage","Total Number Federal Loans":"Loans","Median Number Federal Loans":"Loans","Median Percent Federal Loans":"Percentage","Total Amount Federal Loans":"USD","Median Amount Federal Loans":"USD","Total Number With Any Aid":"Count","Median Number With Any Aid":"Count","Median Percent With Any Aid":"Percentage","Median Average Net Price Grant Or Scholarship Aid":"USD","Enrollment":"People","Number Of Institutions":"Universities","Median Total Graduates":"Count","Total Graduates":"Count","Households by Plumbing Type":"Households","Households by Plumbing Type Moe":"Households","Households by Internet Access":"Households","Households by Internet Access Moe":"Households","Commute Means":"People","Commute Means Moe":"People","Average Commute Time":"Minutes","Average Commute Time Moe":"Minutes","Occupation Employment":"Employment","Occupation Employment Percent":"Percent","Occupation Employment Change":"Employment","Occupation Employment Change Percent":"Percent","Occupation Employment Openings":"Openings","Total Instructional Employees":"People","Total Months Of Employment For Instructional Employees":"Months","Total Outlays Instructional Employees":"USD","Median Total Instructional Employees":"People","Median Months Of Employment For Instructional Employees":"Months","Median Outlays Instructional Employees":"USD","IM Value":"NONE","LV Value":"NONE","Total Score":"NONE","Commute Means by Gender":"People","Commute Means by Gender Moe":"People","Cohort Size":"Count","Number Of Finishers":"Count","Graduation Rate":"Percentage","Industry Jobs":"Jobs","Industry Jobs Change":"Jobs","Industry Jobs CARC":"Rate","Industry Output":"USD","Industry Output CARC":"Rate","Borrowers In Default":"People","Borrowers Entered Repayment":"People","Default Rate":"Rate","Employees":"Unit","Annual Payroll":"USD","Number of Establishments":"Unit","Total Number in Living Arrangement":"Count","Average Number in Living Arrangement":"Count","Completions":"Degrees","Number Of Universities":"Universities","Median Age":"Years","Median Age Moe":"Years","Estimates of Chronically Homeless Individuals":"Number","Salary Expenses":"USD","Median Salary Expenses":"USD","Other Expenses":"USD","Median Other Expenses":"USD","Operation Expenses":"USD","Median Operation Expenses":"USD","Interest Expenses":"USD","Median Interest Expenses":"USD","Depreciation Expenses":"USD","Median Depreciation Expenses":"USD","Benefits Expenses":"USD","Median Benefits Expenses":"USD","Opioid overdose death rate":"People","Value Millions":"USD","Applicants Total":"People","Applicants Men":"People","Applicants Women":"People","Applicants Another Gender":"People","Applicants Gender Unknown":"People","Admissions Total":"People","Admissions Men":"People","Admissions Women":"People","Admissions Another Gender":"People","Admissions Gender Unknown":"People","Admissions Enrolled Total":"People","Admissions Enrolled Men":"People","Admissions Enrolled Women":"People","Admissions Enrolled Another Gender":"People","Admissions Enrolled Gender Unknown":"People","Admissions Enrolled FT Total":"People","Admissions Enrolled FT Men":"People","Admissions Enrolled FT Women":"People","Admissions Enrolled FT Another Gender":"People","Admissions Enrolled FT Gender Unknown":"People","Admissions Enrolled PT Total":"People","Admissions Enrolled PT Men":"People","Admissions Enrolled PT Women":"People","Admissions Enrolled PT Another Gender":"People","Admissions Enrolled PT Gender Unknown":"People","Number of Applicants Submitting SAT Scores":"People","Percent of Applicants Submitting SAT Scores":"Percentage","SAT Math 25th Percentile":"SAT Score","SAT Math 50th Percentile":"SAT Score","SAT Math 75th Percentile":"SAT Score","SAT Writing 25th Percentile":"SAT Score","SAT Writing 75th Percentile":"SAT Score","SAT Critical Reading 25th Percentile":"SAT Score","SAT Critical Reading 50th Percentile":"SAT Score","SAT Critical Reading 75th Percentile":"SAT Score","Yield Total":"Rate","Yield Men":"Rate","Yield Women":"Rate","Millions Of Dollars":"USD","Thousands Of Tons":"Thousands of Tons","Obligation Amount":"USD","Total Loan Value":"USD"},"profile":{"neighbors":[],"id":1,"ordering":0,"visible":true,"meta":[{"id":1,"profile_id":1,"slug":"geo","dimension":"Geography","levels":["Nation","State","County","Place","MSA","PUMA","Congressional District"],"measure":"Population","ordering":0,"cubeName":"acs_yg_total_population_5","visible":true}],"sections":[{"id":1,"slug":"hero","profile_id":1,"type":"Hero","ordering":0,"allowed":"always","position":"default","icon":"","selectors":[],"subtitles":[{"id":52,"section_id":1,"allowed":"always","ordering":0,"subtitle":" Census Place "}],"visualizations":[],"stats":[{"id":6,"section_id":1,"allowed":"popCurr","ordering":0,"title":" 2024 Population ","subtitle":" ","value":" 41,546 ","tooltip":" New Tooltip "},{"id":9,"section_id":1,"allowed":"singleState","ordering":3,"title":" US Senator ","subtitle":" Democratic Party ","value":" Jon Ossoff ","tooltip":" New Tooltip "},{"id":10,"section_id":1,"allowed":"singleState","ordering":4,"title":" US Senator ","subtitle":" Democratic Party ","value":" Raphael Warnock ","tooltip":" New Tooltip "},{"id":4,"section_id":1,"allowed":"visibleAgeStat","ordering":6,"title":" 2024 Median Age ","subtitle":" 0.988% 1-year decrease ","value":" 40.1 ","tooltip":" New Tooltip "},{"id":1,"section_id":1,"allowed":"visiblePovertyStat","ordering":7,"title":" 2024 Poverty Rate ","subtitle":" 1.35% 1-year decrease ","value":" 4.29% ","tooltip":" New Tooltip "},{"id":5,"section_id":1,"allowed":"incomeCurr","ordering":8,"title":" 2024 Median Household Income ","subtitle":" 13.3% 1-year growth ","value":" $171,295 ","tooltip":" New Tooltip "},{"id":2,"section_id":1,"allowed":"propertyCurr","ordering":9,"title":" 2024 Median Property Value ","subtitle":" 10.8% 1-year growth ","value":" $789,000 ","tooltip":" New Tooltip "},{"id":3,"section_id":1,"allowed":"visibleEmployees","ordering":10,"title":" 2024 Employed Population ","subtitle":" 0.0633% 1-year decline ","value":" 22,107 ","tooltip":" New Tooltip "}],"descriptions":[],"title":" Milton, GA ","short":""},{"id":2,"slug":"about","profile_id":1,"type":"About","ordering":1,"allowed":"always","position":"default","icon":"","selectors":[],"subtitles":[],"visualizations":[{"id":1,"logic":"var colorBackground = variables.colorBackground;\\nvar colorHighlight = variables.colorHighlight;\\nvar hierarchy = variables.hierarchy;\\nvar id = variables.id;\\nvar neighborIds = variables.neighborIds;\\nvar stateIds = variables.stateIds;\\n\\nvar geoIds = [id].concat(neighborIds).concat(stateIds);\\nvar state = id.slice(7, 9);\\n\\nvar hidden = [\\"XXUSA\\", \\"04000US69\\", \\"04000US66\\", \\"04000US60\\", \\"04000US78\\", \\"05000US60050\\", \\"05000US60010\\", \\"05000US60020\\", \\"05000US66010\\", \\"05000US69100\\", \\"05000US69110\\", \\"05000US69120\\", \\"05000US69085\\", \\"79500US6600100\\"];\\n\\nvar non48 = [\\"02\\", \\"15\\", \\"72\\"];\\n\\nvar geoFilter = hierarchy === \\"MSA\\" ? function (d) { return geoIds.includes(d.id); }\\n : hierarchy === \\"County\\" || hierarchy === \\"PUMA\\" ? function (d) { return d.id.slice(7, 9) === state && !hidden.includes(d.id); }\\n : hierarchy === \\"Congressional District\\" ? function (d) { return +d.id.slice(7, -2) === +state; }\\n : function (d) { return !hidden.includes(d.id); };\\n\\nvar fill = hierarchy === \\"Nation\\" ? function (d) { return colorHighlight; } \\n : [\\"State\\", \\"County\\", \\"PUMA\\"].includes(hierarchy) ? function (d) { return d.id === id ? colorHighlight : \\"white\\"; }\\n : function (d) { return d.id === id ? colorHighlight : d.id.includes(\\"04000US\\") ? \\"transparent\\" : \\"white\\"; };\\n \\nvar topojson = hierarchy === \\"Nation\\" \\n ? \\"State\\" \\n : hierarchy === \\"Place\\" \\n ? (\\"Place_\\" + state) \\n : hierarchy === \\"Congressional District\\" \\n ? \\"Districts\\" : hierarchy;\\n\\nreturn {\\n groupBy: function (d) { return d.Geography; }, \\n ocean: colorBackground,\\n projection: [\\"Nation\\", \\"State\\"].includes(hierarchy) || non48.includes(state)\\n ? typeof window !== \\"undefined\\" ? window.albersUsaPr() : \\"geoAlbersUsa\\" \\n : \\"geoMercator\\",\\n shapeConfig: {\\n Path: {\\n fill: fill,\\n fillOpacity: function (d) { return hierarchy === \\"Nation\\" ? 1 : d.id === id ? 1 : 0.5; },\\n stroke: \\"white\\",\\n strokeWidth: 1\\n }\\n },\\n topojson: (\\"/topojson/\\" + topojson + \\".json\\"),\\n topojsonFilter: geoFilter,\\n tiles: false,\\n type: \\"Geomap\\",\\n zoom: false\\n};","section_id":2,"allowed":"always","logic_simple":{},"simple":false,"ordering":0}],"stats":[],"descriptions":[{"id":382,"section_id":2,"allowed":"always","ordering":5,"description":" None of the households in Milton, GA reported speaking a non-English language at home as their primary shared language. This does not consider the potential multi-lingual nature of households, but only the primary self-reported language spoken by all members of the household. "},{"id":375,"section_id":2,"allowed":"citizenshipCurr","ordering":6,"description":" 88.3% of the residents in Milton, GA are U.S. citizens. "},{"id":3,"section_id":2,"allowed":"propertyCurr","ordering":8,"description":" In 2024, the median property value in Milton, GA was $789,000, and the homeownership rate was 72.5%. "},{"id":463,"section_id":2,"allowed":"commuteTime","ordering":9,"description":" Most people in Milton, GA drove alone to work, and the average commute time was 28 minutes. The average car ownership in Milton, GA was 2 cars per household. "}],"title":"About","short":""},{"id":42,"slug":"demographics","profile_id":1,"type":"Grouping","ordering":2,"allowed":"visiblePopulationDiversity","position":"default","icon":"geosearch","selectors":[],"subtitles":[],"visualizations":[],"stats":[],"descriptions":[{"id":101,"section_id":42,"allowed":"citizenshipCurr","ordering":0,"description":" Milton, GA is home to a population of 41.5k people, from which 88.3% are citizens. As of 2024, 23.3% of Milton, GA residents were born outside of the country (9.67k people). "},{"id":103,"section_id":42,"allowed":"raceTopRatio","ordering":1,"description":" In 2024, there were 3.49 times more White (Non-Hispanic) residents (23.3k people) in Milton, GA than any other race or ethnicity. There were 6.69k Asian (Non-Hispanic) and 5.19k Black or African American (Non-Hispanic) residents, the second and third most common ethnic groups. "}],"title":" Population &amp; Diversity ","short":""},{"id":200,"slug":"population_and_diversity","profile_id":1,"type":"SubGrouping","ordering":3,"allowed":"visiblePopulationSection","position":"default","icon":"","selectors":[],"subtitles":[],"visualizations":[],"stats":[],"descriptions":[],"title":" Population &amp; Diversity ","short":"","section":"demographics"},{"id":46,"slug":"citizenship","profile_id":1,"type":"TextViz","ordering":6,"allowed":"citizenshipCurr","position":"default","icon":"","selectors":[],"subtitles":[],"visualizations":[{"id":430,"logic":"var colorGrey = variables.colorGrey;\\nvar colorHighlight = variables.colorHighlight;\\nvar hierarchy = variables.hierarchy;\\nvar id = variables.id;\\nvar tesseract = variables.tesseract;\\nvar neighborsList = variables.neighborsList;\\nvar similarHierarchy = variables.similarHierarchy;\\nvar similarID = variables.similarID;\\nvar resultSimilar = variables.resultSimilar;\\nvar ref = libs.d3;\\nvar nest = ref.nest;\\nvar sum = ref.sum;\\nvar abbreviate = formatters.abbreviate;\\n\\nvar measure = \\"Citizenship Status\\";\\nvar share = \\"Citizenship %\\";\\nvar neighbors = hierarchy === \\"Place\\" ? \\"\\" : (\\",\\" + neighborsList)\\n\\nvar dataURL = tesseract + \\"tesseract/data.jsonrecords?cube=acs_ygc_citizenship_status_5&include=\\" + hierarchy + \\":\\" + id + neighbors + \\"&drilldowns=Year,\\" + hierarchy + \\",Citizenship&locale=en&measures=Citizenship+Status\\"\\nvar dataNation = tesseract + \\"tesseract/data.jsonrecords?cube=acs_ygc_citizenship_status_5&include=Nation:01000US&drilldowns=Year,Nation,Citizenship&locale=en&measures=Citizenship+Status\\"\\n\\n//Crear diferentes URL seg\xFAn la cantidad de hierarchies diferentes\\nvar baseURL = tesseract + \\"tesseract/data.jsonrecords\\"; // reemplaza con tu base\\nvar cube = \\"acs_ygc_citizenship_status_5\\"; // reemplaza si necesario\\n\\n//URL para hierarchies similares\\nvar dataSimilarURLs = Object.entries(resultSimilar)\\n .filter(function (ref) {\\n var key = ref[0];\\n\\n return /^similarID\\\\d+$/.test(key);\\n})\\n .map(function (ref) {\\n var key = ref[0];\\n\\n var index = key.replace(\\"similarID\\", \\"\\"); // extrae el n\xFAmero\\n var ids = resultSimilar[key]; // string separado por comas\\n var hierarchy = resultSimilar[(\\"similarHierarchy\\" + index)];\\n \\n if (!hierarchy) { return null; } // evitar entradas inv\xE1lidas\\n\\n var drilldowns = \\"Year,Citizenship,\\" + hierarchy;\\n var params = new URLSearchParams({\\n drilldowns: drilldowns,\\n measures: measure,\\n cube: cube,\\n include: (hierarchy + \\":\\" + ids)\\n });\\n\\n return (baseURL + \\"?\\" + (params.toString()));\\n })\\n .filter(Boolean);\\n\\nvar similarHierarchies = resultSimilar.similarHierarchiesArray;\\n\\nreturn {\\n data: [dataURL ].concat( dataNation, dataSimilarURLs),\\n\\n dataFormat: function (resp) {\\n var dataID = resp[0].data;\\n var dataNation = resp[1].data;\\n var dataSimilarArrays = resp.slice(2).map(function (r) { return r.data; })\\n \\n var dataPlace = dataID.filter(function (d) { return d[(hierarchy + \\" ID\\")] === id; })\\n var maxYear = libs.d3.max(dataPlace, function (d) { return d.Year; })\\n var minYear = libs.d3.min(dataPlace, function (d) { return d.Year; })\\n\\n dataNation.forEach(function (d) {\\n d[hierarchy] = d[\\"Nation\\"]\\n d[(hierarchy + \\" ID\\")] = d[\\"Nation ID\\"]\\n delete d[\\"Nation\\"]\\n delete d[\\"Nation ID\\"];\\n });\\n\\n\\n similarHierarchies.forEach(function (simHier, i) {\\n var dataSimilar = dataSimilarArrays[i];\\n if (!Array.isArray(dataSimilar)) { return; }\\n dataSimilar.forEach(function (d) {\\n if (d[simHier] !== undefined && d[(simHier + \\" ID\\")] !== undefined) {\\n d[hierarchy] = d[simHier];\\n d[(hierarchy + \\" ID\\")] = d[(simHier + \\" ID\\")];\\n \\n delete d[simHier];\\n delete d[(simHier + \\" ID\\")];\\n }\\n });\\n });\\n \\n var dataFinal = dataID.concat( dataNation, dataSimilarArrays.flat())//.filter(d => d[hierarchy]);\\n\\n var data = [];\\n nest()\\n .key(function (d) { return ((d.Year) + \\"_\\" + (d[hierarchy])); })\\n .entries(dataFinal)\\n .forEach(function (group) {\\n var obj;\\n\\n var total = sum(group.values, function (d) { return d[measure]; });\\n var natives = group.values.find(function (d) { return d[\\"Citizenship ID\\"] === 0; })[measure];\\n data.push(Object.assign({}, group.values[0], ( obj = {}, obj[share] = natives / total, obj )));\\n });\\n \\n return data.filter(function (d) { return d[hierarchy] && d[\\"Year\\"]*1 = minYear*1; });\\n },\\n discrete: \\"y\\",\\n groupBy: (\\"\\" + hierarchy),\\n shapeConfig: {\\n fill: function (d) { return d[(hierarchy + \\" ID\\")] === id ? colorHighlight : colorGrey; }\\n },\\n time: \\"Year\\",\\n tooltipConfig: {\\n title: function (d) { return d[hierarchy]; },\\n tbody: [\\n [\\"Year\\", function (d) { return d.Year; }],\\n [\\"Citizenship\\", function (d) { return ((abbreviate(d[share] * 100)) + \\"%\\"); }]\\n ]\\n },\\n legendTooltip: {\\n title: function (d) { return d[(hierarchy + \\" ID\\")] === id ? \\"Profile\\" : \\"Parents and Neighbors\\"; }\\n },\\n type: \\"BarChart\\",\\n x: share,\\n xConfig: {\\n tickFormat: function (d) { return ((abbreviate(d * 100)) + \\"%\\"); },\\n title: share\\n },\\n y: hierarchy,\\n yConfig: {\\n barConfig: {stroke: \\"transparent\\"},\\n ticks: [],\\n title: false\\n },\\n ySort: function (a, b) { return a[share] - b[share]; }\\n}","section_id":46,"allowed":"isNotNation","logic_simple":{"type":"Treemap","data":[""]},"simple":false,"ordering":0}],"stats":[{"id":100,"section_id":46,"allowed":"always","ordering":0,"title":" 2024 Citizenship ","subtitle":"","value":" 88.3% ","tooltip":"New Tooltip"},{"id":101,"section_id":46,"allowed":"citizenshipPrev","ordering":1,"title":" 2023 Citizenship ","subtitle":"","value":" 87.6% ","tooltip":" New Tooltip "}],"descriptions":[{"id":111,"section_id":46,"allowed":"acsMultiYearNotNation","ordering":0,"description":" As of 2024, 88.3% of Milton, GA residents were US citizens, which is lower than the national average of 93.2%. In 2023, the percentage of US citizens in Milton, GA was 87.6%, meaning that the rate of citizenship has been increasing. "},{"id":109,"section_id":46,"allowed":"notNation","ordering":2,"description":" The following chart shows US citizenship percentages in Milton, GA compared to that of it\'s neighboring and parent geographies. "}],"title":" Citizenship ","short":"","section":"demographics"},{"id":201,"slug":"diversity","profile_id":1,"type":"SubGrouping","ordering":7,"allowed":"visibleDiversityFullSection","position":"default","icon":"","selectors":[],"subtitles":[],"visualizations":[],"stats":[],"descriptions":[],"title":" Diversity ","short":"","section":"demographics"},{"id":47,"slug":"race_and_ethnicity","profile_id":1,"type":"TextViz","ordering":8,"allowed":"visibleRaceEth","position":"default","icon":"","selectors":[],"subtitles":[],"visualizations":[{"id":365,"logic":"var colorRaceACS = variables.colorRaceACS;\\nvar iconRace = variables.iconRace;\\nvar id = variables.id;\\nvar hierarchy = variables.hierarchy;\\nvar tesseract = variables.tesseract;\\nvar abbreviate = formatters.abbreviate;\\nvar ref = libs.d3;\\nvar sum = ref.sum;\\nvar nest = ref.nest;\\n\\nvar oldPop = \\"Hispanic Population\\";\\nvar newPop = \\"Population\\";\\n\\nvar cleanRace = function (d) { return d\\n .replace(\\" Alone\\", \\"\\")\\n .replace(\\"Some Other Race\\", \\"Other\\")\\n .replace(\\"Two or More Races\\", \\"Multiracial\\"); };\\n\\nreturn {\\n aggs: {\\n \\"Race ID\\": function (arr, acc) { return acc(arr[0]); },\\n \\"Ethnicity ID\\": function (arr, acc) { return acc(arr[0]); }\\n },\\n data: (tesseract + \\"tesseract/data?cube=acs_ygr_race_with_hispanic_5&include=\\" + hierarchy + \\":\\" + id + \\"&drilldowns=Race,Ethnicity,Year&measures=Hispanic+Population,Hispanic+Population+Moe\\"),\\n dataFormat: function (resp) {\\n var data = resp.data;\\n \\n nest()\\n .key(function (d) { return d.Year; })\\n .entries(data)\\n .forEach(function (group) {\\n var total = sum(group.values, function (d) { return d[oldPop]; });\\n group.values\\n .forEach(function (d) {\\n d[newPop] = d[oldPop];\\n delete d[oldPop];\\n d.share = d[newPop] / total;\\n });\\n });\\n \\n data.forEach(function (d) {\\n d[\\"Race\\"] = cleanRace(d.Race)\\n })\\n\\n return data;\\n },\\n depth: 1,\\n groupBy: [\\"Ethnicity\\", \\"Race\\"],\\n label: function (d) { return (\\"\\" + (cleanRace(d.Race)) + (d.Ethnicity instanceof Array ? \\"\\" : (\\" (\\" + (d.Ethnicity.includes(\\"Not\\") ? \\"Non-\\" : \\"\\") + \\"Hispanic)\\"))); },\\n layoutPadding: function (d) { return d.depth ? 1 : 5; },\\n legendConfig: {\\n label: function (d) {\\n while (d.__d3plus__) { d = d.data; }\\n return cleanRace(d.Race);\\n },\\n shapeConfig: {\\n backgroundImage: iconRace\\n }\\n },\\n shapeConfig: {\\n fill: function (d) { return colorRaceACS[d[\\"Race ID\\"] + 1]; },\\n fillOpacity: function (d) { return d.Ethnicity.includes(\\"Not\\") ? 1 : 0.75; }\\n },\\n time: \\"Year\\",\\n tooltipConfig: {\\n title: function (d) {\\n return (\\"\\\\n \\\\n \\\\n \\" + (\\"\\" + (cleanRace(d.Race)) + (d.Ethnicity instanceof Array ? \\"\\" : (\\" (\\" + (d.Ethnicity.includes(\\"Not\\") ? \\"Non-\\" : \\"\\") + \\"Hispanic)\\"))) + \\" \\\\n Ethnicity \\\\n \\\\n \\")\\n },\\n tbody: [\\n [\\"Population\\", function (d) { return abbreviate(d[newPop]); }],\\n [\\"Share\\", function (d) { return ((abbreviate(d.share * 100)) + \\"%\\"); }]\\n ]\\n },\\n legedTooltip: {\\n title: function (d) {\\n return (\\"\\\\n \\\\n \\\\n \\" + (cleanRace(d.Race)) + \\" \\\\n Ethnicity \\\\n \\\\n \\")\\n }\\n },\\n type: \\"Treemap\\",\\n sum: function (d) { return d.share; },\\n}","section_id":47,"allowed":"always","logic_simple":{"type":"Treemap","data":[""]},"simple":false,"ordering":0}],"stats":[{"id":103,"section_id":47,"allowed":"race1Name","ordering":0,"title":" The 3 largest ethnic groups in Milton, GA ","subtitle":" 23.3k \xB1 1.67k ","value":" White (Non-Hispanic) ","tooltip":" New Tooltip "},{"id":102,"section_id":47,"allowed":"race2Name","ordering":1,"title":" The 3 largest ethnic groups in Milton, GA ","subtitle":" 6.69k \xB1 1.39k ","value":" Asian (Non-Hispanic) ","tooltip":" New Tooltip "},{"id":104,"section_id":47,"allowed":"race3Name","ordering":2,"title":" The 3 largest ethnic groups in Milton, GA ","subtitle":" 5.19k \xB1 1.45k ","value":" Black or African American (Non-Hispanic) ","tooltip":" New Tooltip "},{"id":356,"section_id":47,"allowed":"hispanicPopShare","ordering":3,"title":" Hispanic Population ","subtitle":" 3.96k people ","value":" 9.54% ","tooltip":""}],"descriptions":[{"id":113,"section_id":47,"allowed":"raceTopRatio","ordering":0,"description":" In 2024, there were 3.49 times more White (Non-Hispanic) residents (23.3k people) in Milton, GA than any other race or ethnicity. There were 6.69k Asian (Non-Hispanic) and 5.19k Black or African American (Non-Hispanic) residents, the second and third most common ethnic groups. "},{"id":360,"section_id":47,"allowed":"hispanicPopShare","ordering":1,"description":" 9.54% of the people in Milton, GA are hispanic (3.96k people). "},{"id":112,"section_id":47,"allowed":"raceNum","ordering":2,"description":" The following chart shows the 8 races represented in Milton, GA as a share of the total population. "}],"title":" Race and Ethnicity ","short":"","section":"demographics"},{"id":45,"slug":"global_diversity","profile_id":1,"type":"TextViz","ordering":9,"allowed":"visibleGlobalDiversity","position":"default","icon":"","selectors":[],"subtitles":[{"id":20,"section_id":45,"allowed":"subtitlePums","ordering":0,"subtitle":" The PUMS dataset is not available at the Place level, so we are showing data for Georgia. "}],"visualizations":[{"id":366,"logic":"var colorScaleGood = variables.colorScaleGood;\\nvar pumsID = variables.pumsID;\\nvar pumsHierarchy = variables.pumsHierarchy;\\nvar tesseract = variables.tesseract;\\nvar abbreviate = formatters.abbreviate;\\nvar commas = formatters.commas;\\n\\nvar data = tesseract + \\"tesseract/data?cube=pums_5&include=\\" + pumsHierarchy + \\":\\" + pumsID + \\";Nativity:2&measures=Total+Population&drilldowns=Birthplace,Year&properties=Country%20Code\\"\\nvar moe = tesseract + \\"calcs/pums.jsonrecords?cube=pums_5&drilldowns=Year,Birthplace&measures=+Total+Population+MOE+Appx&locale=en&parents=false&include=\\" + pumsHierarchy + \\":\\" + pumsID + \\";Nativity:2\\"\\n\\nreturn {\\n colorScale: \\"Total Population\\",\\n colorScaleConfig: {\\n axisConfig: {\\n tickFormat: function (d) { return abbreviate(d); },\\n title: \\"Population\\"\\n },\\n color: colorScaleGood\\n },\\n data: [data, moe],\\n dataFormat: function (resp) {\\n var dataPop = resp[0].data;\\n var dataMoe = resp[1].data;\\n \\n dataPop.forEach(function (popItem) {\\n var matchingMoeItem = dataMoe.find(function (moeItem) { return moeItem.Year === popItem.Year &&\\n moeItem[\\"Birthplace ID\\"] === popItem[\\"Birthplace ID\\"]; }\\n );\\n \\n if (matchingMoeItem) {\\n popItem[\\"Total Population MOE Appx\\"] = matchingMoeItem[\\"Total Population MOE Appx\\"];\\n } else {\\n popItem[\\"Total Population MOE Appx\\"] = null;\\n }\\n });\\n\\n return dataPop;\\n },\\n groupBy: \\"Country Code\\",\\n label: function (d) { return d.Birthplace; },\\n projection: \\"geoMiller\\",\\n tiles: false,\\n time: \\"Year\\",\\n tooltipConfig: {\\n tbody: [\\n [\\"Population\\", function (d) { return commas(d[\\"Total Population\\"]); }],\\n [\\"MOE\\", function (d) { return (\\"\xB1 \\" + (commas(d[\\"Total Population MOE Appx\\"]))); }]\\n ]\\n },\\n topojson: \\"/topojson/Birthplace.json\\",\\n topojsonFilter: function (d) { return d.id !== \\"ATA\\"; },\\n type: \\"Geomap\\"\\n}","section_id":45,"allowed":"always","logic_simple":{"type":"Treemap","data":[""]},"simple":false,"ordering":0}],"stats":[{"id":98,"section_id":45,"allowed":"birthplace1Name","ordering":0,"title":" Most Common Origin ","subtitle":" 232,075 \xB1 11,701 people ","value":" Mexico ","tooltip":"New Tooltip"},{"id":99,"section_id":45,"allowed":"birthplace2Name","ordering":1,"title":" Most Common Origin ","subtitle":" 112,556 \xB1 8,194 people ","value":" India ","tooltip":"New Tooltip"},{"id":97,"section_id":45,"allowed":"birthplace3Name","ordering":2,"title":" Most Common Origin ","subtitle":" 54,537 \xB1 5,719 people ","value":" Jamaica ","tooltip":"New Tooltip"}],"descriptions":[{"id":108,"section_id":45,"allowed":"always","ordering":0,"description":" In 2024, the most common birthplace for the foreign-born residents of Georgia was Mexico, the natal country of 232,075 Georgia residents, followed by India with 112,556 and Jamaica with 54,537. "}],"title":" Global Diversity ","short":"","section":"demographics"},{"id":44,"slug":"foreign_born_population","profile_id":1,"type":"TextViz","ordering":10,"allowed":"foreignbornCurr","position":"default","icon":"","selectors":[],"subtitles":[],"visualizations":[{"id":433,"logic":"const {colorGrey, colorHighlight, hierarchy, id, tesseract, neighborsList, similarHierarchy, similarID, resultSimilar} = variables;\\nconst {nest, sum} = libs.d3;\\nconst {abbreviate} = formatters;\\n\\nconst measure = \\"Foreign-Born Citizens\\";\\nconst share = \\"Foreign-Born %\\";\\nconst neighbors = hierarchy === \\"Place\\" ? \\"\\" : `,${neighborsList}`\\n\\nconst dataURL = `${tesseract}tesseract/data.jsonrecords?cube=acs_ygf_place_of_birth_for_foreign_born_5&include=${hierarchy}:${id}${neighbors}&drilldowns=Year,${hierarchy}&locale=en&measures=Foreign-Born+Citizens`\\nconst dataNation = `${tesseract}tesseract/data.jsonrecords?cube=acs_ygf_place_of_birth_for_foreign_born_5&include=Nation:01000US&drilldowns=Year,Nation&locale=en&measures=Foreign-Born+Citizens`\\n\\nconst dataURLPop = `${tesseract}tesseract/data.jsonrecords?cube=acs_ygc_citizenship_status_5&include=${hierarchy}:${id}${neighbors}&drilldowns=Year,${hierarchy}&locale=en&measures=Citizenship+Status`\\nconst dataNationPop = `${tesseract}tesseract/data.jsonrecords?cube=acs_ygc_citizenship_status_5&include=Nation:01000US&drilldowns=Year,Nation&locale=en&measures=Citizenship+Status`\\n\\n//Crear diferentes URL seg\xFAn la cantidad de hierarchies diferentes\\nconst baseURL = `${tesseract}tesseract/data.jsonrecords`; \\nconst cube = \\"acs_ygf_place_of_birth_for_foreign_born_5\\"; \\nconst cubePop = \\"pums_5\\";\\n\\n//URL para hierarchies similares\\nconst dataSimilarURLs = Object.entries(resultSimilar)\\n .filter(([key]) => /^similarID\\\\d+$/.test(key))\\n .map(([key]) => {\\n const index = key.replace(\\"similarID\\", \\"\\"); // extrae el n\xFAmero\\n const ids = resultSimilar[key]; // string separado por comas\\n const hierarchy = resultSimilar[`similarHierarchy${index}`];\\n \\n if (!hierarchy) return null; // evitar entradas inv\xE1lidas\\n\\n const drilldowns = `Year,${hierarchy}`;\\n const params = new URLSearchParams({\\n drilldowns,\\n measures: measure,\\n cube,\\n include: `${hierarchy}:${ids}`\\n });\\n\\n return `${baseURL}?${params.toString()}`;\\n })\\n .filter(Boolean);\\n \\n//URL with Population data\\nconst dataPopulationURLs = Object.entries(resultSimilar)\\n .filter(([key]) => /^similarID\\\\d+$/.test(key))\\n .map(([key]) => {\\n const index = key.replace(\\"similarID\\", \\"\\"); // extrae el n\xFAmero\\n const ids = resultSimilar[key]; // string separado por comas\\n const hierarchy = resultSimilar[`similarHierarchy${index}`];\\n \\n if (!hierarchy) return null; // evitar entradas inv\xE1lidas\\n\\n const drilldowns = `Year,${hierarchy}`;\\n const params = new URLSearchParams({\\n drilldowns,\\n measures: \\"Citizenship Status\\",\\n cube: \\"acs_ygc_citizenship_status_5\\",\\n include: `${hierarchy}:${ids}`\\n });\\n\\n return `${baseURL}?${params.toString()}`;\\n })\\n .filter(Boolean);\\n\\nconst similarHierarchies = resultSimilar.similarHierarchiesArray;\\nconst numSimilar = similarHierarchies.length;\\n\\n\\nfunction mergePopulation(datasetNoPop, datasetPop, geoLevel) {\\n const populationByKey = {};\\n\\n // Crear \xEDndice r\xE1pido a partir de datasetPop\\n datasetPop.forEach(d => {\\n const key = `${d.Year}_${d[geoLevel]}`;\\n populationByKey[key] = d[\\"Citizenship Status\\"];\\n });\\n\\n // Agregar \\"Total Population\\" al datasetNoPop\\n datasetNoPop.forEach(d => {\\n const key = `${d.Year}_${d[geoLevel]}`;\\n d[\\"Citizenship Status\\"] = populationByKey[key] ?? null;\\n });\\n\\n return datasetNoPop;\\n}\\n\\n\\nfunction mergeBirthplace(data, hierarchyID) {\\n const birthplaceByKey = {};\\n data.forEach(d => {\\n if (d[\\"Citizenship Status\\"]) {\\n const key = `${d.Year}_${d[hierarchyID]}`;\\n birthplaceByKey[key] = d[\\"Citizenship Status\\"];\\n }\\n });\\n\\n const filtered = data.filter(d => d[\\"Foreign-Born Citizens\\"] !== undefined && d[\\"Foreign-Born Citizens\\"] !== null);\\n\\n const merged = filtered.map(d => {\\n if (!d[\\"Citizenship Status\\"]) {\\n const key = `${d.Year}_${d[hierarchyID]}`;\\n d[\\"Citizenship Status\\"] = birthplaceByKey[key] ?? null;\\n }\\n return d;\\n });\\n\\n return merged.filter(d => d[\\"Citizenship Status\\"] !== null);\\n}\\n\\nreturn {\\n data: [dataURL, dataNation, dataURLPop, dataNationPop, ...dataSimilarURLs, ...dataPopulationURLs],\\n dataFormat: (resp) => {\\n const dataID = resp[0].data;\\n const dataNation = resp[1].data;\\n \\n const dataPop = resp[2].data;\\n const dataNationPop = resp[3].data;\\n \\n const dataSimilarArrays = resp.slice(4, 4 + numSimilar).map(r => r?.data || []);\\n const dataPopulationArrays = resp.slice(4 + numSimilar).map(r => r?.data || []);\\n \\n const tempData = dataID.filter(d => d[`${hierarchy} ID`] === id);\\n const maxYear = libs.d3.max(tempData, d => d.Year);\\n const minYear = libs.d3.min(tempData, d => d.Year);\\n\\n dataNation.forEach(d => {\\n d[hierarchy] = d[\\"Nation\\"]\\n d[`${hierarchy} ID`] = d[\\"Nation ID\\"]\\n delete d[\\"Nation\\"]\\n delete d[\\"Nation ID\\"];\\n });\\n \\n dataNationPop.forEach(d => {\\n d[hierarchy] = d[\\"Nation\\"]\\n d[`${hierarchy} ID`] = d[\\"Nation ID\\"]\\n delete d[\\"Nation\\"]\\n delete d[\\"Nation ID\\"];\\n });\\n\\n similarHierarchies.forEach((simHier, i) => {\\n const dataSimilar = dataSimilarArrays[i];\\n if (!Array.isArray(dataSimilar)) return;\\n dataSimilar.forEach(d => {\\n if (d[simHier] !== undefined && d[`${simHier} ID`] !== undefined) {\\n d[hierarchy] = d[simHier];\\n d[`${hierarchy} ID`] = d[`${simHier} ID`];\\n \\n delete d[simHier];\\n delete d[`${simHier} ID`];\\n }\\n });\\n });\\n \\n similarHierarchies.forEach((simHier, i) => {\\n const dataSimilar = dataPopulationArrays[i];\\n if (!Array.isArray(dataSimilar)) return;\\n dataSimilar.forEach(d => {\\n if (d[simHier] !== undefined && d[`${simHier} ID`] !== undefined) {\\n d[hierarchy] = d[simHier];\\n d[`${hierarchy} ID`] = d[`${simHier} ID`];\\n \\n delete d[simHier];\\n delete d[`${simHier} ID`];\\n }\\n });\\n });\\n \\n const dataIDPopulation = mergePopulation(dataID, dataPop, `${hierarchy} ID`);\\n const dataNationPopulation = mergePopulation(dataNation, dataNationPop, `${hierarchy} ID`);\\n\\n const dataTempSimilar = [...dataPopulationArrays.flat(), ...dataSimilarArrays.flat()]\\n const similarPopulation = mergeBirthplace(dataTempSimilar, `${hierarchy} ID`);\\n \\n const dataFinal = [...dataIDPopulation, ...dataNationPopulation, ...similarPopulation]\\n\\n dataFinal.forEach(d => {\\n d[share] = d[measure] / d[\\"Citizenship Status\\"];\\n });\\n\\n return dataFinal.filter(d => d[hierarchy] && d[\\"Year\\"]*1 = minYear*1);\\n },\\n discrete: \\"y\\",\\n groupBy: `${hierarchy}`,\\n shapeConfig: {\\n fill: d => d[`${hierarchy} ID`] === id ? colorHighlight : colorGrey\\n },\\n time: \\"Year\\",\\n tooltipConfig: {\\n title: d => d[hierarchy],\\n tbody: [\\n [\\"Year\\", d => d.Year],\\n [\\"Foreign-Born Citizens\\", d => abbreviate(d[\\"Foreign-Born Citizens\\"])],\\n [\\"Citizenship\\", d => `${abbreviate(d[share] * 100)}%`]\\n ]\\n },\\n legendTooltip: {\\n title: d => d[`${hierarchy} ID`] === id ? \\"Profile\\" : \\"Parents and Neighbors\\"\\n },\\n type: \\"BarChart\\",\\n x: share,\\n xConfig: {\\n tickFormat: d => `${abbreviate(d * 100)}%`,\\n title: share\\n },\\n y: hierarchy,\\n yConfig: {\\n barConfig: {stroke: \\"transparent\\"},\\n ticks: [],\\n title: false\\n },\\n ySort: (a, b) => a[share] - b[share]\\n}","section_id":44,"allowed":"isNotNation","logic_simple":{"type":"Treemap","data":[""]},"simple":false,"ordering":1}],"stats":[{"id":95,"section_id":44,"allowed":"always","ordering":0,"title":" 2024 Foreign-Born Population ","subtitle":" 9.67k people ","value":" 23.3% ","tooltip":"New Tooltip"},{"id":96,"section_id":44,"allowed":"foreignbornPrev","ordering":1,"title":" 2023 Foreign-Born Population ","subtitle":" 9.48k people ","value":" 23% ","tooltip":" New Tooltip "}],"descriptions":[{"id":107,"section_id":44,"allowed":"acsMultiYearNotNation","ordering":0,"description":" As of 2024, 23.3% of Milton, GA residents (9.67k people) were born outside of the United States, which is approximately the same as the national average of 14%. In 2023, the percentage of foreign-born citizens in Milton, GA was 23%, meaning that the rate has been increasing. "},{"id":106,"section_id":44,"allowed":"notNation","ordering":2,"description":" The following chart shows the percentage of foreign-born residents in Milton, GA compared to that of it\'s neighboring and parent geographies. "}],"title":" Foreign-Born Population ","short":"","section":"demographics"},{"id":202,"slug":"military","profile_id":1,"type":"SubGrouping","ordering":12,"allowed":"conflict1Name","position":"default","icon":"","selectors":[],"subtitles":[],"visualizations":[],"stats":[],"descriptions":[],"title":" Military ","short":"","section":"demographics"},{"id":49,"slug":"veteran","profile_id":1,"type":"TextViz","ordering":13,"allowed":"conflict1Name","position":"default","icon":"","selectors":[],"subtitles":[],"visualizations":[{"id":370,"logic":"var colorGrey = variables.colorGrey;\\nvar colorHighlight = variables.colorHighlight;\\nvar id = variables.id;\\nvar hierarchy = variables.hierarchy;\\nvar tesseract = variables.tesseract;\\nvar abbreviate = formatters.abbreviate;\\nvar commas = formatters.commas;\\nvar ref = libs.d3;\\nvar max = ref.max;\\nvar nest = ref.nest;\\nvar sum = ref.sum;\\nvar min = ref.min;\\n\\nvar dataNation = tesseract + \\"tesseract/data?cube=acs_ygv_veterans_5&include=Nation:01000US&measures=Veterans,Veterans+Moe&drilldowns=Period+of+Service,Year,Nation\\"\\nvar dataGeo = tesseract + \\"tesseract/data?cube=acs_ygv_veterans_5&include=\\" + hierarchy + \\":\\" + id + \\"&measures=Veterans,Veterans+Moe&drilldowns=Period+of+Service,Year,\\" + hierarchy\\n\\nif(hierarchy !== \\"Nation\\"){\\n return {\\n data: [dataNation, dataGeo],\\n dataFormat: function (resp) {\\n var dataNation = resp[0].data;\\n var dataGeo = resp[1].data;\\n \\n dataNation.forEach(function (d) {\\n d[\\"Geo\\"] = d[\\"Nation\\"]\\n d[\\"Geo ID\\"] = d[\\"Nation ID\\"]\\n })\\n \\n dataGeo.forEach(function (d) {\\n d[\\"Geo\\"] = d[hierarchy]\\n d[\\"Geo ID\\"] = d[(hierarchy + \\" ID\\")]\\n })\\n \\n var result = dataNation.concat(dataGeo);\\n \\n var tempData = dataGeo.filter(function (d) { return d[(hierarchy + \\" ID\\")] === id; });\\n var maxYear = max(tempData, function (d) { return d[\\"Year\\"]; });\\n var minYear = min(tempData, function (d) { return d[\\"Year\\"]; });\\n \\n var data = result.filter(function (d) { return d[\\"Period of Service ID\\"]*1 !== 5 && d[\\"Year\\"]*1 = minYear; });\\n \\n nest()\\n .key(function (d) { return ((d[\\"Geo ID\\"]) + \\"_\\" + (d.Year)); })\\n .entries(data)\\n .forEach(function (group) {\\n var total = sum(group.values, function (d) { return d.Veterans; });\\n group.values.forEach(function (d) { return d.share = d.Veterans / total; });\\n });\\n return data;\\n },\\n groupBy: \\"Geo\\",\\n groupPadding: 20,\\n shapeConfig: {\\n fill: function (d) { return d[\\"Geo ID\\"] === id ? colorHighlight : colorGrey; },\\n label: false\\n },\\n time: \\"Year\\",\\n tooltipConfig: {\\n tbody: [\\n [\\"Year\\", function (d) { return d.Year; }],\\n [\\"People\\", function (d) { return commas(d.Veterans); }],\\n [\\"Margin of Error\\", function (d) { return (\\"\xB1 \\" + (commas(Math.round(d[\\"Veterans Moe\\"])))); }]\\n ]\\n },\\n type: \\"BarChart\\",\\n x: \\"Period of Service\\",\\n xConfig: {\\n title: \\"Conflict\\"\\n },\\n xSort: function (a, b) { return b[\\"Period of Service ID\\"] - a[\\"Period of Service ID\\"]; },\\n y: \\"share\\",\\n yConfig: {\\n tickFormat: function (d) { return ((abbreviate(d * 100)) + \\"%\\"); },\\n title: \\"Share\\"\\n }\\n }\\n}\\nelse{\\n return {\\n data: dataNation,\\n dataFormat: function (resp) {\\n var dataNation = resp.data;\\n \\n dataNation.forEach(function (d) {\\n d[\\"Geo\\"] = d[\\"Nation\\"]\\n d[\\"Geo ID\\"] = d[\\"Nation ID\\"]\\n })\\n \\n var maxYear = max(dataNation, function (d) { return d[\\"Year\\"]; });\\n \\n var data = dataNation.filter(function (d) { return d[\\"Period of Service ID\\"]*1 !== 5 && d[\\"Year\\"]*1 Most Common Service Period ","subtitle":" 485 \xB1 364 ","value":" Vietnam ","tooltip":"New Tooltip"},{"id":109,"section_id":49,"allowed":"conflict2Name","ordering":1,"title":" Most Common Service Period ","subtitle":" 339 \xB1 152 ","value":" Gulf War (2001-) ","tooltip":" New Tooltip "},{"id":110,"section_id":49,"allowed":"conflict3Name","ordering":2,"title":" Most Common Service Period ","subtitle":" 166 \xB1 87 ","value":" Gulf War (1990s) ","tooltip":" New Tooltip "}],"descriptions":[{"id":115,"section_id":49,"allowed":"conflict1Size","ordering":0,"description":" Milton, GA has a large population of military personnel who served in Vietnam, 1.43 times greater than any other conflict. "},{"id":561,"section_id":49,"allowed":"always","ordering":1,"description":" The chart shows the distribution of veterans by conflict in Milton, GA. "}],"title":" Veterans ","short":"","section":"demographics"},{"id":34,"slug":"health","profile_id":1,"type":"Grouping","ordering":14,"allowed":"visiblehealthSection","position":"default","icon":"pulse","selectors":[],"subtitles":[],"visualizations":[],"stats":[],"descriptions":[{"id":80,"section_id":34,"allowed":"notDistrict","ordering":0,"description":" 97.1% of the population of Milton, GA has health coverage, with 75% on employee plans, 2.33% on Medicaid, 8.37% on Medicare, 10.3% on non-group plans, and 1.08% on military or VA plans. "},{"id":79,"section_id":34,"allowed":"visibleTextProvider","ordering":1,"description":" Primary care physicians in Georgia see 1,517 patients per year on average, which represents a 0% change from the previous year (1,517 patients). Compare this to dentists who see 1856 patients per year, and mental health providers who see 525 patients per year. "},{"id":466,"section_id":34,"allowed":"isNotDistrict","ordering":6,"description":" By gender, of the total number of insured persons, 51.8% were men and 48.2% were women. "}],"title":" Health ","short":""},{"id":218,"slug":"coverage","profile_id":1,"type":"SubGrouping","ordering":15,"allowed":"visibleCoverageSection","position":"default","icon":"","selectors":[],"subtitles":[],"visualizations":[],"stats":[],"descriptions":[],"title":" Coverage ","short":"","section":"health"},{"id":223,"slug":"health_care_diversity","profile_id":1,"type":"TextViz","ordering":20,"allowed":"coverageByAge","position":"default","icon":"","selectors":[{"id":62,"options":[{"option":"genderOption","allowed":"always"},{"option":"ageOption","allowed":"always"}],"default":"genderOption","profile_id":1,"title":"","name":"healthDiversity","type":"single","dynamic":"","section_selector":{"id":67,"section_id":223,"selector_id":62,"ordering":0}}],"subtitles":[],"visualizations":[{"id":395,"logic":"var id = variables.id;\\nvar hierarchy = variables.hierarchy;\\nvar tesseract = variables.tesseract;\\nvar colorSex = variables.colorSex;\\nvar iconGender = variables.iconGender;\\nvar ref = libs.d3;\\nvar nest = ref.nest;\\nvar sum = ref.sum;\\nvar commas = formatters.commas;\\nvar abbreviate = formatters.abbreviate;\\nvar growthPct = formatters.growthPct;\\n\\nvar ageColor = {\\n 0: \\"#62c0cb\\",\\n 1: \\"#4695b4\\",\\n 2: \\"#f5ae77\\",\\n 3: \\"#e97f4c\\"\\n}\\n\\nvar optionSelected = \\"genderOption\\" //genderOption, ageOption\\n\\nvar measure = optionSelected === \\"ageOption\\" ? \\"Health Insurance Policies\\" : \\"Health Insurance by Gender and Age\\"\\nvar drilldown = optionSelected === \\"ageOption\\" ? \\"Kaiser Coverage\\" : \\"Health Coverage\\"\\nvar groupby = optionSelected === \\"ageOption\\" ? \\"Age\\" : \\"Gender\\"\\n\\nvar dataURL = optionSelected === \\"ageOption\\" ? (tesseract + \\"tesseract/data?cube=acs_ygh_health_care_coverage_overall_5&include=\\" + hierarchy + \\":\\" + id + \\"&drilldowns=Year,Kaiser Coverage,Age&measures=Health Insurance Policies\\") \\n : (tesseract + \\"tesseract/data?cube=acs_yghsa_health_coverage_type_by_gender_by_age_5&include=\\" + hierarchy + \\":\\" + id + \\"&drilldowns=Year,Health Coverage,Gender&measures=Health Insurance by Gender and Age\\")\\n\\nvar config = {\\n data: dataURL,\\n dataFormat: function (resp) {\\n var data = resp.data.map(function (d) { return Object.assign({}, d); });\\n nest()\\n .key(function (d) { return ((d.Year) + \\"_\\" + (d[drilldown])); })\\n .entries(data)\\n .forEach(function (group) {\\n var values = group.values;\\n var total = sum(values, function (d) { return d[measure]; });\\n values.forEach(function (d) { return d.Share = d[measure] / total * 100; });\\n });\\n return data;\\n },\\n groupBy: [(groupby + \\" ID\\")],\\n groupPadding: 15,\\n label: function (d) { return String(d[groupby]); },\\n legendSort: function (a,b) { return a[(groupby + \\" ID\\")] - b[(groupby + \\" ID\\")]; },\\n legendConfig: {\\n label: optionSelected !== \\"ageOption\\" ? function (d) { return d.Gender; } : function (d) { return d.Age; },\\n shapeConfig: {\\n backgroundImage: optionSelected !== \\"ageOption\\" ? function (d) { return iconGender[d.Gender]; } : false\\n }\\n },\\n /*shapeConfig: {\\n fill: \\"D3PLUS-COMMON-RESET\\"\\n },*/\\n time: \\"Year\\",\\n tooltipConfig: {\\n tbody: [\\n [\\"Year\\", function (d) { return d.Year; }],\\n [\\"Coverage\\", function (d) { return commas(d[measure]); }],\\n [\\"Coverage Share\\", function (d) { return growthPct(d[\\"Share\\"]); }]\\n ]\\n },\\n type: \\"BarChart\\",\\n x: drilldown,\\n xSort: function (a, b) { return a[(groupby + \\" ID\\")] - b[(groupby + \\" ID\\")]; },\\n xConfig: {\\n title: \\"\\"\\n },\\n y: \\"Share\\",\\n yConfig: {\\n title: \\"\\",\\n tickFormat: function (d) { return growthPct(d); }\\n }\\n};\\n\\nif(optionSelected === \\"ageOption\\"){\\n config.shapeConfig = {\\n fill: function (d) { return ageColor[d[\\"Age ID\\"]]; },\\n label: false\\n }\\n}\\n\\nreturn config;","section_id":223,"allowed":"always","logic_simple":{"type":"Treemap","data":[""]},"simple":false,"ordering":0}],"stats":[],"descriptions":[{"id":434,"section_id":223,"allowed":"always","ordering":0,"description":" In 2024, insured persons according to age ranges were distributed in 29.6% under 18 years, 12.7% between 18 and 34 years, 47.2% between 35 and 64 years, and 10.5% over 64 years. "},{"id":435,"section_id":223,"allowed":"always","ordering":1,"description":" By gender, of the total number of insured persons, 51.8% were men and 48.2% were women. "},{"id":436,"section_id":223,"allowed":"always","ordering":2,"description":" The following chart shows the number of people with health coverage by gender. "}],"title":" Health Care Diversity ","short":"","section":"health"},{"id":40,"slug":"uninsured_people","profile_id":1,"type":"TextViz","ordering":21,"allowed":"insuranceYearCurr","position":"default","icon":"","selectors":[],"subtitles":[],"visualizations":[{"id":401,"logic":"\\nvar obj, obj$1;\\nvar ref = libs.d3;\\nvar nest = ref.nest;\\nvar sum = ref.sum;\\nvar colorKaiser = variables.colorKaiser;\\nvar id = variables.id;\\nvar isDistrict = variables.isDistrict;\\nvar hierarchy = variables.hierarchy;\\nvar tesseract = variables.tesseract;\\nvar abbreviate = formatters.abbreviate;\\n\\nvar key = \\"Kaiser Coverage\\";\\nvar measure = \\"Health Insurance Policies\\";\\n\\nreturn ( obj$1 = {\\n aggs: ( obj = {}, obj[(key + \\" ID\\")] = function (arr, acc) { return acc(arr[0]); }, obj ),\\n baseline: 0,\\n data: (tesseract + \\"tesseract/data?cube=acs_ygh_health_care_coverage_overall_5&include=\\" + hierarchy + \\":\\" + id + \\"&drilldowns=Year,Kaiser+Coverage&measures=Health+Insurance+Policies\\"),\\n dataFormat: function (resp) {\\n nest()\\n .key(function (d) { return d.Year; })\\n .entries(resp.data)\\n .forEach(function (group) {\\n var values = group.values;\\n var total = sum(values, function (d) { return d[measure]; });\\n values.forEach(function (d) { return d.share = d[measure] / total * 100; });\\n });\\n return resp.data;\\n },\\n discrete: isDistrict ? \\"y\\" : \\"x\\",\\n groupBy: key,\\n label: function (d) { return d[(key + \\" ID\\")] === 3 ? \\"Military or VA\\" : d[(key + \\" ID\\")] === 4 ? \\"Non-Group\\" : d[key]; },\\n legendTooltip: {\\n tbody: []\\n },\\n legend: !isDistrict,\\n lineLabels: true,\\n shapeConfig: {\\n Line: {\\n labelConfig: {\\n fontColor: function (d) { return colorKaiser[d[(key + \\" ID\\")]]; },\\n fontFamily: function () { return [\\"Pathway Gothic One\\", \\"Arial Narrow\\", \\"sans-serif\\"]; },\\n fontSize: function () { return 12; },\\n fontStroke: \\"#E9E9E9\\",\\n fontStrokeWidth: 0.1\\n },\\n stroke: function (d) { return colorKaiser[d[(key + \\" ID\\")]]; }\\n }\\n },\\n tooltipConfig: {\\n tbody: [\\n [\\"Year\\", function (d) { return d.Year; }],\\n [\\"Coverage\\", function (d) { return ((abbreviate(d.share)) + \\"%\\"); }]\\n ]\\n },\\n type: isDistrict ? \\"BarChart\\" : \\"LinePlot\\",\\n y: isDistrict ? key : \\"share\\"\\n}, obj$1[((isDistrict ? \\"x\\" : \\"y\\") + \\"Config\\")] = {\\n tickFormat: function (d) { return ((abbreviate(d)) + \\"%\\"); },\\n title: \\"Spending Value\\"\\n }, obj$1.x = isDistrict ? \\"share\\" : \\"Year\\", obj$1 )","section_id":40,"allowed":"always","logic_simple":{"type":"Treemap","data":[""]},"simple":false,"ordering":0}],"stats":[{"id":84,"section_id":40,"allowed":"always","ordering":0,"title":" Uninsured ","subtitle":"","value":" 2.91% ","tooltip":"New Tooltip"},{"id":85,"section_id":40,"allowed":"always","ordering":1,"title":" Employer Coverage ","subtitle":"","value":" 75% ","tooltip":"New Tooltip"},{"id":86,"section_id":40,"allowed":"always","ordering":2,"title":" Medicaid ","subtitle":"","value":" 2.33% ","tooltip":"New Tooltip"},{"id":87,"section_id":40,"allowed":"always","ordering":3,"title":" Medicare ","subtitle":"","value":" 8.37% ","tooltip":"New Tooltip"},{"id":88,"section_id":40,"allowed":"always","ordering":4,"title":" Non-Group ","subtitle":"","value":" 10.3% ","tooltip":"New Tooltip"},{"id":89,"section_id":40,"allowed":"always","ordering":5,"title":" Military or VA ","subtitle":"","value":" 1.08% ","tooltip":"New Tooltip"}],"descriptions":[{"id":97,"section_id":40,"allowed":"acsMultiYear","ordering":0,"description":" Between 2023 and 2024, the percent of uninsured citizens in Milton, GA declined by 42.7% from 5.08% to 2.91%. "},{"id":98,"section_id":40,"allowed":"always","ordering":1,"description":" The following chart shows how the percent of uninsured individuals in Milton, GA changed over time compared with the percent of individuals enrolled in various types of health insurance. "}],"title":" Uninsured People ","short":"","section":"health"},{"id":15,"slug":"economy","profile_id":1,"type":"Grouping","ordering":26,"allowed":"visibleEconomy","position":"default","icon":"briefcase","selectors":[],"subtitles":[],"visualizations":[],"stats":[],"descriptions":[{"id":42,"section_id":15,"allowed":"textEconomyAbout","ordering":1,"description":" The economy of Milton, GA employs 22.1k people. In 2024, the largest industries in Milton, GA were Professional, Scientific, & Technical Services (4,870 people), Retail Trade (2,769 people), and Finance & Insurance (2,318 people), and the highest paying industries were Management of Companies & Enterprises ($250,001), Wholesale Trade ($166,633), and Manufacturing ($158,125). "}],"title":" Economy ","short":""},{"id":203,"slug":"employment","profile_id":1,"type":"SubGrouping","ordering":27,"allowed":"visibleEmploymentSection","position":"default","icon":"","selectors":[],"subtitles":[],"visualizations":[],"stats":[],"descriptions":[],"title":" Employment ","short":"","section":"economy"},{"id":23,"slug":"occupations","profile_id":1,"type":"TextViz","ordering":30,"allowed":"visibleOccupation","position":"default","icon":"","selectors":[{"id":37,"options":[{"option":"sex0","allowed":"always"},{"option":"sex1","allowed":"always"},{"option":"sex2","allowed":"always"}],"default":"sex0","profile_id":1,"title":"","name":"genderOccupations","type":"single","dynamic":"","section_selector":{"id":41,"section_id":23,"selector_id":37,"ordering":0}},{"id":38,"options":[{"option":"workforce","allowed":"always"},{"option":"wage","allowed":"always"}],"default":"workforce","profile_id":1,"title":"","name":"measureOccupations","type":"single","dynamic":"","section_selector":{"id":42,"section_id":23,"selector_id":38,"ordering":1}},{"id":39,"options":[{"option":"value","allowed":"always"},{"option":"growth","allowed":"always"}],"default":"value","profile_id":1,"title":"","name":"growthOccupations","type":"single","dynamic":"","section_selector":{"id":43,"section_id":23,"selector_id":39,"ordering":2}}],"subtitles":[],"visualizations":[{"id":386,"logic":"var tesseract = variables.tesseract;\\nvar colorOccACS = variables.colorOccACS;\\nvar colorOccPUMS = variables.colorOccPUMS;\\nvar iconOccACS = variables.iconOccACS;\\nvar iconOccPUMS = variables.iconOccPUMS;\\nvar id = variables.id;\\nvar useAcs = variables.useAcs;\\nvar hierarchy = variables.hierarchy;\\nvar colorScaleDiverging = variables.colorScaleDiverging;\\nvar colorScaleGood = variables.colorScaleGood;\\nvar abbreviate = formatters.abbreviate;\\nvar commas = formatters.commas;\\nvar salary = formatters.salary;\\nvar dollar = formatters.dollar;\\nvar ref = libs.d3;\\nvar sum = ref.sum;\\nvar nest = ref.nest;\\n\\nvar sexId = \\"sex0\\".replace(\\"sex\\", \\"\\") //sex0, sex1, sex2\\nvar sex = sexId*1 === 0 ? \\"\\" : (\\"&Gender=\\" + sexId)\\nvar sex_ = sexId*1 === 0 ? \\"\\" : sexId*1 === 1 ? \\"&Gender=0\\" : \\"&Gender=1\\" \\n\\nvar measure = \\"workforce\\" // workforce, wage\\nvar growth = \\"value\\" // value, growth\\n\\nvar drilldown = useAcs ? \\"Occupation\\" : \\"Detailed Occupation\\";\\nvar parent_ = useAcs ? \\"Group\\" : \\"Major Occupation Group\\";\\n\\nvar color = useAcs ? colorOccACS : colorOccPUMS;\\nvar icon = useAcs ? iconOccACS : iconOccPUMS;\\n\\nvar tbody = useAcs ? [\\n [\\"Year\\", function (d) { return d.Year; }],\\n [\\"People in Workforce\\", function (d) { return commas(d[\\"Workforce by Occupation and Gender\\"]); }],\\n [\\"Margin of Error\\", function (d) { return (\\"\xB1 \\" + (commas(d[\\"Workforce by Occupation and Gender Moe\\"]))); }],\\n [\\"Workforce Growth\\", function (d) { return ((abbreviate(d[\\"Workforce Growth\\"])) + \\"%\\"); }],\\n [\\"Median Earnings\\", function (d) { return salary(d[\\"Median Earnings\\"]); }],\\n [\\"Margin of Error\\", function (d) { return (\\"\xB1 \\" + (salary(d[\\"Median Earnings Moe\\"]))); }],\\n [\\"Median Earnings Growth\\", function (d) { return ((abbreviate(d[\\"Median Earnings Growth\\"])) + \\"%\\"); }] ] :\\n [\\n [\\"Year\\", function (d) { return d.Year; }],\\n [\\"People in Workforce\\", function (d) { return commas(d[\\"Total Population\\"]); }],\\n [\\"Margin of Error\\", function (d) { return (\\"\xB1 \\" + (commas(d[\\"Total Population MOE Appx\\"]))); }],\\n [\\"Workforce Growth\\", function (d) { return ((abbreviate(d[\\"Workforce Growth\\"])) + \\"%\\"); }],\\n [\\"Average Salary\\", function (d) { return salary(d[\\"Average Wage\\"]); }],\\n [\\"Margin of Error\\", function (d) { return (\\"\xB1 \\" + (salary(d[\\"Average Wage Appx MOE\\"]))); }],\\n [\\"Average Wage Growth\\", function (d) { return ((abbreviate(d[\\"Average Wage Growth\\"])) + \\"%\\"); }] ];\\n\\nvar pumsData = \\"\\"\\nvar workforceData = \\"\\"\\nvar wageData = \\"\\"\\nvar moeData = \\"\\"\\nif (useAcs) {\\n workforceData = tesseract + \\"tesseract/data?cube=acs_ygso_gender_by_occupation_c_5&include=\\" + hierarchy + \\":\\" + id + \\"&measures=Workforce by Occupation and Gender,Workforce by Occupation and Gender Moe,ACS Occupation yg RCA&drilldowns=Year,Occupation&parents=true&debug=true\\" + sex_;\\n wageData = tesseract + \\"tesseract/data?cube=acs_ygso_gender_by_occupation_for_median_earnings_5&include=\\" + hierarchy + \\":\\" + id + \\"&measures=Median+Earnings+by+Occupation+and+Gender%3A+Occupation%2CMedian+Earnings+by+Occupation+and+Gender+Moe%3A+Occupation&drilldowns=Year,Occupation&parents=false&debug=true\\" + sex;\\n}\\nelse {\\n pumsData = tesseract + \\"tesseract/data?cube=pums_5&include=\\" + hierarchy + \\":\\" + id + \\"&measures=Total Population,Average Wage,Average Wage Appx MOE,Record Count&drilldowns=Year,Detailed Occupation&parents=true&debug=true&Workforce+Status=true\\" + sex\\n moeData = tesseract + \\"calcs/pums.jsonrecords?cube=pums_5&include=\\" + hierarchy + \\":\\" + id + \\";Workforce+Status:true&drilldowns=Year,Detailed Occupation&measures=Total+Population+MOE+Appx&locale=en&parents=false\\" + sex\\n}\\n\\nvar varColorScale = measure === \\"wage\\" && useAcs ? \\"Median Earnings Growth\\" : measure === \\"wage\\" && !useAcs ? \\"Average Wage Growth\\" : \\"Workforce Growth\\"\\nvar colorWage = useAcs ? \\"Median Earnings\\" : \\"Average Wage\\"\\n\\nvar config = {\\n colorScale: growth === \\"growth\\" ? varColorScale : measure === \\"workforce\\" ? false : colorWage,\\n colorScaleConfig: {\\n scale: \\"linear\\",\\n axisConfig: {\\n tickFormat: function (d) { return growth === \\"growth\\" ? ((abbreviate(d)) + \\"%\\") : measure === \\"workforce\\" ? commas(d) : salary(d); },\\n }\\n },\\n groupBy: [(parent_ + \\" ID\\"), drilldown],\\n label: function (d) { return String(d[drilldown]); },\\n legendConfig: {\\n label: false,\\n shapeConfig: {\\n backgroundImage: function (d) { return icon[d[(parent_ + \\" ID\\")]]; }\\n }\\n },\\n sum: useAcs ? function (d) { return d[\\"Workforce by Occupation and Gender\\"]; } : function (d) { return d[\\"Total Population\\"]; },\\n threshold: 0,\\n time: \\"Year\\",\\n tooltipConfig: {tbody: tbody},\\n type: \\"Treemap\\"\\n}\\n\\nif (useAcs) {\\n config.data = [workforceData, wageData],\\n config.dataFormat = function (resp) {\\n var dataWorkforce= resp[0].data.filter(function (d) { return d[\\"Occupation ID\\"] !== \\"\\"; }).map(function (d) { return Object.assign({}, d); });\\n var dataWage = resp[1].data.filter(function (d) { return d[\\"Occupation ID\\"] !== \\"\\"; }).map(function (d) { return Object.assign({}, d); });\\n \\n var occupationIdMap = {};\\n dataWorkforce.forEach(function (item) {\\n occupationIdMap[item.Occupation] = item[\\"Occupation ID\\"];\\n });\\n \\n var cleanedDataWage = dataWage\\n .filter(function (item) { return occupationIdMap.hasOwnProperty(item.Occupation); })\\n .map(function (item) { return ({\\n \\"Occupation ID\\": occupationIdMap[item.Occupation],\\n \\"Occupation\\": item.Occupation,\\n \\"Year\\": item.Year,\\n \\"Median Earnings by Occupation and Gender: Occupation\\": item[\\"Median Earnings by Occupation and Gender: Occupation\\"],\\n \\"Median Earnings by Occupation and Gender Moe: Occupation\\": item[\\"Median Earnings by Occupation and Gender Moe: Occupation\\"]\\n }); });\\n\\n dataWorkforce.forEach(function (d) {\\n var s = cleanedDataWage.find(function (h) { return (h[\\"Year\\"]*1 === d[\\"Year\\"]*1) && (h[\\"Occupation ID\\"]*1 === d[\\"Occupation ID\\"]*1); }) || {};\\n d[\\"Median Earnings\\"] = s[\\"Median Earnings by Occupation and Gender: Occupation\\"];\\n d[\\"Median Earnings Moe\\"] = s[\\"Median Earnings by Occupation and Gender Moe: Occupation\\"]\\n });\\n\\n var tempData = dataWorkforce.slice()\\n \\n dataWorkforce.forEach(function (d) {\\n var s = tempData.find(function (h) { return (h[\\"Year\\"]*1 === d[\\"Year\\"]*1- 1) && (h[\\"Occupation ID\\"] === d[\\"Occupation ID\\"]); }) || {};\\n d[\\"Workforce Prev\\"] = s[\\"Workforce by Occupation and Gender\\"];\\n d[\\"Workforce Growth\\"] = ((d[\\"Workforce by Occupation and Gender\\"] - d[\\"Workforce Prev\\"]) / d[\\"Workforce Prev\\"])*100\\n d[\\"Median Earnings Prev\\"] = s[\\"Median Earnings\\"];\\n d[\\"Median Earnings Growth\\"] = ((d[\\"Median Earnings\\"] - d[\\"Median Earnings Prev\\"]) / d[\\"Median Earnings Prev\\"])*100\\n });\\n\\n nest()\\n .key(function (d) { return d[\\"Year\\"]; })\\n .entries(dataWorkforce)\\n .forEach(function (group) {\\n var total = sum(group.values, function (d) { return d[\\"Workforce by Occupation and Gender\\"]; }) \\n group.values.forEach(function (d) {\\n d[\\"Share\\"] = (d[\\"Workforce by Occupation and Gender\\"] / total) * 100\\n });\\n });\\n\\n if(growth === \\"value\\"){\\n return dataWorkforce.filter(function (d) { return d[\\"Median Earnings\\"] >= 0 && d[\\"Workforce by Occupation and Gender\\"] >= 0; })\\n }\\n else {\\n return dataWorkforce.filter(function (d) { return d[\\"Year\\"] !== 2013 && d[\\"Median Earnings\\"] && d[\\"Workforce by Occupation and Gender\\"]; })\\n }\\n }\\n}\\nelse {\\n config.data = [pumsData, moeData],\\n config.dataFormat = function (resp) {\\n var dataWorkforce = resp[0].data.map(function (d) { return Object.assign({}, d); });\\n var moe = resp[1].data.map(function (d) { return Object.assign({}, d); });\\n\\n var tempData = dataWorkforce.slice()\\n\\n dataWorkforce.forEach(function (d) {\\n var s = tempData.find(function (h) { return (h[\\"Year\\"]*1 === d[\\"Year\\"]*1- 1) && (h[\\"Detailed Occupation ID\\"] === d[\\"Detailed Occupation ID\\"]); }) || {};\\n d[\\"Workforce Prev\\"] = s[\\"Total Population\\"];\\n d[\\"Workforce Growth\\"] = ((d[\\"Total Population\\"] - d[\\"Workforce Prev\\"]) / d[\\"Workforce Prev\\"])*100\\n d[\\"Wage Prev\\"] = s[\\"Average Wage\\"];\\n d[\\"Average Wage Growth\\"] = ((d[\\"Average Wage\\"] - d[\\"Wage Prev\\"]) / d[\\"Wage Prev\\"])*100\\n });\\n\\n nest()\\n .key(function (d) { return d[\\"Year\\"]; })\\n .entries(dataWorkforce)\\n .forEach(function (group) {\\n var total = sum(group.values, function (d) { return d[\\"Total Population\\"]; }) \\n group.values.forEach(function (d) {\\n d[\\"Share\\"] = (d[\\"Total Population\\"] / total) * 100\\n });\\n });\\n \\n dataWorkforce.forEach(function (d) {\\n var s = moe.find(function (h) { return (h[\\"Year\\"]*1 === d[\\"Year\\"]*1- 1) && (h[\\"Detailed Occupation ID\\"] === d[\\"Detailed Occupation ID\\"]); }) || {};\\n d[\\"Total Population MOE Appx\\"] = s[\\"Total Population MOE Appx\\"];\\n });\\n\\n if(growth === \\"value\\"){\\n return dataWorkforce.filter(function (d) { return d[\\"Average Wage\\"]; })\\n }\\n else {\\n return dataWorkforce.filter(function (d) { return d[\\"Year\\"]*1 !== 2013 && d[\\"Average Wage\\"]; })\\n }\\n }\\n}\\n\\nif(growth !== \\"growth\\"){\\n config.shapeConfig = {\\n label: function (d, i, x) { return measure === \\"workforce\\" ? [d[drilldown], ((abbreviate(d.Share)) + \\"%\\")] : [d[drilldown], salary(d[colorWage])]; }\\n }\\n if (measure === \\"workforce\\"){\\n config.shapeConfig.fill = function (d) { return color[d[(parent_ + \\" ID\\")]]; }\\n } else {\\n config.shapeConfig.fill = \\"D3PLUS-COMMON-RESET\\",\\n config.colorScaleConfig.color = colorScaleGood,\\n config.colorScaleConfig.colorMin = \\"#b0cde1\\",\\n config.colorScaleConfig.colorMid = \\"#4c96cb\\",\\n config.colorScaleConfig.colorMax = \\"#142E58\\"\\n config.colorScaleConfig.domain = false\\n }\\n} else {\\n config.shapeConfig = {\\n label: function (d, i, x) { return [d[drilldown], ((abbreviate(d[varColorScale])) + \\"%\\")]; }\\n },\\n config.total = false,\\n config.shapeConfig.fill = \\"D3PLUS-COMMON-RESET\\",\\n config.colorScaleConfig.midpoint = 0,\\n config.colorScaleConfig.color = colorScaleDiverging,\\n config.colorScaleConfig.colorMin = \\"#7B0000\\",\\n config.colorScaleConfig.colorMid = \\"#DC9595\\",\\n config.colorScaleConfig.colorMax = \\"#004374\\",\\n config.colorScaleConfig.domain = [-20, 20]\\n}\\n\\nreturn config;","section_id":23,"allowed":"always","logic_simple":{"type":"Treemap","data":[""]},"simple":false,"ordering":0}],"stats":[{"id":57,"section_id":23,"allowed":"useAcs","ordering":0,"title":" 2024 Value ","subtitle":" \xB1 1,644 ","value":" 22.1k ","tooltip":"New Tooltip"},{"id":56,"section_id":23,"allowed":"empGrowth","ordering":2,"title":" 1 Year decline ","subtitle":" \xB1 10.8% ","value":" \u22120.0633% ","tooltip":" New Tooltip "}],"descriptions":[{"id":63,"section_id":23,"allowed":"acsMultiYear","ordering":0,"description":" From 2023 to 2024, employment in Milton, GA declined at a rate of \u22120.0633%, from 22.1k employees to 22.1k employees. "},{"id":64,"section_id":23,"allowed":"always","ordering":2,"description":" The most common job groups, by number of people living in Milton, GA, are Management Occupations (5,357 people), Sales & Related Occupations (3,402 people), and Computer & Mathematical Occupations (2,455 people). This chart illustrates the share breakdown of the primary jobs held by residents of Milton, GA. "}],"title":" Occupations ","short":"","section":"economy"},{"id":5,"slug":"covid-unemployment","profile_id":1,"type":"Default","ordering":31,"allowed":"visibleUnemployment","position":"default","icon":"","selectors":[],"subtitles":[{"id":2,"section_id":5,"allowed":"isNotNationState","ordering":0,"subtitle":" Data is only available at the state level. Showing data for Georgia. "}],"visualizations":[{"id":3,"logic":"var colorGrey = variables.colorGrey;\\nvar colorHighlight = variables.colorHighlight;\\nvar covidGeoName = variables.covidGeoName;\\nvar covidGeoIDs = variables.covidGeoIDs;\\nvar id = variables.id;\\nvar stateNeighbors = variables.stateNeighbors;\\nvar stateDataID = variables.stateDataID;\\nvar ref = libs.d3;\\nvar nest = ref.nest;\\nvar max = ref.max;\\nvar range = ref.range;\\nvar sum = ref.sum;\\nvar timeFormat = ref.timeFormat;\\nvar abbreviate = formatters.abbreviate;\\n\\nvar suffixes = [\\"th\\", \\"st\\", \\"nd\\", \\"rd\\"];\\nfunction suffix(number) {\\n var tail = number % 100;\\n return suffixes[(tail 13) && tail % 10] || suffixes[0];\\n}\\n\\nvar d3WeekFormat = timeFormat(\\"%B %d, %Y\\");\\nvar weekFormat = function (d) { return d3WeekFormat(d).replace(/\\\\s[0-9]{2}\\\\,/, function (m) {\\n var n = parseFloat(m, 10);\\n return (\\" \\" + n + (suffix(n)) + \\",\\");\\n}); };\\n\\nvar scaleName = \\"Logarithmic\\";\\nvar scale = \\"log\\";\\n\\nvar cutoffDate = new Date(\\"2018/01/01\\").getTime();\\n\\nvar highlightIDs = [stateNeighbors] || [\\"01000US\\"];\\nvar highli
