{"quoteSummary":{"result":[{"quoteUnadjustedPerformanceOverview":{"maxAge":1,"benchmark":{"symbol":"^GSPC","shortName":"S&P 500"},"performanceOverview":{"asOfDate":{"raw":1774569600,"fmt":"2026-03-27"},"fiveDaysReturn":{"raw":0.051441666,"fmt":"5.14%"},"oneMonthReturn":{"raw":-0.15217961,"fmt":"-15.22%"},"threeMonthReturn":{"raw":-0.10313021,"fmt":"-10.31%"},"sixMonthReturn":{"raw":-0.08679566,"fmt":"-8.68%"},"ytdReturnPct":{"raw":-0.09067726,"fmt":"-9.07%"},"oneYearTotalReturn":{"raw":0.32932895,"fmt":"32.93%"},"twoYearTotalReturn":{"raw":0.06434496,"fmt":"6.43%"},"threeYearTotalReturn":{"raw":1.1522468,"fmt":"115.22%"},"fiveYearTotalReturn":{"raw":1.3474762,"fmt":"134.75%"},"tenYearTotalReturn":{"raw":1.8050702,"fmt":"180.51%"},"maxReturn":{"raw":17.670546,"fmt":"1,767.05%"}},"performanceOverviewBenchmark":{"asOfDate":{"raw":1774569600,"fmt":"2026-03-27"},"fiveDaysReturn":{"raw":-0.02115274,"fmt":"-2.12%"},"oneMonthReturn":{"raw":-0.074144304,"fmt":"-7.41%"},"threeMonthReturn":{"raw":-0.08096605,"fmt":"-8.10%"},"sixMonthReturn":{"raw":-0.041370034,"fmt":"-4.14%"},"ytdReturnPct":{"raw":-0.06962967,"fmt":"-6.96%"},"oneYearTotalReturn":{"raw":0.118655056,"fmt":"11.87%"},"twoYearTotalReturn":{"raw":0.21346326,"fmt":"21.35%"},"threeYearTotalReturn":{"raw":0.6012073,"fmt":"60.12%"},"fiveYearTotalReturn":{"raw":0.60241187,"fmt":"60.24%"},"tenYearTotalReturn":{"raw":2.1282113,"fmt":"212.82%"},"maxReturn":{"raw":359.63702,"fmt":"35,963.70%"}}},"defaultKeyStatistics":{"maxAge":1,"priceHint":{"raw":2,"fmt":"2","longFmt":"2"},"enterpriseValue":{"raw":396587296,"fmt":"396.59M","longFmt":"396,587,296"},"forwardPE":{"raw":20.837664,"fmt":"20.84"},"profitMargins":{"raw":0.13884,"fmt":"13.88%"},"floatShares":{"raw":14946970,"fmt":"14.95M","longFmt":"14,946,970"},"sharesOutstanding":{"raw":15964209,"fmt":"15.96M","longFmt":"15,964,209"},"sharesShort":{"raw":490192,"fmt":"490.19k","longFmt":"490,192"},"sharesShortPriorMonth":{"raw":515895,"fmt":"515.89k","longFmt":"515,895"},"sharesShortPreviousMonthDate":{"raw":1770940800,"fmt":"2026-02-13"},"dateShortInterest":{"raw":1773360000,"fmt":"2026-03-13"},"sharesPercentSharesOut":{"raw":0.0307,"fmt":"3.07%"},"heldPercentInsiders":{"raw":0.05789,"fmt":"5.79%"},"heldPercentInstitutions":{"raw":0.68015,"fmt":"68.01%"},"shortRatio":{"raw":5.03,"fmt":"5.03"},"shortPercentOfFloat":{"raw":0.0327,"fmt":"3.27%"},"beta":{"raw":0.498,"fmt":"0.5"},"impliedSharesOutstanding":{"raw":15964209,"fmt":"15.96M","longFmt":"15,964,209"},"morningStarOverallRating":{},"morningStarRiskRating":{},"category":null,"bookValue":{"raw":13.899,"fmt":"13.90"},"priceToBook":{"raw":2.3087993,"fmt":"2.31"},"annualReportExpenseRatio":{},"ytdReturn":{},"qtdReturn":{},"beta3Year":{},"totalAssets":{},"yield":{},"fundFamily":null,"fundInceptionDate":{},"legalType":null,"threeYearAverageReturn":{},"fiveYearAverageReturn":{},"priceToSalesTrailing12Months":{},"lastFiscalYearEnd":{"raw":1767139200,"fmt":"2025-12-31"},"nextFiscalYearEnd":{"raw":1798675200,"fmt":"2026-12-31"},"mostRecentQuarter":{"raw":1767139200,"fmt":"2025-12-31"},"earningsQuarterlyGrowth":{"raw":1.0,"fmt":"100.00%"},"revenueQuarterlyGrowth":{},"netIncomeToCommon":{"raw":18604736,"fmt":"18.6M","longFmt":"18,604,736"},"trailingEps":{"raw":1.16,"fmt":"1.16"},"forwardEps":{"raw":1.54,"fmt":"1.54"},"pegRatio":{},"lastSplitFactor":"2:1","lastSplitDate":{"raw":1124928000,"fmt":"2005-08-25"},"enterpriseToRevenue":{"raw":3.003,"fmt":"3.00"},"enterpriseToEbitda":{"raw":15.759,"fmt":"15.76"},"52WeekChange":{"raw":0.28397143,"fmt":"28.40%"},"SandP52WeekChange":{"raw":0.12811458,"fmt":"12.81%"},"lastDividendValue":{"raw":0.14,"fmt":"0.14"},"lastDividendDate":{"raw":1767312000,"fmt":"2026-01-02"},"lastCapGain":{},"annualHoldingsTurnover":{},"latestFundingDate":{},"latestAmountRaised":{},"latestImpliedValuation":{},"latestShareClass":null,"leadInvestor":null,"fundingToDate":{},"totalFundingRounds":{}},"financialsTemplate":{"code":"U","maxAge":1},"earningsGaap":{"maxAge":86400,"earningsChart":{"quarterly":[{"date":"1Q2025","actual":{"raw":0.3,"fmt":"0.30"},"estimate":{"raw":0.19,"fmt":"0.19"},"fiscalQuarter":"1Q2025","calendarQuarter":"1Q2025","difference":"0.11","surprisePct":"57.89","periodEndDate":{"raw":1743379200,"fmt":"2025-03-31"},"reportedDate":{"raw":1747081677,"fmt":"2025-05-12"}},{"date":"2Q2025","actual":{"raw":0.32,"fmt":"0.32"},"estimate":{"raw":0.2,"fmt":"0.20"},"fiscalQuarter":"2Q2025","calendarQuarter":"2Q2025","difference":"0.12","surprisePct":"60.0","periodEndDate":{"raw":1751241600,"fmt":"2025-06-30"},"reportedDate":{"raw":1754945144,"fmt":"2025-08-11"}},{"date":"3Q2025","actual":{"raw":0.34,"fmt":"0.34"},"estimate":{"raw":0.23,"fmt":"0.23"},"fiscalQuarter":"3Q2025","calendarQuarter":"3Q2025","difference":"0.11","surprisePct":"47.83","periodEndDate":{"raw":1759190400,"fmt":"2025-09-30"},"reportedDate":{"raw":1762809000,"fmt":"2025-11-10"}},{"date":"4Q2025","actual":{"raw":0.75,"fmt":"0.75"},"estimate":{"raw":0.28,"fmt":"0.28"},"fiscalQuarter":"4Q2025","calendarQuarter":"4Q2025","difference":"0.47","surprisePct":"167.86","periodEndDate":{"raw":1767139200,"fmt":"2025-12-31"},"reportedDate":{"raw":1773695707,"fmt":"2026-03-16"}}],"currentQuarterEstimate":{"raw":0.26,"fmt":"0.26"},"currentQuarterEstimateDate":"1Q","currentCalendarQuarter":"1Q2026","currentQuarterEstimateYear":2026,"currentFiscalQuarter":"1Q2026","currentPeriodEndDate":{"raw":1774915200,"fmt":"2026-03-31"},"earningsDate":[{"raw":1778529600,"fmt":"2026-05-11"}],"isEarningsDateEstimate":true},"financialsChart":{"yearly":[{"date":2022,"revenue":{"raw":94104970,"fmt":"94.1M","longFmt":"94,104,970"},"earnings":{"raw":5844760,"fmt":"5.84M","longFmt":"5,844,760"}},{"date":2023,"revenue":{"raw":180211230,"fmt":"180.21M","longFmt":"180,211,230"},"earnings":{"raw":29585390,"fmt":"29.59M","longFmt":"29,585,390"}},{"date":2024,"revenue":{"raw":133966630,"fmt":"133.97M","longFmt":"133,966,630"},"earnings":{"raw":28237550,"fmt":"28.24M","longFmt":"28,237,550"}},{"date":2025,"revenue":{"raw":132073370,"fmt":"132.07M","longFmt":"132,073,370"},"earnings":{"raw":18336670,"fmt":"18.34M","longFmt":"18,336,670"}}],"quarterly":[{"date":"1Q2025","fiscalQuarter":"1Q2025","revenue":{"raw":33715390,"fmt":"33.72M","longFmt":"33,715,390"},"earnings":{"raw":4791030,"fmt":"4.79M","longFmt":"4,791,030"}},{"date":"2Q2025","fiscalQuarter":"2Q2025","revenue":{"raw":33591080,"fmt":"33.59M","longFmt":"33,591,080"},"earnings":{"raw":5096210,"fmt":"5.1M","longFmt":"5,096,210"}},{"date":"3Q2025","fiscalQuarter":"3Q2025","revenue":{"raw":35118710,"fmt":"35.12M","longFmt":"35,118,710"},"earnings":{"raw":5532340,"fmt":"5.53M","longFmt":"5,532,340"}},{"date":"4Q2025","fiscalQuarter":"4Q2025","revenue":{"raw":29648200,"fmt":"29.65M","longFmt":"29,648,200"},"earnings":{"raw":2917100,"fmt":"2.92M","longFmt":"2,917,100"}}]},"financialCurrency":"USD","defaultMethodology":"nongaap"},"earningsCallTranscripts":{"transcripts":[{"title":"CWCO Q4 FY2025 earnings call transcript","fiscalYear":2025,"fiscalPeriod":"Q4","date":1773759600,"updated":1773768010,"transcriptId":3101561,"type":"IN_HOUSE","eventId":409909,"eventType":"Earnings call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q4-2025-earnings_call-409909.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2026/3/17/3101561.json","maxAge":1},{"title":"CWCO Q3 FY2025 earnings call transcript","fiscalYear":2025,"fiscalPeriod":"Q3","date":1762876800,"updated":1763406976,"transcriptId":2299753,"type":"IN_HOUSE","eventId":374196,"eventType":"Earnings Call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q3-2025-earnings_call-374196.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2025/11/11/2299753.json","maxAge":1},{"title":"CWCO Q2 FY2025 earnings call transcript","fiscalYear":2025,"fiscalPeriod":"Q2","date":1755010800,"updated":1763943493,"transcriptId":2325261,"type":"IN_HOUSE","eventId":345999,"eventType":"Earnings Call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q2-2025-earnings_call-345999.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2025/8/12/2325261.json","maxAge":1},{"title":"CWCO Q1 FY2025 earnings call transcript","fiscalYear":2025,"fiscalPeriod":"Q1","date":1747148400,"updated":1764170167,"transcriptId":2342026,"type":"IN_HOUSE","eventId":328444,"eventType":"Earnings Call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q1-2025-earnings_call-328444.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2025/5/13/2342026.json","maxAge":1},{"title":"CWCO Q4 FY2024 earnings call transcript","fiscalYear":2024,"fiscalPeriod":"Q4","date":1742310000,"updated":1766789130,"transcriptId":2541427,"type":"IN_HOUSE","eventId":253331,"eventType":"Earnings Call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q4-2024-earnings_call-253331.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2025/3/18/2541427.json","maxAge":1},{"title":"CWCO Q3 FY2024 earnings call transcript","fiscalYear":2024,"fiscalPeriod":"Q3","date":1731686400,"updated":1768361156,"transcriptId":2594176,"type":"IN_HOUSE","eventId":222231,"eventType":"Earnings call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q3-2024-earnings_call-222231.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2024/11/15/2594176.json","maxAge":1},{"title":"CWCO Q2 FY2024 earnings call transcript","fiscalYear":2024,"fiscalPeriod":"Q2","date":1723734000,"updated":1772062775,"transcriptId":2715068,"type":"IN_HOUSE","eventId":195323,"eventType":"Earnings call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q2-2024-earnings_call-195323.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2024/8/15/2715068.json","maxAge":1},{"title":"CWCO Q1 FY2024 earnings call transcript","fiscalYear":2024,"fiscalPeriod":"Q1","date":1715871600,"updated":1772061272,"transcriptId":2710811,"type":"IN_HOUSE","eventId":179998,"eventType":"Earnings call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q1-2024-earnings_call-179998.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2024/5/16/2710811.json","maxAge":1},{"title":"CWCO Q4 FY2023 earnings call transcript","fiscalYear":2023,"fiscalPeriod":"Q4","date":1711638000,"updated":1772062722,"transcriptId":2768094,"type":"IN_HOUSE","eventId":124791,"eventType":"Earnings call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q4-2023-earnings_call-124791.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2024/3/28/2768094.json","maxAge":1},{"title":"CWCO Q3 FY2023 earnings call transcript","fiscalYear":2023,"fiscalPeriod":"Q3","date":1699632000,"updated":1772063960,"transcriptId":2845257,"type":"IN_HOUSE","eventId":88953,"eventType":"Earnings call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q3-2023-earnings_call-88953.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2023/11/10/2845257.json","maxAge":1},{"title":"CWCO Q2 FY2023 earnings call transcript","fiscalYear":2023,"fiscalPeriod":"Q2","date":1691766000,"updated":1772278312,"transcriptId":2896005,"type":"IN_HOUSE","eventId":69335,"eventType":"Earnings call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q2-2023-earnings_call-69335.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2023/8/11/2896005.json","maxAge":1},{"title":"CWCO Q1 FY2023 earnings call transcript","fiscalYear":2023,"fiscalPeriod":"Q1","date":1684249200,"updated":1773016198,"transcriptId":2952852,"type":"IN_HOUSE","eventId":61479,"eventType":"Earnings call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q1-2023-earnings_call-61479.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2023/5/16/2952852.json","maxAge":1},{"title":"CWCO Q4 FY2022 earnings call transcript","fiscalYear":2022,"fiscalPeriod":"Q4","date":1680274800,"updated":1772529872,"transcriptId":2980696,"type":"IN_HOUSE","eventId":45584,"eventType":"Earnings call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q4-2022-earnings_call-45584.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2023/3/31/2980696.json","maxAge":1},{"title":"CWCO Q3 FY2022 earnings call transcript","fiscalYear":2022,"fiscalPeriod":"Q3","date":1668528000,"updated":1773132612,"transcriptId":3041919,"type":"IN_HOUSE","eventId":41864,"eventType":"Earnings call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q3-2022-earnings_call-41864.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2022/11/15/3041919.json","maxAge":1},{"title":"CWCO Q2 FY2022 earnings call transcript","fiscalYear":2022,"fiscalPeriod":"Q2","date":1660316400,"updated":1774092616,"transcriptId":3085418,"type":"IN_HOUSE","eventId":33241,"eventType":"Earnings call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q2-2022-earnings_call-33241.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2022/8/12/3085418.json","maxAge":1},{"title":"CWCO Q1 FY2022 earnings call transcript","fiscalYear":2022,"fiscalPeriod":"Q1","date":1652317020,"updated":1774697546,"transcriptId":3132677,"type":"IN_HOUSE","eventId":25489,"eventType":"Earnings call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q1-2022-earnings_call-25489.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2022/5/12/3132677.json","maxAge":1},{"title":"CWCO Q4 FY2021 earnings call transcript","fiscalYear":2021,"fiscalPeriod":"Q4","date":1648515420,"updated":1774424777,"transcriptId":3163164,"type":"IN_HOUSE","eventId":25487,"eventType":"Earnings call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q4-2021-earnings_call-25487.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2022/3/29/3163164.json","maxAge":1},{"title":"CWCO Q3 FY2021 earnings call transcript","fiscalYear":2021,"fiscalPeriod":"Q3","date":1636941240,"updated":1752165408,"transcriptId":1584775,"type":"RAW","eventId":25485,"eventType":"Earnings Call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q3-2021-earnings_call-25485.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2021/11/15/1584775.json","maxAge":1},{"title":"CWCO Q2 FY2021 earnings call transcript","fiscalYear":2021,"fiscalPeriod":"Q2","date":1629158400,"updated":1752165408,"transcriptId":1563099,"type":"RAW","eventId":706,"eventType":"Earnings Call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q2-2021-earnings_call-706.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2021/8/17/1563099.json","maxAge":1},{"title":"CWCO Q1 FY2021 earnings call transcript","fiscalYear":2021,"fiscalPeriod":"Q1","date":1621355640,"updated":1752165408,"transcriptId":1565551,"type":"RAW","eventId":3492,"eventType":"Earnings Call","url":"https://finance.yahoo.com/quote/CWCO/earnings/CWCO-Q1-2021-earnings_call-3492.html","s3Url":"s3://890742573995-market-data-service-prod-us-east-1/shared/transcripts/2021/5/18/1565551.json","maxAge":1}],"maxAge":86400},"summaryDetail":{"maxAge":1,"priceHint":{"raw":2,"fmt":"2","longFmt":"2"},"previousClose":{"raw":32.31,"fmt":"32.31"},"open":{"raw":32.01,"fmt":"32.01"},"dayLow":{"raw":31.8109,"fmt":"31.81"},"dayHigh":{"raw":32.47,"fmt":"32.47"},"regularMarketPreviousClose":{"raw":32.31,"fmt":"32.31"},"regularMarketOpen":{"raw":32.01,"fmt":"32.01"},"regularMarketDayLow":{"raw":31.8109,"fmt":"31.81"},"regularMarketDayHigh":{"raw":32.47,"fmt":"32.47"},"dividendRate":{"raw":0.56,"fmt":"0.56"},"dividendYield":{"raw":0.0174,"fmt":"1.74%"},"exDividendDate":{"raw":1775001600,"fmt":"2026-04-01"},"payoutRatio":{"raw":0.4569,"fmt":"45.69%"},"fiveYearAvgDividendYield":{"raw":1.94,"fmt":"1.94"},"beta":{"raw":0.498,"fmt":"0.50"},"trailingPE":{"raw":27.663794,"fmt":"27.66"},"forwardPE":{"raw":20.837664,"fmt":"20.84"},"volume":{"raw":84891,"fmt":"84.89k","longFmt":"84,891"},"regularMarketVolume":{"raw":84891,"fmt":"84.89k","longFmt":"84,891"},"averageVolume":{"raw":111527,"fmt":"111.53k","longFmt":"111,527"},"averageVolume10days":{"raw":300620,"fmt":"300.62k","longFmt":"300,620"},"averageDailyVolume10Day":{"raw":300620,"fmt":"300.62k","longFmt":"300,620"},"bid":{"raw":31.99,"fmt":"31.99"},"ask":{"raw":32.25,"fmt":"32.25"},"bidSize":{"raw":100,"fmt":"100","longFmt":"100"},"askSize":{"raw":200,"fmt":"200","longFmt":"200"},"marketCap":{"raw":512291456,"fmt":"512.29M","longFmt":"512,291,456"},"nonDilutedMarketCap":{"raw":487227658,"fmt":"487.23M","longFmt":"487,227,658"},"yield":{},"ytdReturn":{},"qtdReturn":{},"totalAssets":{},"expireDate":{},"strikePrice":{},"openInterest":{},"fiftyTwoWeekLow":{"raw":22.69,"fmt":"22.69"},"fiftyTwoWeekHigh":{"raw":39.12,"fmt":"39.12"},"allTimeHigh":{"raw":39.12,"fmt":"39.12"},"allTimeLow":{"raw":1.5,"fmt":"1.50"},"priceToSalesTrailing12Months":{"raw":3.87884,"fmt":"3.88"},"fiftyDayAverage":{"raw":36.394,"fmt":"36.39"},"twoHundredDayAverage":{"raw":33.7389,"fmt":"33.74"},"trailingAnnualDividendRate":{"raw":0.53,"fmt":"0.53"},"trailingAnnualDividendYield":{"raw":0.01640359,"fmt":"1.64%"},"navPrice":{},"currency":"USD","fromCurrency":null,"toCurrency":null,"lastMarket":null,"coinMarketCapLink":null,"volume24Hr":{},"volumeAllCurrencies":{},"circulatingSupply":{},"algorithm":null,"maxSupply":{},"totalSupply":{},"startDate":{},"tradeable":false,"fullyDilutedValue":{},"volume24HrMarketCapPercent":{}},"calendarEvents":{"maxAge":1,"earnings":{"earningsDate":[{"raw":1778529600,"fmt":"2026-05-11"}],"earningsCallDate":[{"raw":1773759600,"fmt":"2026-03-17"}],"isEarningsDateEstimate":true,"earningsAverage":{"raw":0.26,"fmt":"0.26"},"earningsLow":{"raw":0.26,"fmt":"0.26"},"earningsHigh":{"raw":0.26,"fmt":"0.26"},"revenueAverage":{"raw":31900000,"fmt":"31.9M","longFmt":"31,900,000"},"revenueLow":{"raw":31900000,"fmt":"31.9M","longFmt":"31,900,000"},"revenueHigh":{"raw":31900000,"fmt":"31.9M","longFmt":"31,900,000"}},"exDividendDate":{"raw":1775001600,"fmt":"2026-04-01"},"dividendDate":{"raw":1777507200,"fmt":"2026-04-30"}},"upgradeDowngradeHistory":{"history":[{"epochGradeDate":1755105994,"firm":"Roth Capital","toGrade":"Buy","fromGrade":"Buy","action":"main","priceTargetAction":"Raises","currentPriceTarget":40.0,"priorPriceTarget":38.0},{"epochGradeDate":1692014264,"firm":"Janney Montgomery Scott","toGrade":"Buy","fromGrade":"Neutral","action":"up","priceTargetAction":"","currentPriceTarget":0.0,"priorPriceTarget":0.0},{"epochGradeDate":1688640537,"firm":"Janney Montgomery Scott","toGrade":"Neutral","fromGrade":"Buy","action":"down","priceTargetAction":"","currentPriceTarget":0.0,"priorPriceTarget":0.0},{"epochGradeDate":1686137377,"firm":"Janney Montgomery Scott","toGrade":"Buy","fromGrade":"Neutral","action":"up","priceTargetAction":"Announces","currentPriceTarget":24.0,"priorPriceTarget":0.0},{"epochGradeDate":1684847409,"firm":"Roth MKM","toGrade":"Buy","fromGrade":"","action":"main","priceTargetAction":"Raises","currentPriceTarget":24.0,"priorPriceTarget":21.0},{"epochGradeDate":1684321013,"firm":"Janney Montgomery Scott","toGrade":"Neutral","fromGrade":"Buy","action":"down","priceTargetAction":"","currentPriceTarget":0.0,"priorPriceTarget":0.0},{"epochGradeDate":1668601394,"firm":"Janney Montgomery Scott","toGrade":"Buy","fromGrade":"Neutral","action":"up","priceTargetAction":"Announces","currentPriceTarget":20.0,"priorPriceTarget":0.0},{"epochGradeDate":1663158216,"firm":"Janney Montgomery Scott","toGrade":"Neutral","fromGrade":"Buy","action":"down","priceTargetAction":"","currentPriceTarget":0.0,"priorPriceTarget":0.0},{"epochGradeDate":1661181320,"firm":"Roth Capital","toGrade":"Buy","fromGrade":"Buy","action":"main","priceTargetAction":"Raises","currentPriceTarget":19.0,"priorPriceTarget":17.0},{"epochGradeDate":1594135440,"firm":"Janney Montgomery Scott","toGrade":"Neutral","fromGrade":"Buy","action":"down","priceTargetAction":"Lowers","currentPriceTarget":14.0,"priorPriceTarget":17.0},{"epochGradeDate":1415786797,"firm":"Brean Capital","toGrade":"Buy","fromGrade":"","action":"main","priceTargetAction":"Raises","currentPriceTarget":15.0,"priorPriceTarget":14.0},{"epochGradeDate":1401712109,"firm":"Brean Capital","toGrade":"Buy","fromGrade":"Hold","action":"up","priceTargetAction":"Announces","currentPriceTarget":13.0,"priorPriceTarget":0.0},{"epochGradeDate":1381753046,"firm":"Brean Capital","toGrade":"Hold","fromGrade":"Buy","action":"down","priceTargetAction":"","currentPriceTarget":0.0,"priorPriceTarget":0.0},{"epochGradeDate":1370606930,"firm":"Roth Capital","toGrade":"Buy","fromGrade":"","action":"init","priceTargetAction":"Announces","currentPriceTarget":13.0,"priorPriceTarget":0.0},{"epochGradeDate":1365004180,"firm":"Sidoti & Co.","toGrade":"Neutral","fromGrade":"","action":"init","priceTargetAction":"","currentPriceTarget":0.0,"priorPriceTarget":0.0}],"maxAge":86400},"pageViews":{"shortTermTrend":"UP","midTermTrend":"UP","longTermTrend":"UP","maxAge":1},"price":{"maxAge":1,"preMarketChange":{},"preMarketPrice":{},"preMarketSource":"FREE_REALTIME","postMarketChangePercent":{"raw":0.0,"fmt":"0.00%"},"postMarketChange":{"raw":0.0,"fmt":"0.00"},"postMarketTime":1774642204,"postMarketPrice":{"raw":32.09,"fmt":"32.09"},"postMarketSource":"FREE_REALTIME","regularMarketChangePercent":{"raw":-0.006809075,"fmt":"-0.68%"},"regularMarketChange":{"raw":-0.22000122,"fmt":"-0.22"},"regularMarketTime":1774641602,"priceHint":{"raw":2,"fmt":"2","longFmt":"2"},"regularMarketPrice":{"raw":32.09,"fmt":"32.09"},"regularMarketDayHigh":{"raw":32.47,"fmt":"32.47"},"regularMarketDayLow":{"raw":31.8109,"fmt":"31.81"},"regularMarketVolume":{"raw":84891,"fmt":"84.89k","longFmt":"84,891.00"},"averageDailyVolume10Day":{"raw":300620,"fmt":"300.62k","longFmt":"300,620"},"averageDailyVolume3Month":{"raw":111527,"fmt":"111.53k","longFmt":"111,527"},"regularMarketPreviousClose":{"raw":32.31,"fmt":"32.31"},"regularMarketSource":"FREE_REALTIME","regularMarketOpen":{"raw":32.01,"fmt":"32.01"},"strikePrice":{},"openInterest":{},"exchange":"NMS","exchangeName":"NasdaqGS","exchangeDataDelayedBy":0,"marketState":"CLOSED","quoteType":"EQUITY","symbol":"CWCO","underlyingSymbol":null,"shortName":"Consolidated Water Co. Ltd.","longName":"Consolidated Water Co. Ltd.","currency":"USD","quoteSourceName":"Nasdaq Real Time Price","currencySymbol":"$","fromCurrency":null,"toCurrency":null,"lastMarket":null,"volume24Hr":{},"volumeAllCurrencies":{},"circulatingSupply":{},"marketCap":{"raw":512291456,"fmt":"512.29M","longFmt":"512,291,456.00"}},"earningsNonGaap":{"maxAge":86400,"earningsChart":{"quarterly":[{"date":"1Q2025","actual":{"raw":0.3,"fmt":"0.30"},"estimate":{"raw":0.215,"fmt":"0.22"},"fiscalQuarter":"1Q2025","calendarQuarter":"1Q2025","difference":"0.08","surprisePct":"39.53","periodEndDate":{"raw":1743379200,"fmt":"2025-03-31"},"reportedDate":{"raw":1747081677,"fmt":"2025-05-12"}},{"date":"2Q2025","actual":{"raw":0.32,"fmt":"0.32"},"estimate":{"raw":0.2,"fmt":"0.20"},"fiscalQuarter":"2Q2025","calendarQuarter":"2Q2025","difference":"0.12","surprisePct":"60.0","periodEndDate":{"raw":1751241600,"fmt":"2025-06-30"},"reportedDate":{"raw":1754945144,"fmt":"2025-08-11"}},{"date":"3Q2025","actual":{"raw":0.3427,"fmt":"0.34"},"estimate":{"raw":0.245,"fmt":"0.25"},"fiscalQuarter":"3Q2025","calendarQuarter":"3Q2025","difference":"0.1","surprisePct":"39.88","periodEndDate":{"raw":1759190400,"fmt":"2025-09-30"},"reportedDate":{"raw":1762808767,"fmt":"2025-11-10"}},{"date":"4Q2025","actual":{"raw":0.759,"fmt":"0.76"},"estimate":{"raw":0.28,"fmt":"0.28"},"fiscalQuarter":"4Q2025","calendarQuarter":"4Q2025","difference":"0.48","surprisePct":"171.07","periodEndDate":{"raw":1767139200,"fmt":"2025-12-31"},"reportedDate":{"raw":1773695707,"fmt":"2026-03-16"}}],"currentQuarterEstimate":{"raw":0.26,"fmt":"0.26"},"currentQuarterEstimateDate":"1Q","currentCalendarQuarter":"1Q2026","currentQuarterEstimateYear":2026,"currentFiscalQuarter":"1Q2026","currentPeriodEndDate":{"raw":1774915200,"fmt":"2026-03-31"},"earningsDate":[{"raw":1778529600,"fmt":"2026-05-11"}],"isEarningsDateEstimate":true},"financialsChart":{"yearly":[{"date":2022,"revenue":{"raw":94104970,"fmt":"94.1M","longFmt":"94,104,970"},"earnings":{"raw":0,"fmt":null,"longFmt":"0"}},{"date":2023,"revenue":{"raw":180211230,"fmt":"180.21M","longFmt":"180,211,230"},"earnings":{"raw":30677980,"fmt":"30.68M","longFmt":"30,677,980"}},{"date":2024,"revenue":{"raw":133966630,"fmt":"133.97M","longFmt":"133,966,630"},"earnings":{"raw":17705800,"fmt":"17.71M","longFmt":"17,705,800"}},{"date":2025,"revenue":{"raw":132073370,"fmt":"132.07M","longFmt":"132,073,370"},"earnings":{"raw":18539490,"fmt":"18.54M","longFmt":"18,539,490"}}],"quarterly":[{"date":"1Q2025","fiscalQuarter":"1Q2025","revenue":{"raw":33715390,"fmt":"33.72M","longFmt":"33,715,390"},"earnings":{"raw":4791030,"fmt":"4.79M","longFmt":"4,791,030"}},{"date":"2Q2025","fiscalQuarter":"2Q2025","revenue":{"raw":33591080,"fmt":"33.59M","longFmt":"33,591,080"},"earnings":{"raw":5096210,"fmt":"5.1M","longFmt":"5,096,210"}},{"date":"3Q2025","fiscalQuarter":"3Q2025","revenue":{"raw":35118710,"fmt":"35.12M","longFmt":"35,118,710"},"earnings":{"raw":5502540,"fmt":"5.5M","longFmt":"5,502,540"}},{"date":"4Q2025","fiscalQuarter":"4Q2025","revenue":{"raw":29648200,"fmt":"29.65M","longFmt":"29,648,200"},"earnings":{"raw":2952020,"fmt":"2.95M","longFmt":"2,952,020"}}]},"financialCurrency":"USD","defaultMethodology":"nongaap"},"corporateActions":{"corporateActions":[],"maxAge":1},"financialData":{"maxAge":86400,"currentPrice":{"raw":32.09,"fmt":"32.09"},"targetHighPrice":{"raw":43.0,"fmt":"43.00"},"targetLowPrice":{"raw":43.0,"fmt":"43.00"},"targetMeanPrice":{"raw":43.0,"fmt":"43.00"},"targetMedianPrice":{"raw":43.0,"fmt":"43.00"},"recommendationMean":{"raw":1.0,"fmt":"1.00"},"recommendationKey":"strong_buy","numberOfAnalystOpinions":{"raw":1,"fmt":"1","longFmt":"1"},"totalCash":{"raw":123788392,"fmt":"123.79M","longFmt":"123,788,392"},"totalCashPerShare":{"raw":7.754,"fmt":"7.75"},"ebitda":{"raw":25165920,"fmt":"25.17M","longFmt":"25,165,920"},"totalDebt":{"raw":3031711,"fmt":"3.03M","longFmt":"3,031,711"},"quickRatio":{"raw":5.77,"fmt":"5.77"},"currentRatio":{"raw":6.124,"fmt":"6.12"},"totalRevenue":{"raw":132073368,"fmt":"132.07M","longFmt":"132,073,368"},"debtToEquity":{"raw":1.337,"fmt":"1.34%"},"revenuePerShare":{"raw":8.294,"fmt":"8.29"},"returnOnAssets":{"raw":0.04558,"fmt":"4.56%"},"returnOnEquity":{"raw":0.086969994,"fmt":"8.70%"},"grossProfits":{"raw":48378808,"fmt":"48.38M","longFmt":"48,378,808"},"freeCashflow":{"raw":27623708,"fmt":"27.62M","longFmt":"27,623,708"},"operatingCashflow":{"raw":41713572,"fmt":"41.71M","longFmt":"41,713,572"},"earningsGrowth":{"raw":1.038,"fmt":"103.80%"},"revenueGrowth":{"raw":0.044,"fmt":"4.40%"},"grossMargins":{"raw":0.36630002,"fmt":"36.63%"},"ebitdaMargins":{"raw":0.19055,"fmt":"19.05%"},"operatingMargins":{"raw":0.09111,"fmt":"9.11%"},"profitMargins":{"raw":0.13884,"fmt":"13.88%"},"financialCurrency":"USD"}}],"error":null}}