Portfolio — Apartment management app revenue

Apartment management app revenue

As of

Monthly recurring revenue
2.8억

2026.08

Year over year
+40.5%

YoY

Penetration of addressable
4.7%

952 / 18,888

Gross revenue churn
20.4%

12M

New against churned
×3

12M

Monthly recurring revenue

A step, not a line. A per-household fee times a household count that does not change is the same number every month until the contract changes, and joining the points with straight segments draws a climb through values the business never billed. That growth arrives in discrete signings is what the step carries.

2.8억23.0924.0324.0925.0325.0926.0326.082.8억

Usage billings, on their own scale

Revenue movement

The line above cannot lie about its own shape but it can hide what is under it. Subscription revenue rises in all thirty-six months while a substantial share of the closing balance left over the same window. New business covers it every month. How much left is what these columns say.

  • New · winback · expansion
  • Contraction · churn
23.0924.0324.0925.0325.0926.0326.08+1479만−1479만
Read as numbers
Thirty-six months of subscription revenue as a stepped area. It rises in every month, with usage billings on their own scale beneath it.
MonthSubscriptionUsageComplexesNewWinbackExpansionContractionChurn
20230981,994,6782,526,9302932,631,0180411,07001,863,008
20231087,943,2684,490,5203145,342,310200,800405,48000
20231193,463,6407,221,2103355,468,8120893,3800841,820
20231298,867,5526,332,4303504,300,20401,392,2880288,580
202401102,310,6622,383,0053643,718,68099,600868,73001,243,900
202402105,674,1521,718,6853812,876,1800996,4700509,160
202403110,527,6641,949,2953884,030,11202,212,48001,389,080
202404111,491,5302,092,5453983,266,5520885,28003,187,966
202405115,783,1221,936,0354186,139,4920377,84002,225,740
202406120,020,6263,218,1154314,025,558163,5601,338,86601,290,480
202407121,789,6321,965,6154305,259,90201,322,66004,813,556
202408126,374,4362,389,3954434,944,22401,165,92001,525,340
202409131,178,5604,042,8454596,271,2240707,76002,174,860
202410142,014,2826,687,16549011,680,9420479,72001,324,940
202411147,652,60310,106,6405064,941,567111,3602,060,07401,474,680
202412155,391,43912,655,9055218,443,52001,313,76402,018,448
202501159,275,6112,405,8055405,896,508798,966280,22003,091,522
202502168,334,2874,032,24055611,441,61601,062,42003,445,360
202503174,541,9474,546,6505736,036,78001,078,5400907,660
202504178,922,1374,117,1855883,860,44002,217,66001,697,910
202505181,349,7223,085,2456013,074,04001,453,11202,099,567
202506189,432,4943,471,1656265,858,22003,443,01201,218,460
202507192,379,4023,264,3006447,975,04601,161,90006,190,038
202508201,459,8743,599,2956677,766,58401,488,2880174,400
202509210,592,5714,674,76570212,555,23702,230,31205,652,852
202510214,057,1917,128,3907195,822,47650,0001,464,18003,872,036
202511220,056,04717,479,0957407,831,5160663,18402,495,844
202512226,493,10016,041,6007696,157,76701,382,20001,102,914
202601227,975,8714,680,7807757,717,17001,614,96007,849,359
202602235,623,8364,858,6058018,141,839236,0801,787,14602,517,100
202603243,713,3395,582,8958248,966,76101,946,35202,823,610
202604252,425,9437,604,2058569,098,174564,8002,547,75003,498,120
202605264,278,8575,813,92588313,477,47401,188,68002,813,240
202606271,478,2654,012,3359137,227,40001,693,42801,721,420
202607278,115,9816,005,4309328,251,19601,841,38003,454,860
202608283,116,8627,238,1009526,600,38001,649,30403,248,803

Price per household falls as complexes grow

The bundle is held fixed and only household count varies. The realised tier averages cannot carry this claim: they mix the price structure with whatever those complexes happen to hold, and the largest tier has fewer than twenty accounts, so its average moves when one complex adds a service. Each bundle is therefore indexed to its own list price. The question is not what a bundle costs; it is how far, and in which direction, what a complex actually pays departs from the price list.

  • entry · notices only (list 150/household)
  • core · notices, collection, parking (list 950/household)
정가 100entry · 100세대 · 최소요금 적용entry · 150세대 · 최소요금 적용entry · 300세대 · 최소요금 적용entrycore1006006,000

Dots mark where the monthly floor, not the rate card, set the price · x-axis is households

Read as numbers
Two reference bundles priced up a household ladder, each as a share of its own list rate. Both fall monotonically.
Householdsentrycore
100500*950
150333.3*950
300166.7*950
400150950
600150950
900150950
1,200147.5934.2
2,000142.5902.5
4,000132.8840.8
6,000129.5820.2

What the tiers actually billed

Per complex on the left, per household on the right. The two run in opposite directions. A tier that departs from the ladder beside it is buying more or less than the reference bundle, which is a different finding and needs its own sample size — so the account count sits in the table.

Monthly revenue per complex

Monthly revenue per household

Read as numbers
What the tiers actually billed
TierComplexesHouseholdsPer complexPer householdFloored
sub726,18676,528890.752
small36390,428157,219631.161
mid369207,558318,9385670
large129156,898649,5065340
xlarge1951,4481,384,207511.20

Attach rate by service

Eleven panels rather than eleven hues. The site has two colours; eleven series on one axis would need nine more, and generating them puts pairs on the chart that a colourblind reader — or a monochrome printer — cannot separate. Faceting costs the ability to read one service against another at a glance and buys the ability to read each shape at all. The scale is the same in every panel: per-panel scaling would make a service almost nobody holds and one that more than half of them hold draw identical curves.

  1. Parking control

    41.3%

  2. Visitor vehicles

    5.6%

  3. Resident access

    13.4%

  4. CCTV feed

    17.5%

  5. Fee collection

    49.4%

  6. Notices

    58%

  7. Facility booking

    10%

  8. Defect intake

    3.6%

  9. Parcel lockers

    23.2%

  10. Resident voting

    23.5%

  11. SMS fallback

    9.5%

0 – 58.3%

Read as numbers
Attach rate over time for eleven services, faceted into eleven small panels on one shared scale.
ServiceFirstLastContracts
parking43.741.3393
visitor4.15.653
access10.613.4128
cctv12.617.5167
billing46.449.4470
notice54.358552
community11.61095
defect3.13.634
locker19.823.2221
vote20.523.5224
sms4.49.590

Penetration by district

The same 245 hexagons the brokerage and price maps use, borrowed rather than recomputed: the one thing a reader should be able to assume about two maps on one site is that the same shape means the same place. The denominator is not every filed complex but the ones large enough to have a management office.

강원특별자치도 양구군 · 0%경기도 파주시 · 6.5%경기도 연천군 · 0%경기도 동두천시 · 0%경기도 포천시 · 2.4%강원특별자치도 철원군 · 0%강원특별자치도 고성군 · 0%경기도 고양시덕양구 · 3.6%경기도 양주시 · 3.7%서울특별시 도봉구 · 5.4%경기도 의정부시 · 3%경기도 가평군 · 11.8%강원특별자치도 화천군 · 0%강원특별자치도 인제군 · 25%인천광역시 옹진군 · 판매 대상 없음경기도 고양시일산서구 · 6%경기도 고양시일산동구 · 4.5%서울특별시 은평구 · 1.1%서울특별시 종로구 · 5.6%서울특별시 강북구 · 2.9%서울특별시 노원구 · 5.5%경기도 남양주시 · 6.5%강원특별자치도 춘천시 · 3.1%강원특별자치도 속초시 · 7.7%인천광역시 강화군 · 0%경기도 김포시 · 4.2%서울특별시 강서구 · 3.6%서울특별시 마포구 · 4.5%서울특별시 서대문구 · 7%서울특별시 성북구 · 3.7%서울특별시 동대문구 · 4.8%서울특별시 중랑구 · 8%경기도 구리시 · 1.1%강원특별자치도 홍천군 · 0%강원특별자치도 양양군 · 6.7%인천광역시 계양구 · 6.3%서울특별시 양천구 · 4%서울특별시 영등포구 · 6.6%서울특별시 중구 · 4.7%서울특별시 성동구 · 5.6%서울특별시 광진구 · 3.6%서울특별시 강동구 · 6.4%경기도 하남시 · 11.3%강원특별자치도 횡성군 · 0%강원특별자치도 강릉시 · 2.7%강원특별자치도 동해시 · 7.3%경상북도 울릉군 · 판매 대상 없음인천광역시 부평구 · 6.3%경기도 부천시오정구 · 6.9%서울특별시 구로구 · 4.4%서울특별시 동작구 · 6.2%서울특별시 용산구 · 3.8%서울특별시 강남구 · 6%서울특별시 송파구 · 5.9%경기도 광주시 · 3.4%경기도 양평군 · 3.2%강원특별자치도 평창군 · 0%강원특별자치도 정선군 · 33.3%경기도 부천시원미구 · 7.2%경기도 광명시 · 6.7%서울특별시 금천구 · 6.6%서울특별시 관악구 · 5.7%서울특별시 서초구 · 6%경기도 성남시수정구 · 4.8%경기도 성남시중원구 · 3.8%경기도 여주시 · 7.5%강원특별자치도 원주시 · 2.3%강원특별자치도 영월군 · 0%강원특별자치도 삼척시 · 5%경기도 부천시소사구 · 5.1%경기도 안양시만안구 · 4.2%경기도 안양시동안구 · 7.4%경기도 과천시 · 14.3%경기도 용인시수지구 · 7%경기도 성남시분당구 · 9.5%경기도 이천시 · 4.3%충청북도 충주시 · 3.4%충청북도 단양군 · 0%경상북도 봉화군 · 판매 대상 없음강원특별자치도 태백시 · 0%인천광역시 연수구 · 6.7%인천광역시 남동구 · 5.2%경기도 시흥시 · 3.2%경기도 군포시 · 8.6%경기도 의왕시 · 2.3%경기도 수원시장안구 · 5.4%경기도 용인시기흥구 · 5.2%경기도 용인시처인구 · 6.7%충청북도 음성군 · 8.3%충청북도 괴산군 · 0%충청북도 제천시 · 0%경상북도 영주시 · 4.3%경상북도 영양군 · 판매 대상 없음경상북도 울진군 · 0%충청남도 태안군 · 0%경기도 안산시단원구 · 2.6%경기도 안산시상록구 · 9.6%경기도 수원시권선구 · 4.1%경기도 수원시팔달구 · 2.6%경기도 수원시영통구 · 6.8%경기도 안성시 · 4.8%충청북도 진천군 · 4%충청북도 증평군 · 5.3%경상북도 문경시 · 9.1%경상북도 예천군 · 16.7%경상북도 안동시 · 1.6%경상북도 영덕군 · 50%충청남도 당진시 · 4.3%경기도 평택시 · 7.2%경기도 오산시 · 7.1%충청남도 천안시서북구 · 4.4%충청북도 청주시흥덕구 · 4.1%충청북도 청주시상당구 · 3.6%충청북도 보은군 · 0%경상북도 상주시 · 0%경상북도 의성군 · 0%대구광역시 군위군 · 판매 대상 없음경상북도 청송군 · 판매 대상 없음경상북도 포항시북구 · 4.6%충청남도 서산시 · 10%충청남도 예산군 · 0%충청남도 아산시 · 2.1%충청남도 천안시동남구 · 7%세종특별자치시 세종시 · 4.2%대전광역시 대덕구 · 5.4%충청북도 옥천군 · 0%경상북도 구미시 · 4.6%경상북도 칠곡군 · 0%대구광역시 북구 · 6%경상북도 영천시 · 0%경상북도 포항시남구 · 1.5%충청남도 홍성군 · 11.4%충청남도 청양군 · 0%충청남도 공주시 · 2.6%대전광역시 유성구 · 5.1%대전광역시 동구 · 4%충청북도 영동군 · 0%경상북도 김천시 · 4.1%대구광역시 서구 · 19%대구광역시 중구 · 5.1%대구광역시 동구 · 5.8%경상북도 경주시 · 6%충청남도 보령시 · 2.9%충청남도 부여군 · 0%충청남도 계룡시 · 4.8%대전광역시 서구 · 5.6%대전광역시 중구 · 6.7%경상북도 성주군 · 0%대구광역시 달서구 · 6%대구광역시 남구 · 9.1%대구광역시 수성구 · 3.6%경상북도 경산시 · 3.3%울산광역시 중구 · 5.1%울산광역시 북구 · 7.1%충청남도 서천군 · 0%전북특별자치도 익산시 · 6.7%충청남도 논산시 · 0%전북특별자치도 완주군 · 4.3%충청남도 금산군 · 0%전북특별자치도 무주군 · 0%경상북도 고령군 · 0%대구광역시 달성군 · 3.3%경상북도 청도군 · 0%경상남도 양산시 · 6.3%울산광역시 울주군 · 3.2%울산광역시 동구 · 1.7%전북특별자치도 군산시 · 2.3%전북특별자치도 김제시 · 7.7%전북특별자치도 전주시덕진구 · 4.6%전북특별자치도 전주시완산구 · 4.1%전북특별자치도 진안군 · 0%경상남도 거창군 · 6.7%경상남도 합천군 · 100%경상남도 창녕군 · 0%경상남도 밀양시 · 2.8%부산광역시 북구 · 1%부산광역시 금정구 · 5.3%울산광역시 남구 · 3.2%전북특별자치도 부안군 · 0%전북특별자치도 정읍시 · 2.8%전북특별자치도 임실군 · 0%전북특별자치도 장수군 · 판매 대상 없음경상남도 함양군 · 25%경상남도 의령군 · 0%경상남도 창원시의창구 · 1.7%경상남도 김해시 · 4.6%부산광역시 부산진구 · 5.2%부산광역시 동래구 · 6.9%부산광역시 해운대구 · 5.3%부산광역시 기장군 · 6.3%전북특별자치도 고창군 · 0%전남광주통합특별시 장성군 · 판매 대상 없음전남광주통합특별시 담양군 · 판매 대상 없음전북특별자치도 순창군 · 0%전북특별자치도 남원시 · 4.2%경상남도 산청군 · 0%경상남도 진주시 · 5.5%경상남도 함안군 · 7.1%경상남도 창원시성산구 · 4.8%부산광역시 사상구 · 3.3%부산광역시 동구 · 0%부산광역시 연제구 · 6.2%부산광역시 수영구 · 4.2%전남광주통합특별시 영광군 · 판매 대상 없음전남광주통합특별시 광산구 · 판매 대상 없음전남광주통합특별시 서구 · 판매 대상 없음전남광주통합특별시 북구 · 판매 대상 없음전남광주통합특별시 곡성군 · 판매 대상 없음전남광주통합특별시 구례군 · 판매 대상 없음경상남도 하동군 · 0%경상남도 창원시마산합포구 · 7%경상남도 창원시마산회원구 · 6.6%부산광역시 강서구 · 10.2%부산광역시 서구 · 2.1%부산광역시 중구 · 10%부산광역시 남구 · 6.3%전남광주통합특별시 함평군 · 판매 대상 없음전남광주통합특별시 남구 · 판매 대상 없음전남광주통합특별시 동구 · 판매 대상 없음전남광주통합특별시 화순군 · 판매 대상 없음전남광주통합특별시 순천시 · 판매 대상 없음전남광주통합특별시 광양시 · 판매 대상 없음경상남도 사천시 · 4.8%경상남도 고성군 · 0%경상남도 창원시진해구 · 7.8%부산광역시 영도구 · 2.1%전남광주통합특별시 신안군 · 판매 대상 없음전남광주통합특별시 무안군 · 판매 대상 없음전남광주통합특별시 나주시 · 판매 대상 없음전남광주통합특별시 보성군 · 판매 대상 없음전남광주통합특별시 여수시 · 판매 대상 없음경상남도 남해군 · 0%경상남도 통영시 · 9.6%부산광역시 사하구 · 3.8%경상남도 거제시 · 5.5%전남광주통합특별시 목포시 · 판매 대상 없음전남광주통합특별시 영암군 · 판매 대상 없음전남광주통합특별시 장흥군 · 판매 대상 없음전남광주통합특별시 고흥군 · 판매 대상 없음전남광주통합특별시 진도군 · 판매 대상 없음전남광주통합특별시 해남군 · 판매 대상 없음전남광주통합특별시 강진군 · 판매 대상 없음전남광주통합특별시 완도군 · 판매 대상 없음제주특별자치도 제주시 · 5.5%제주특별자치도 서귀포시 · 3.7%

Class edges (%) and districts in each

  1. 0
  2. 0.5
  3. 2
  4. 5
  5. 10
  6. 20
  7. None to sell to
  1. 46
  2. 7
  3. 68
  4. 76
  5. 9
  6. 5
  7. 34

Contracts and revenue are generated; the complexes and the household denominator are filed and estimated · ≥150

Read as numbers
Contracted complexes as a share of the addressable market, on a 245-cell hexagon cartogram in one hue and six classes.
DistrictProvinceAddressableRate
합천군경상남도1100
영덕군경상북도250
정선군강원특별자치도633.3
인제군강원특별자치도425
함양군경상남도425
서구대구광역시2119
예천군경상북도1216.7
과천시경기도2114.3
가평군경기도1711.8
홍성군충청남도3511.4
하남시경기도12411.3
강서구부산광역시4910.2
서산시충청남도7010
중구부산광역시1010
안산시상록구경기도529.6
통영시경상남도529.6
성남시분당구경기도2019.5
남구대구광역시449.1
문경시경상북도119.1
군포시경기도938.6
음성군충청북도488.3
중랑구서울특별시1508
창원시진해구경상남도647.8
김제시전북특별자치도267.7
속초시강원특별자치도657.7
여주시경기도407.5
안양시동안구경기도1497.4
동해시강원특별자치도557.3
부천시원미구경기도1527.2
평택시경기도3057.2
북구울산광역시1127.1
함안군경상남도147.1
오산시경기도1137.1
천안시동남구충청남도1147
용인시수지구경기도2157
창원시마산합포구경상남도867
서대문구서울특별시1157
동래구부산광역시1306.9
부천시오정구경기도296.9
수원시영통구경기도1466.8

Cohort retention

A triangle rather than a grid, because that is the shape of the data: a cohort that signed two months before the window ends has two months of history and no more, and filling the rest with anything would invent it. Complexes still billing on the left; revenue against the cohort's own first month on the right. The two come apart, because the survivors buy more, and one grid cannot hold that gap.

Complexes still billing

Revenue against first month

Read as numbers
Cohort retention
CohortSizeKeptValue
2023Q36070101.4
2023Q45563.668
2024Q15768.483.1
2024Q25470.491.5
2024Q38373.591.2
2024Q47471.666.5
2025Q16175.494.7
2025Q29086.796.5
2025Q39781.489.1
2025Q49985.982.5
2026Q111589.697.1
2026Q211098.2100

Quota attainment

The bars grow from the 100 line rather than from the left edge. From the left edge a rep just short of quota and one just past it draw almost the same bar and the sign disappears, which is the only thing the chart is for.

capital-2-2 · junior · 달성 28.7%capital-1-2 · junior · 달성 25.3%capital-2-3 · junior · 달성 23.3%yeongnam-2-3 · junior · 달성 19.4%capital-3-2 · mid · 달성 18.3%chungho-1-3 · mid · 달성 15.9%yeongnam-1-2 · junior · 달성 15.3%capital-1-3 · senior · 달성 12.6%capital-3-1 · lead · 달성 10.6%yeongnam-1-1 · lead · 달성 8.5%capital-2-1 · lead · 달성 7.8%capital-1-1 · lead · 달성 7.3%chungho-1-2 · senior · 달성 6.9%yeongnam-2-2 · senior · 달성 6.6%yeongnam-2-1 · lead · 달성 5.3%gangje-1-3 · mid · 달성 4.3%gangje-1-2 · mid · 달성 2.2%chungho-1-1 · lead · 달성 1.7%gangje-1-1 · lead · 달성 0.7%할당 100%−99+99
Read as numbers
Quota attainment per salesperson, as bars either side of the 100 per cent line.
RepRankRegionAccountsQuotaAttainment
capital-2-2juniorcapital823,100,00028.7
capital-1-2juniorcapital543,100,00025.3
capital-2-3juniorcapital783,100,00023.3
yeongnam-2-3junioryeongnam543,100,00019.4
capital-3-2midcapital604,800,00018.3
chungho-1-3midchungho464,800,00015.9
yeongnam-1-2junioryeongnam543,100,00015.3
capital-1-3seniorcapital736,200,00012.6
capital-3-1leadcapital707,600,00010.6
yeongnam-1-1leadyeongnam577,600,0008.5
capital-2-1leadcapital517,600,0007.8
capital-1-1leadcapital607,600,0007.3
chungho-1-2seniorchungho586,200,0006.9
yeongnam-2-2senioryeongnam496,200,0006.6
yeongnam-2-1leadyeongnam457,600,0005.3
gangje-1-3midgangje104,800,0004.3
gangje-1-2midgangje124,800,0002.2
chungho-1-1leadchungho297,600,0001.7
gangje-1-1leadgangje107,600,0000.7

The roster and its geography are real. The contracts and the revenue are not. · 36,040 · 217/245 · 202309–202608