News
Entertainment
Science & Technology
Life
Culture & Art
Hobbies
News
Entertainment
Science & Technology
Culture & Art
Hobbies
Breaking News Coronavirus Update: Vaccine Ready for Human Trials A vaccine for the novel coronavirus has been developed and is ready for human trials, according to the World Health Organization. The vaccine is a combination of two existing vaccines that have been modified to target the virus that causes COVID-19. Clinical trials will begin in the coming weeks and the vaccine could be ready for use by the end of the year. Read more here Article: How to Stay Positive During Coronavirus Outbreak The coronavirus pandemic has upended our lives and left us feeling anxious, uncertain, and overwhelmed. But despite the difficult times, it is important to stay positive. Here are some tips for doing just that: Focus on what you
Part I: Shipping Containers for Thought Every so often a simple idea rewires everything. The shipping container didn’t just optimise logistics; it flattened the globe, collapsed time zones, and rewrote the economics of trade. In its geometric austerity was a quiet revolution: standardisation. Similarly, HTML and HTTP didn’t invent information exchange — any more than […]
We are pleased to announce the full line-up for this year’s Shiny in Production conference! The conference includes nine full-length talks (25 minutes each) and a lightning talk session (5 minutes per talk), we’ll cover those in a separate blog. Register now Talks Cameron Race - Head of Children and Schools Statistics and Product Manager shinyGovstyle: A ‘Shiny’ Secret Weapon for Production-Ready Government Public Services In the UK, we are required to make public sector websites accessible to all users. While there is a wealth of UK government data publicly available through a number of existing digital services, it can be tough to engage with. Government analysts are increasingly turning to R Shiny to enhance their data dissemination, making it more engaging for users, but with hundreds of analysts working in silos across government, how can analysts build full digital services in a way that carries the same consistency, trustworthiness and authority as a domain such as GOV.UK? Charlie Gao - Posit Software, PBC Advances in the Shiny Ecosystem Charlie Gao, Senior Software Engineer on Posit’s open source team will review some of the latest high-performance async tooling developed by Posit to support R Shiny in terms of performance, scalability and user experience. Colin Fay - ThinkR After {shiny} — Bringing R to Mobile with webR As the use of mobile devices becomes increasingly central to how users interact with data products, the R community has long sought ways to bring R-powered applications into the mobile space. Historically, this has meant adapting {shiny} apps for smaller screens—either through responsive design or packages like {shinyMobile}. While effective for certain use cases, these approaches are fundamentally web-based, requiring a server and a stable internet connection, and lacking access to native device features. This talk presents a new path forward: Rlinguo, a fully native mobile application built with webR, a version of R compiled to WebAssembly. Unlike traditional {shiny}-based solutions, Rlinguo runs R directly on the device, without a server. It works offline, stores data locally, and can leverage native mobile APIs—pushing the boundaries of what’s possible with R in a mobile context. Through this case study, we’ll explore the architecture behind Rlinguo, contrast it with the {shiny} model, and discuss what it means for the future of R development. Topics will include: What it takes to embed R in a mobile app using webR Technical and design trade-offs between web-based and native solutions Practical applications for offline, device-integrated R tools Whether you’re building with {shiny} today or simply curious about the next evolution of R in production, this session offers a look at where R can go when it steps beyond the browser. Gabriela De Lima Marin - Brazilian Network Information Centre Bringing Connectivity Data Together: An R Shiny Platform for Public Schools This project presents a collaborative initiative aimed at improving the geolocation accuracy of Brazilian public schools through an interactive Shiny web application. By integrating existing location data from the Brazilian School Census with APIs from Google, Microsoft, and OpenStreetMap, we established an innovative workflow to assign accurate geographic coordinates to schools previously lacking precise location data. The Shiny application provides a user-friendly interface allowing school administrators and education managers to visually verify and manually adjust school locations via interactive maps. Over the past two years, this approach enabled the precise geolocation of previously unlocated schools and significantly enhanced the accuracy of geolocation data of schools. The geolocation data collected and validated through this project will be openly shared with relevant governmental stakeholders, promoting transparency and supporting evidence-based decision-making. Moreover, the project exemplifies how collaborative data science and innovative web technology—particularly R Shiny—can be effectively leveraged in public administration, enabling managers, stakeholders, and the community to directly contribute to data accuracy and positively influence educational outcomes in Brazil. Jack Anderson - National Disease Registration Service, NHS England Transforming the reporting of national patient outcomes with Shiny: 30-day mortality post-Systemic Anti-Cancer Therapy In June 2020, the National Disease Registration Service began reporting 30-day mortality post-Systemic Anti-Cancer Therapy (SACT) Case-Mix Adjusted Rates (CMAR) to NHS trusts in England. This work applies logistic regression to report trust-level case-mix adjusted 30-day mortality rates, which enable comparisons between trusts and with the national average. Historically, results were shared as an Excel workbook with an accompanying companion brief and FAQ document, and each report was shared in isolation from previous releases. Since April 2023, implementation of R Shiny has enabled 30-day mortality rates to be reported seamlessly on an interactive, publicly accessible dashboard. Utilising the Plotly and DT packages, dynamic funnel plots and data tables are tailored to user needs through Shiny input pickers, which reactively subset and summarise data visualisations based on user selections. This enables NHS trust users to flexibly review their 30-day mortality outcomes against those of other trusts, their wider Cancer Alliance, and national averages, both overall and stratified by key patient demographics. The Shiny dashboard also enables users to view current and previous CMAR reports together in one place and includes download button functionality for documentation and underlying data. With dedicated tabs for summary data, trust exclusions, and trust response statements, Shiny allows for end-to-end exploration of CMAR outcomes, making it easier for users to gain insight into clinical practice. The resulting Shiny dashboard supports clinical governance within trusts and enables clinical colleagues to better understand their patient outcomes within their wider context. Laura Mawer & Marcus Palmer - Datacove, Harrison-Palmer Limited Using Shiny for Python to Power AI-Driven University Application Forecasting Universities face growing uncertainty in student recruitment, making accurate forecasting critical for strategic and financial planning. Athena is an AI-powered prediction tool that leverages Shiny for Python to provide real-time insights into application trends. By combining machine learning (Random Forest models), trend analysis, and interactive scenario planning, Athena enables universities to test recruitment strategies, adjust campaign spending, and instantly see the projected impact on future application numbers. This talk will explore how Shiny for Python was used to develop a fully interactive forecasting tool without requiring extensive front-end development. We will discuss why Shiny for Python was chosen, how it integrates with a machine learning pipeline, and how it powers real-time scenario analysis with dynamic dashboards. Additionally, we’ll demonstrate how AI-generated recommendations via an API enhance decision-making, providing actionable insights tailored to user-selected scenarios. Attendees will gain practical knowledge on building AI-driven, interactive applications using Shiny for Python, implementing predictive models, and designing intuitive decision-support tools for non-technical users. The session will conclude with a live demo, showing Athena in action and sharing best practices for deploying Shiny for Python in production. This talk is designed for developers, data scientists, engineers, and senior decision-makers looking to leverage AI-powered forecasting, business intelligence, and strategic planning in a real-world application. Nic Crane - NC Data Labs htmlwidgets Are a Secret Sauce in R – Can LLMs Make Them the Perfect Condiment? htmlwidgets quietly power some of the most compelling Shiny apps out there, but writing them from scratch can be fiddly and time-consuming. In this talk, we’ll kick things off by taking an audience-sourced ingredient list and asking a large language model to whip up a fresh htmlwidget. Then we’ll plate up a version we prepared earlier - also model-generated - but chopped, seasoned, and finished with our own touches. Along the way, we’ll explore how LLMs can assist in crafting htmlwidgets that reflect your flavour of R - from tidy eval to package structure - rather than sticking to a bland house style. For updates and revisions to this article, see the original post
“`html In the fast-paced world of data science, there’s a reality that often gets overshadowed by the glitz of machine learning algorithms and the buzz around big data. That reality? Data pipelines can and do fail. And let me tell you, I’ve had my fair share of learning experiences (read: failures) in this space. Join […]
“`html Let’s face it: the world of machine learning is both thrilling and overwhelming. If you’ve ever dived into the deep end of deploying machine learning models into production, you know exactly what I mean. With promises of intelligent automation and predictive prowess, who wouldn’t get excited? But sometimes, reality hits harder than a wayward […]
Meet Juliet Juliet just turned 20 and is ready to start her adult life. She’s landed a stable, well-paid job and her new journey begins. This time, life unfolds without Romeo. Think she can’t handle it? You might be surprised. Juliet feels anxious about her future. Each month she have to choose how to balance spending, saving, and investing for what’s ahead. She’s keen to avoid poor decisions. Juliet seeks clear, rational advice tailored to her needs—not the generic advice that’s all over the internet. She aims to make informed, personalized financial choices that align with her present knowledge and future plans. She needs a clear set of recommendations to know how much to save and how to invest 1. Let’s follow Juliet’s example to craft a straightforward financial report for a single-person household. We will be using our new R4GoodPersonalFinances R package that implements (with our modifications) the theoretical model invented and described in Lifetime Financial Advice: A Personalized Optimal Multilevel Approach by Thomas M. Idzorek and Paul D. Kaplan (Idzorek and Kaplan 2024). Juliet’s assumptions and expectations We aim to explore scenarios that an individual might encounter, based on realistic assumptions about market returns and living expenses in a big Polish city. These scenarios reflect a consistent, median-level income. We focus on income and spending estimates for Poland, using Polish złoty (PLN). However, you can adapt these scenarios to any currency or country-specific factors. Codemonthly_income plot_expected_allocation() Codescenarios |> dplyr::filter(scenario_id == "J-65") |> plot_expected_allocation() In both retirement scenarios, the model advises Juliet to invest all her financial capital in stocks. This makes sense because her small financial capital is offset by significant bond-like human capital. As time progresses, the model recommends moving towards bonds in both scenarios. However, in the later retirement scenario, the shift to stocks occurs later than in the earlier one. This is because Juliet plans to work longer, maintaining a larger human capital that she will convert into financial capital over an extended period. Possible extensions There are several ways in which Juliet can decide to extend the lifecycle model and simulations: We’re using two asset types: the risky asset (stocks) and the safe asset (bonds). Our package supports various assets with specific traits, though for most, it’s likely overkill. Leveraging these two asset classes offers a straightforward, effective approach we endorse, aligning with authors such as (Haghani and White 2023) and (Ibbotson et al. 2007). We use default market assumptions and Poland-specific tax rates. To adapt the model for other countries, update or tailor these elements. You can customize those parameters entirely since the portfolio object functions as an editable data frame, with each asset represented by a single row. We’re modeling two income streams for Juliet—her salary and social security benefits—and one non-discretionary spending stream. This setup isn’t set in stone. You can tweak it to reflect various income and spending streams as Juliet’s life events unfold. We’ve predicted two key moments in Juliet’s life: retirement and claiming social security benefits. We could also consider other significant events, such as relocating, marriage, having children, or landing a promotion with a raise. Each of these events might have related changes to Juliet’s income and spending streams. We’ve based Juliet’s life expectancy on the average for women in Poland. However, this can be adjusted to match her personal life expectancy. For instance, if her parents enjoy long lives, she might anticipate a longer lifespan for herself (and tweak the Gompertz parameters). Juliet’s household settings use preset values for preferences like consumption impatience, smooth spending, and risk tolerance. You can adjust these to match Juliet’s preferences—for instance, if she wants to spend more early in life and less later, or vice versa. Juliet plans to claim the minimum social security benefits as early as possible during retirement. It’s worth evaluating if delaying her claim could offer more advantages. The next versions of the package will include custom functions to dynamically calculate income streams based on events like age when you begin claiming social security benefits. When to claim social security pension? We assumed Juliet will only claim the minimum social security benefits at retirement. That may be too pessimistic. Even if the average pension replacement rate for young people like Juliet in Poland might be around 40% (OECD 2023, 53–54), Juliet could still receive roughly 2,000 PLN per month at age 60 in today’s terms. That’s a bit more than the current minimum social security benefits (1,710). Moreover, Juliet’s social security pension will grow if she waits before claiming it. Delaying each year boosts her pension by 8-10% 7. Waiting for 10 years, until age 70, could increase Juliet’s pension to 4,000 PLN or more. Should Juliet delay claiming Social Security? That is a topic for another post. But it’s worth considering in her financial model. Social Security works like an inflation-indexed annuity from the recipient’s perspective (Ibbotson et al. 2007, vii). This makes it crucial insurance against outliving ones savings. Conclusion Juliet thrives solo in a single-person household in a bustling Polish city. She navigates life independently, whether or not Romeo is by her side, or if they haven’t crossed paths, or perhaps they did, but he wasn’t quite right for her. Our simulations suggest this single-person household scenario is realistic for Juliet. Juliet bases her decisions on current assumptions about the future market and a median salary that aligns with inflation. The future is uncertain, which means these assumptions might shift. However, decisions must be made today, rooted in what seems most reasonable right now. When the future looks bleak, Juliet will adapt. She might ramp up her savings, cut unnecessary costs, think about retiring later, or find ways to boost her income—like taking on part-time work or seizing business opportunities. But if the future shines bright, she could decide to enjoy more discretionary spending, retire earlier, or even do both. You can see that with the household lifecycle framework you can quite quickly reach an optimal (or near-optimal) recommendation tailored to your own specific situation at a given moment. In future posts, we’ll explore scenarios where Juliet and Romeo choose to spend their life together. Our simulation will include diverse income sources, multiple necessary expenses, and varied life expectancy assumptions. Eventually, we’ll even factor in children. Tip Enjoyed this post? Share it with others who might find it interesting. Subscribe to our newsletter to stay updated. Thanks for reading! Back to topReferences CFP Board, ed. 2015. Financial Planning Competency Handbook. 2nd ed. Hoboken, NJ: John Wiley & Sons. https://doi.org/10.1002/9781119642473. Haghani, Victor, and James White. 2023. The Missing Billionaires: A Guide to Better Financial Decisions. Hoboken, New Jersey: John Wiley & Sons, Inc. Ibbotson, Roger G., Moshe A. Milevsky, Peng Chen, and Kevin X. Zhu. 2007. “Lifetime Financial Advice: Human Capital, Asset Allocation, and Insurance.” Monograph. Research Foundation of CFA Institute. https://rpc.cfainstitute.org/research/foundation/2007/lifetime-financial-advice-human-capital-asset-allocation-and-insurance. Idzorek, Thomas M., and Paul D. Kaplan. 2024. Lifetime Financial Advice: A Personalized Optimal Multilevel Approach. CFA Institute Research Foundation. Milevsky, Moshe A. 2012. Are You a Stock or a Bond? Identify Your Own Human Capital for a Secure Financial Future. Updated and Revised. FT Press. OECD. 2023. Pensions at a Glance 2023: OECD and G20 Indicators. Paris: OECD Publishing. https://doi.org/10.1787/678055dd-en. Footnotes Juliet’s expectation for clear advice seems to be in line with the Financial Planning Competency Handbook by the CFP Board: Presenting planning alternatives, while useful in showing a client the many paths available to reach a financial goal, can create decision paralysis among some clients. This is the reason that the planner should conclude with a clear set of recommendations that leave the client in no doubt as to what must be done next (CFP Board 2015, 606). Using life-cycle model, we can recommend Juliet not only one of many alternatives of recommendations, but a single set of recommendations that should be optimal for her (or at lest close to optimal).↩︎ The median salary in Poland in 2024 was 6’842 PLN gross per month, and about 4’995 PLN net per month. See: https://stat.gov.pl/obszary-tematyczne/rynek-pracy/pracujacy-zatrudnieni-wynagrodzenia-koszty-pracy/rozklad-wynagrodzen-w-gospodarce-narodowej-w-listopadzie-2024-r-,32,11.html↩︎ The net minimum social security benefits in Poland in 2025 is 1’878.91 PLN per month gross, which is about 1’709.81 PLN net. See: https://www.gov.pl/web/rodzina/waloryzacja-rent-i-emerytur-w-2025-roku–wzrost-swiadczen-dla-milionow-polakow↩︎ The costs of leaving for a single in a big city in Poland in 2025 were estimated at 4’000 PLN per month. This included also discretionary spending like 450 PLN for cinema tickets, eating out, subscriptions. Based on that we assumed that non-discretionary spending is about 3’500 PLN. See: https://www.bankier.pl/smart/ile-kosztuje-zycie-singla-vs-rodziny-w-2025-budzety-ktore-otwieraja-oczy (in Polish)↩︎ Read more about human capital in (Milevsky 2012), (Ibbotson et al. 2007), and (Idzorek and Kaplan 2024).↩︎ Constant discretionary spending—certainty equivalent constant level of spending that would result in the same lifetime utility as a series of (non-constant) future spending in a given scenario.↩︎ See article (in Polish): https://businessinsider.com.pl/praca/emerytury/emerytura-jak-uzyskac-wyzsze-swiadczenie-ike-ppk-odroczenie-emerytury-prezes-zus/cx88knm. The similar situation is in US, where Social Security payments increase 8 percent for every year after full retirement age that a retiree waits to claim benefits. A retiree who des not take early Social Security benefits may enjoy a benefit up to 30 percent grater than one who receives benefits at the earliest possible age. (CFP Board 2015, 437)↩︎ CitationBibTeX citation:@online{wais2025, author = {Wais, Kamil and Wais, Olesia}, title = {Can {Juliet} Manage Without {Romeo?} {How} Much She Should Spend, Save, and Invest to Achieve That?}, date = {2025-07-27}, url = {https://r4good.academy/en/blog/financial-report-individual-minimal-example/index.en.html}, langid = {en} } For attribution, please cite this work as: Wais, Kamil, and Olesia Wais. 2025. “Can Juliet Manage Without Romeo? How Much She Should Spend, Save, and Invest to Achieve That?” July 27, 2025. https://r4good.academy/en/blog/financial-report-individual-minimal-example/index.en.html.